10.06.2012, 22:17
pawn Код:
enum E_DATA
{
gID,
Float:gHP
};
new TakeHP[18][E_DATA] = {
{WEAPON_NITESTICK,11.0},
{WEAPON_KNIFE,30.0},
{WEAPON_BAT,11.0},
{WEAPON_POOLSTICK,10.0},
{WEAPON_KATANA,10.0},
{WEAPON_COLT45,20.0},
{WEAPON_SILENCED,20.0},
{WEAPON_DEAGLE,70.0},
{WEAPON_SHOTGUN,60.0},
{WEAPON_SAWEDOFF,48.0},
{WEAPON_SHOTGSPA,100.0},
{WEAPON_UZI,30.0},
{WEAPON_MP5,35.0},
{WEAPON_AK47,42.0},
{WEAPON_M4,48.0},
{WEAPON_TEC9,32.0},
{WEAPON_RIFLE,40.0},
{WEAPON_SNIPER,100.0}
};
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
if(issuerid != INVALID_PLAYER_ID)
{
new Float:health[2];
GetPlayerHealth(playerid, health[0]);
GetPlayerArmour(playerid, health[1]);
for(new d; d < sizeof(TakeHP); d++)
if(weaponid == TakeHP[d][gID])
{
if(health[1] >= TakeHP[d][gHP]) SetPlayerArmour(playerid,health[1]-TakeHP[d][gHP]);
else{
if(health[1] >= 1.0)
{
new Float:HP = (TakeHP[d][gHP] - health[1]);
SetPlayerArmour(playerid,0.0);
SetPlayerHealth(playerid,health[0]-HP);
}else{
SetPlayerHealth(playerid,health[0]-TakeHP[d][gHP]);
}
}
break;
}
}
return 1;
}