Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Respawn

Van_Chester

Ученик
Приветствую,

Может кто то из Вас знает что в собейте есть функция респауна (SHIFT + 7) который немедленно отправляет Вас на место спавна. Суть данного чита прост, при ее выполнении вызывается каллбэк OnPlayerSpawn. Так что пихаем в OnPlayerDeath PVar'ку который скажет нам что игрок умер и может респавнится.

PHP:
public OnPlayerDeath(playerid, killerid, reason)
{
	SetPVarInt(playerid,"AntiRespawn",1);
	return 1;
}
И в OnPlayerSpawn проверяем от чего вызывалось данный паблик, если игрок умер и вызывалось OnPlayerSpawn то удаляем или обнуляем наш PVar, в противном случае кикаем игрока.

PHP:
public OnPlayerSpawn(playerid)
{
	if(GetPVarInt(playerid,"AntiRespawn") != 1) return Kick(playerid); // или другая операция
	DeletePVar(playerid, "AntiRespawn");
	return 1;
}
В паблик OnPlayerRequestSpawn добавляем наш PVar, это поможет нам избежать от ложных срабатывании когда игрок попытается спавнится через выбора класса.
PHP:
public OnPlayerRequestSpawn(playerid)
{
    SetPVarInt(playerid,"AntiRespawn",1);
	return 1;
}
И наконец то, создаем stock RespawnPlayer чтобы не было ложных киков при использовании SpawnPlayer(playerid);

PHP:
stock RespawnPlayer(playerid)
{
    SetPVarInt(playerid,"AntiRespawn",1);
	return SpawnPlayer(playerid);
}
И заменяем все что связано с SpawnPlayer(playerid); на RespawnPlayer(playerid); (можно использовать CTRL + H)

EDIT: Когда выходишь из наблюдения (TogglePlayerSpectating) автоматический вызывается OnPlayerSpawn. Так что необходимо заменить стандартный TogglePlayerSpectating.

PHP:
stock ToggleSpectate(playerid, toggle)
{
	if(!toggle) SetPVarInt(playerid,"AntiRespawn",1);
	return TogglePlayerSpectating(playerid, toggle);
}
Как обычно, заменяем все TogglePlayerSpectating на ToggleSpectate.
 
Последнее редактирование:
Сверху Снизу