01.11.2012, 17:21
(
Последний раз редактировалось KeLLi; 01.11.2012 в 17:56.
)
Подскажите в чем проблема этой версии анти-гм, в общем проблема такова: бывают случаи когда стреляешь в игрока у него снимается вся бронь и хп, ну или в два раза больше урона чем положено
public OnPlayerGiveDamage
Есть видос:
http://www.youtube.com/watch?feature...&v=oE1DzTmYq5I
PHP код:
ApplyDamage(issuerid,playerid,Float:Damage, weaponid)
{//Применение или обращение урона к игроку (В зависимости от знака)
new Float:health, Float:armour;
GetPlayerArmour(playerid,armour);
GetPlayerHealth(playerid,health);
if(health <1) return 1;
PlayerArmour[playerid] = armour;
PlayerHealth[playerid] = health;
if(armour>0)
{
if(Damage > armour)
{
PlayerArmour[playerid] = 0;
SetPlayerArmourSafe(playerid, PlayerArmour[playerid]);
}
PlayerArmour[playerid] = PlayerArmour[playerid] - Damage;
SetPlayerArmourSafe(playerid, PlayerArmour[playerid]);
}
else
{
if(PlayerHealth[playerid]<1)
{
PlayerHealth[playerid] = 0;
OnPlayerDeath(playerid, issuerid, weaponid);
// èëè
// CallRemoteFunction("OnPlayerDeath", "iii",damagedid, playerid,weaponid);
}
PlayerHealth[playerid] = PlayerHealth[playerid] - Damage;
SetPlayerHealthSafe(playerid, PlayerHealth[playerid]);
}
}
PHP код:
if(LastNetworkUpdate[damagedid]+2>gettime() && IsPlayerAimingAC(playerid, damagedid))
{// damagedid íå àôê
DemandDamage[damagedid]+=amount;
if(DemandDamage[damagedid]>MAX_DEMAND_DAMAGE)
{
ApplyDamage(playerid,damagedid,DemandDamage[damagedid],weaponid);
}
LastDamagedBy[damagedid]=playerid;
LastDamage[damagedid]=amount;
}
http://www.youtube.com/watch?feature...&v=oE1DzTmYq5I