SetSpawnInfo — различия между версиями
Материал из Pro-Pawn Wiki
DeimoS (обсуждение | вклад) |
DeimoS (обсуждение | вклад) |
||
Строка 17: | Строка 17: | ||
{{Param | {{Param | ||
| Float:x, Float:x, Float:z | | Float:x, Float:x, Float:z | ||
− | | Координаты места появления игрока | + | | Координаты места появления игрока при следующем спавне. |
}} | }} | ||
{{Param | {{Param |
Версия 20:23, 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, 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, которые бы изменяли записанную позицию
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, "Позиция для спавна сохранена");
}
См. также: