Van_Chester
Ученик
Приветствую,
Может кто то из Вас знает что в собейте есть функция респауна (SHIFT + 7) который немедленно отправляет Вас на место спавна. Суть данного чита прост, при ее выполнении вызывается каллбэк OnPlayerSpawn. Так что пихаем в OnPlayerDeath PVar'ку который скажет нам что игрок умер и может респавнится.
И в OnPlayerSpawn проверяем от чего вызывалось данный паблик, если игрок умер и вызывалось OnPlayerSpawn то удаляем или обнуляем наш PVar, в противном случае кикаем игрока.
В паблик OnPlayerRequestSpawn добавляем наш PVar, это поможет нам избежать от ложных срабатывании когда игрок попытается спавнится через выбора класса.
И наконец то, создаем stock RespawnPlayer чтобы не было ложных киков при использовании SpawnPlayer(playerid);
И заменяем все что связано с SpawnPlayer(playerid); на RespawnPlayer(playerid); (можно использовать CTRL + H)
EDIT: Когда выходишь из наблюдения (TogglePlayerSpectating) автоматический вызывается OnPlayerSpawn. Так что необходимо заменить стандартный TogglePlayerSpectating.
Как обычно, заменяем все TogglePlayerSpectating на ToggleSpectate.
Может кто то из Вас знает что в собейте есть функция респауна (SHIFT + 7) который немедленно отправляет Вас на место спавна. Суть данного чита прост, при ее выполнении вызывается каллбэк OnPlayerSpawn. Так что пихаем в OnPlayerDeath PVar'ку который скажет нам что игрок умер и может респавнится.
PHP:
public OnPlayerDeath(playerid, killerid, reason)
{
SetPVarInt(playerid,"AntiRespawn",1);
return 1;
}
PHP:
public OnPlayerSpawn(playerid)
{
if(GetPVarInt(playerid,"AntiRespawn") != 1) return Kick(playerid); // или другая операция
DeletePVar(playerid, "AntiRespawn");
return 1;
}
PHP:
public OnPlayerRequestSpawn(playerid)
{
SetPVarInt(playerid,"AntiRespawn",1);
return 1;
}
PHP:
stock RespawnPlayer(playerid)
{
SetPVarInt(playerid,"AntiRespawn",1);
return SpawnPlayer(playerid);
}
EDIT: Когда выходишь из наблюдения (TogglePlayerSpectating) автоматический вызывается OnPlayerSpawn. Так что необходимо заменить стандартный TogglePlayerSpectating.
PHP:
stock ToggleSpectate(playerid, toggle)
{
if(!toggle) SetPVarInt(playerid,"AntiRespawn",1);
return TogglePlayerSpectating(playerid, toggle);
}
Последнее редактирование:
