SetSpawnInfo — различия между версиями
Материал из Pro-Pawn Wiki
DeimoS (обсуждение | вклад) (Новая страница: «{{Description | Устанавливает данные для следующего спавна игрока. }} {{Params|playerid, team, skin, Float:x, Float:y,…») |
DeimoS (обсуждение | вклад) |
||
Строка 60: | Строка 60: | ||
}} | }} | ||
{{NoteInfo | {{NoteInfo | ||
− | | При спавне сначала обрабатывается информация, которая была передана в SetSpawnInfo <code>(ID скина/координаты и т.п.) | + | | При спавне сначала обрабатывается информация, которая была передана в <code>SetSpawnInfo</code> (ID скина/координаты и т.п.), и лишь потом вызывается [[OnPlayerSpawn]]. Учитывайте это, прописывая в <code>OnPlayerSpawn</code> функции, изменяющие данные, присутствующие в <code>SetSpawnInfo</code>. |
− | | Если сначала | + | | Если сначала вызвать <code>SetSpawnInfo</code>, а затем изменить скин игрока через <code>SetPlayerSkin</code> на отличный от указанного в <code>SetSpawnInfo</code>, то при следующем спавне игроку будет выдан скин, указанный в <code>SetSpawnInfo</code>, а не тот, который был указан позже в <code>SetPlayerSkin</code>. |
}} | }} | ||
{{Example}} | {{Example}} |
Версия 20:17, 7 декабря 2018
Описание:
Устанавливает данные для следующего спавна игрока.
Параметры:
(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo) |
playerid | ID игрока, ник которого требуется изменить. |
team | ID команды (0-254; 255 - Без команды) .
|
skinid | ID скина (0-73, 75-311) .
|
Float:x | X-координата, на которой появится игрок после спавна. |
Float:y | Y-координата, на которой появится игрок после спавна. |
Float:z | 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, которые бы изменяли записанную позицию
CMD:spawnpos(playerid)
{
// Создадим переменные и запишем в них текущую позицию игрока
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
// Создадим переменную и запишем текущий поворот персонажа игрока
new Float:ang;
GetPlayerFacingAngle(playerid, ang);
// Передадим записанные данные в SetSpawnInfo
// Указав в качестве ID команды и ID скина текущие значения,
// узнав их через соответствующие функции
SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), x, y, z, ang, 0, 0, 0, 0, 0, 0);
return SendClientMessage(playerid, -1, "Позиция для спавна сохранена");
}
CMD:spawnpos(playerid)
{
// Создадим переменные и запишем в них текущую позицию игрока
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
// Создадим переменную и запишем текущий поворот персонажа игрока
new Float:ang;
GetPlayerFacingAngle(playerid, ang);
// Передадим записанные данные в SetSpawnInfo
// Указав в качестве ID команды и ID скина текущие значения,
// узнав их через соответствующие функции
SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), x, y, z, ang, 0, 0, 0, 0, 0, 0);
return SendClientMessage(playerid, -1, "Позиция для спавна сохранена");
}
См. также: