Abort this if unavailable player
#1

How could I abort this message if the player /kill or suicide?
pawn Код:
new Float:armour;
    new Float:health;
    new s[60];
    new
       gun    [ 32 ],
       name   [ MAX_PLAYER_NAME ],
       killer [ MAX_PLAYER_NAME ],
       string [ 65 + ( MAX_PLAYER_NAME * 2 ) ]
   ;

    GetPlayerName            ( playerid, name, MAX_PLAYER_NAME );
    GetPlayerName            ( killerid, killer, MAX_PLAYER_NAME );
    GetPlayerHealth          ( killerid, health);
    GetPlayerArmour          ( killerid, armour);
    GetWeaponName            ( reason, gun, 32 );
    format( string, sizeof ( string ), "* %s has killed %s with a %s. (HP: %0.f) (Arm: %0.f) (Distance: %0.fm)", killer, name, gun, health, armour, GetDistanceBetweenPlayers ( playerid, killerid ));
    SendClientMessageToAll   ( COLOR_YELLOW, string );
    return 1;
}

forward Float:GetDistanceBetweenPlayers(p1,p2);
public Float:GetDistanceBetweenPlayers(p1,p2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
        return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }
Reply
#2

pawn Код:
if( IsPlayerConnected( killerid ) ) {
    //Do the stuff here that should be executed when the killerid is valid.
}

else {
    //Here the stuff when the player killed himself
}
Or...

pawn Код:
if( killerid == INVALID_PLAYER_ID ) {
    //Do the stuff here that should be executed when the killerid is valid.
}

else {
    //Here the stuff when the player killed himself
}
Reply
#3

pawn Код:
new Float:armour;
    new Float:health;
    new s[60];
    new
       gun    [ 32 ],
       name   [ MAX_PLAYER_NAME ],
       killer [ MAX_PLAYER_NAME ],
       string [ 65 + ( MAX_PLAYER_NAME * 2 ) ]
   ;

    GetPlayerName            ( playerid, name, MAX_PLAYER_NAME );
    GetPlayerName            ( killerid, killer, MAX_PLAYER_NAME );
    GetPlayerHealth          ( killerid, health);
    GetPlayerArmour          ( killerid, armour);
    GetWeaponName            ( reason, gun, 32 );
             if( IsPlayerConnected( killerid ) ) {
    format( string, sizeof ( string ), "* %s has killed %s with a %s. (HP: %0.f) (Arm: %0.f) (Distance: %0.fm)", killer, name, gun, health, armour, GetDistanceBetweenPlayers ( playerid, killerid ));
    SendClientMessageToAll   ( COLOR_YELLOW, string );
}
else {
SendClientMessage(playerid, COLOR_GREEN, "You've killed yourself!");
}
    return 1;
}

forward Float:GetDistanceBetweenPlayers(p1,p2);
public Float:GetDistanceBetweenPlayers(p1,p2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
        return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }
Like this?
EDIT:Or could you make it for me?
Reply
#4

That looks cleaner imo.

http://pastebin.com/sNMvzHDV
Reply
#5

That works!!! Thanks, could you help me with this?
pawn Код:
http://forum.sa-mp.com/showthread.php?p=1007428#post1007428
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)