19.01.2013, 00:20
Bueno, en mi servidor, la variable PlayerCuffed[playerid] == 1 es un jugador ESPOSADO, es decir, con las esposas atrбs (objeto) y la animaciуn, las que vinieron en la 0.3e, en fin, entonces, quise hacer con OnPlayerGiveDamage que cuando un esposado golpea a otro, no le saque vida al que recibe el daсo, porque se supone que las manos quedan atrбs.. Hice йsto pero sigue sacando vida.
їSi cambio if(PlayerCuffed[damagedid] == 1) por if(PlayerCuffed[playerid] == 1) funcionarб? es que no sй, no creo que funcione.
pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
static Float:danio, Float:vida, Float:chaleco;
if(damagedid != INVALID_PLAYER_ID)
{
if(PlayerCuffed[damagedid] == 1)
{
switch(weaponid)
{
case 0: danio = 0.0;
case 1: danio = 0.0;
default: danio = amount;
}
}
}
GetPlayerHealth(playerid, vida);
GetPlayerArmour(playerid, chaleco);
if(chaleco)
{
if(chaleco > danio) SetPlayerArmour(playerid, chaleco-danio);
else
{
SetPlayerArmour(playerid, 0.0);
chaleco = danio-chaleco;
if(chaleco >= vida) SetPlayerHealth(playerid, 0.0);
else SetPlayerHealth(playerid, vida-chaleco);
}
}
else
{
if(vida > danio) SetPlayerHealth(playerid, vida-danio);
else SetPlayerHealth(playerid, 0.0);
}
return 1;
}