SetSpawnInfo

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Устанавливает данные для следующего спавна игрока.

Параметры:

(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
playerid ID игрока.
team ID команды, к которой будет относиться игрок.
skinid ID скина (0-73, 75-311).
Float:x, Float:x, Float:z Координаты места появления игрока при следующем спавне.
Float:rotation Угол поворота персонажа игрока, который будет задан при спавне.
weapon1 ID первого оружия, которое будет выдано игроку при спавне.
weapon1_ammo Количество боеприпасов для первого оружия.
weapon2 ID второго оружия, которое будет выдано игроку при спавне.
weapon2_ammo Количество боеприпасов для второго оружия.
weapon3 ID третьего оружия, которое будет выдано игроку при спавне.
weapon3_ammo Количество боеприпасов для третьего оружия.



Возвращаемое значение:

1 в случае успешного выполнения, иначе 0 (игрок не подключен).

Info rhombus.png
Примечание
При спавне сначала обрабатывается информация, которая была указана в SetSpawnInfo() (ID скина/координаты и т.п.), и лишь потом вызывается OnPlayerSpawn(). Имейте это в виду, когда будете использовать в OnPlayerSpawn() функции, которые перезаписывают данные, указанные в SetSpawnInfo().
Если сначала вызвать SetSpawnInfo(), а затем изменить скин игрока через SetPlayerSkin() на отличный от указанного в SetSpawnInfo(), то при следующем спавне игроку будет выдан скин, указанный в SetSpawnInfo(), а не тот, который был указан позже в SetPlayerSkin().


Пример использования:

// Команда будет работать только в том случае, если в OnPlayerSpawn() нет вызовов SetPlayerPos()
// и SetPlayerFacingAngle(), изменяющих указанные через SetSpawnInfo() координаты/угол поворота.
CMD:spawnpos(playerid)
{
    // Создадим переменные и запишем в них текущую позицию игрока + угол поворота персонажа.
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);

    // Передадим записанные данные в SetSpawnInfo. В качестве ID команды и ID скина укажем
    // текущие значения, узнав их через соответствующие функции.
    SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), x, y, z, a, 0, 0, 0, 0, 0, 0);
    return SendClientMessage(playerid, -1, "Позиция для спавна сохранена");
}


См. также: