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
(игрок не подключен).
Примечание |
При спавне сначала обрабатывается информация, которая была указана в 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, "Позиция для спавна сохранена");
}
// и 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, "Позиция для спавна сохранена");
}
См. также: