04.01.2016, 00:13
(
Последний раз редактировалось Lуs; 04.01.2016 в 09:44.
)
Bom eu tenho um servidor de DeathMatch porem uma coisa muito importante no servidor esta bugado o dano, tipo voce acerta um fast (c-bug voce da varios tiros de eagle rapido na pessoa) e tipo vc acerta 7 tiros de eagle na pessoa so conta 3 tiros na vida/colete da pessoa, olha esse video !
https://www.youtube.com/watch?v=xPiKPOH8n-k
intao й esse o bug vou postar abaixo os codigos:
OnPlayerTakeDamage
OnPlayerGiveDamage
Me ajudem por favor !
https://www.youtube.com/watch?v=xPiKPOH8n-k
intao й esse o bug vou postar abaixo os codigos:
OnPlayerTakeDamage
Код:
public OnPlayerTakeDamage(playerid,issuerid,Float:amount,weaponid)
{
if(Lagduel[playerid] == false) return 1;
if(weaponid == 24) amount = 32;
if(weaponid == 25) amount = 12;
SetPlayerScore(issuerid,GetPlayerScore(issuerid) + floatround(amount) / 10);
PlayerPlaySound(playerid,6401,0,0,0);
new Float:life;
GetPlayerHealth(playerid,life);
if((life - amount) <= 0)
{
Morto[playerid] = true;
SendDeathMessage(issuerid,playerid,weaponid);
DeadPlayer(playerid,issuerid,weaponid);
}
return 1;
}
Код:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
if(Aj[playerid] == false && GetPlayerSpecialAction(playerid) == 2) return SetPlayerHealth(playerid,0);
switch(weaponid)
{
case 24: amount = 32;
case 9: amount = 10;
case 38: amount = 0;
}
if(Morto[damagedid] == true) return 1;
if(Lagduel[damagedid] == true) return 1;
PlayerPlaySound(damagedid,6401,0,0,0);
new Float:Life, Float:Coleete, Float:Dano;
GetPlayerArmour(damagedid,Coleete);
GetPlayerHealth(damagedid,Life);
if(Coleete > 0)
{
if(amount > Coleete)
{
Dano = amount - Coleete;
Life = Life - Dano;
SetPlayerArmour(damagedid, 0.0);
SetPlayerHealth(damagedid, Life);
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
return 1;
}
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
Coleete = Coleete - amount;
SetPlayerArmour(damagedid, Coleete);
}
if(Coleete < 1)
{
Life = Life - amount;
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
SetPlayerHealth(damagedid, Life);
if(Life <= 0)
{
Morto[damagedid] = true;
SendDeathMessage(playerid,damagedid,weaponid);
DeadPlayer(damagedid,playerid,weaponid);
}
}
return 1;
}

