Просмотр полной версии : [Вопрос] Как сделать правильный спавн через SetSpawnInfo,а не через OnPlayerSpawn+SetPlayerPos
Здравствуйте. Не давно наткнулся на одну темку с спавном и там DeimoS пиcал о том, что OnPlayerSpawn + SetPlayerPos, это неверное решение для спавна игрока в определеных координатах, а нужно их задавать с помощью SetSpawnInfo.
Так вот, как это нужно делать правильно?
Вот так?
SetSpawnInfo(playerid, 0, pInfo[playerid][pSkin], 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
Эмм, если тебе нужно зареспавнить игрока - да. Если ты собрался прописывать такой код в OnPlayerSpawn - нет.
В случае с респавном после смерти, определять координаты для появления нужно либо в самом OnPlayerDeath, либо в любой другой момент до очередного вызова OnPlayerSpawn (например, при каждом вызове OnPlayerSpawn определять координаты для следующего спавна, если геймплейная составляющая мода это позволяет).
Вообще стоит понимать, что SetSpawnInfo заносит в память сервера информацию о том, куда нужно поместить игрока при следующем спавне. Классический спавн с SetPlayerPos в OnPlayerSpawn заставляет, по сути, перемещать игрока в два места: сначала на нулевые координаты (так как мы не указали координаты для спавна через SetSpawnInfo), а уже потом на координаты из SetPlayerPos. Соответственно, чтоб вариант с использованием SetSpawnInfo работал правильно, нужно просто заносить координаты для следующего спавна всякий раз, когда они становятся известны (ну, например, игрок решил изменить место спавна с базы фракции на личный дом - вот тут и нужно занести новые координаты в память. После этого просто нужно обновлять координаты после каждого спавна внутри самого OnPlayerSpawn).
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot