
PlayerInfo[playerid][Health] -= amount;
|
floatround converts the value to an integer.
as the amount variable is a float you can do this: pawn Код:
|
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
floatsub(PlayerInfo[playerid][Health], amount);
if(weaponid == 4) floatsub(PlayerInfo[playerid][Health], 30);
if(weaponid == 22) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 25); } else { floatsub(PlayerInfo[playerid][Health], 25); }}
if(weaponid == 24) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 50); } else { floatsub(PlayerInfo[playerid][Health], 50); }}
if(weaponid == 30) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 30); } else { floatsub(PlayerInfo[playerid][Health], 30); }}
if(weaponid == 31) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 45); } else { floatsub(PlayerInfo[playerid][Health], 45); }}
if(weaponid == 34) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 100); } else { floatsub(PlayerInfo[playerid][Health], 70); }}
if(weaponid == 29) { if(PlayerInfo[playerid][Armour] > 1) { floatround(PlayerInfo[playerid][Armour] -= 100); } else { floatsub(PlayerInfo[playerid][Health], 70); }}
if(weaponid == 25) floatsub(PlayerInfo[playerid][Health], 40);
if(issuerid != INVALID_PLAYER_ID)
{
if(weaponid == 0 || weaponid == 1 || weaponid == 2 || weaponid == 3 || weaponid == 4 || weaponid == 5 ||
weaponid == 6 || weaponid == 7 || weaponid == 8 || weaponid == 15)
{
sInfo[playerid][Misc] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9)
{
PlayerInfo[playerid][Health] = 0.0;
SetPlayerHealth(playerid, PlayerInfo[playerid][Health]);
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 3)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][Chest] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 4)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][Crotch] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 5)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][LArm] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 6)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][RArm] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 7)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][LLeg] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 8)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
sInfo[playerid][RLeg] += 1;
}
}
if(issuerid != INVALID_PLAYER_ID && bodypart == 9)
{
if(weaponid == 22 || weaponid == 23 || weaponid == 24 || weaponid == 25 || weaponid == 26 || weaponid == 27 ||
weaponid == 28 || weaponid == 29 || weaponid == 30 || weaponid == 31 || weaponid == 32 || weaponid == 33 || weaponid == 34)
{
PlayerInfo[playerid][Health] -= 70;
sInfo[playerid][Head] += 1;
}
}
return 1;
}
|
Debug the health value before and after changing it, you're probably doing something wrong in there.
|