pawn Код:
new bool: InGodMode[MAX_PLAYERS] = false; // Can only equal 1 or 0 so use bool(True and false)
new bool: AdminDuty[MAX_PLAYERS] = false; // Can only equal 1 or 0 so use bool(True and false)
new bool: JustSpawned[MAX_PLAYERS]= false; // Can only equal 1 or 0 so use bool(True and false)
new Blood[MAX_PLAYERS];
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID)
{
new// No reason to define X,Y,Z twice for two seperate uses.
Float:Z,
Float:Y,
Float:Z;
if(GetPlayerTeam(issuerid) == GetPlayerTeam(playerid)) return GameTextForPlayer(issuerid, "~r~Team Killing ~y~ Not Allowed", 3000, 3); // Return values!
else if(JustSpawned[playerid] == false)
{
if(InGodMode[playerid] == false && AdminDuty[playerid] == false)
{
if(bodypart == 9)
{
switch(weaponid) // Switch statements are faster then if statements.
{
case 23, 33, 34:
{
GetPlayerPos(playerid, X, Y, Z);
Blood[playerid] = CreateDynamicObject(18668, X, Y, Z-0.5, 0.0, 0.0, 0.0);
SetTimerEx("obblood", 5000, false, "fff", X, Y, Z);
SetPlayerHealth(playerid, 0.0);
SetPVarInt(playerid, "Headshot", 1); // Headshotted isn't a word.
GameTextForPlayer(playerid, "~r~Headshot", 3000, 3); // Headshotted isn't a word.
}
}
}
else return PlayerPlaySound(issuerid, 17802, 0.0, 0.0, 0.0); // Return values!
}
}
else
{
GetPlayerPos(issuerid, X, Y, Z);
SetPlayerPos(issuerid, X, Y, Z+ 6.0);
GameTextForPlayer(issuerid, "Don't Spawn Kill!", 4000, 4);
}
}
return 1;
}