-
Подскажите
Как в антиГм сделать проверку, если игрок заморожен, то чтобы паблик не срабатывал?
пробовал так, но при выстреле стрелявший замораживается.
PHP код:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
if(TogglePlayerControllable(playerid,0))
{
new Float: vida, Float: armadura, Float: dmg;
GetPlayerArmour(damagedid, armadura);
GetPlayerHealth(damagedid, vida);
if(armadura > 0)
{
if(amount > armadura)
{
dmg = amount - armadura;
vida = vida - dmg;
SetPlayerArmour(damagedid, 0.0);
SetPlayerHealth(damagedid, vida);
return 1;
}
armadura = armadura - amount;
SetPlayerArmour(damagedid, armadura);
}
if(armadura < 1)
{
vida = vida - amount;
SetPlayerHealth(damagedid, vida);
}
}
return true;
}
-
-
Вы когда замораживаете игрока устанавливайте значение переменной игрока, либо массиву, например:
PHP код:
SetPVarInt(targetid, "pFreezed", !GetPVarInt(targetid, "pFreezed"));
Где targetid - ID игрока указываемого в команде, возможно даже у Вас это giveplayerid, или даже params[0] (обычно первый параметр (ID игрока) в другом командном процессоре указывается как первый аргумент).
А далее всё просто:
PHP код:
if(GetPVarInt(damagedid, "pFreezed") == 1)
return 1;
А при разморозке:
PHP код:
DeletePVar(targetid, "pFreezed");