god,headshot
#1

i have problem with my command god for admin, when the player shot to head admin and admin die

this my command god


PHP код:
CMD:god(playeridparams[])  
{  
    
//new str3[128];  
    
new str1[128], str2[128], admin[MAX_PLAYER_NAME], p[MAX_PLAYER_NAME], idFloathealth1Float:health2;  
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid0xFF0000AA"You must be Admin to use this command");  
    
GetPlayerHealth(playeridhealth1);  
      
     
    if(
sscanf(params"d"id))  
    {                           
        if (
health1==0.0)  
        {  
        
SetPlayerHealth(playerid100.0);  
        return 
SendClientMessage(playerid,0x00FF00AA"Back to mortality.");  
        }  
        if (
health1>0.0)  
        {  
        
SetPlayerHealth(playeridFLOAT_INFINITY);  
        return 
SendClientMessage(playerid0x00FF00AA"You are god now!");  
        }  
    }  
    if(
IsPlayerConnected(id))  
    {  
        
GetPlayerName(playeridadminMAX_PLAYER_NAME);  
        
GetPlayerName(idpMAX_PLAYER_NAME);  
        
GetPlayerHealth(idhealth2);  
        if (
health2>0.0)  
        {  
            
SetPlayerHealth(idFLOAT_INFINITY);  
            
format(str2sizeof(str2), "You have successfully turned %s into god."p);  
            
SendClientMessage(playerid0x00FF00AAstr2);  
            
format(str1sizeof(str1), "Admin %s has turned you into god!"admin);  
            
SendClientMessage(id0x00FF00AAstr1);  
        }  
        if (
health2==0)  
        {  
            
SetPlayerHealth(id100.0);  
            
format(str2sizeof(str2), "You have turned god %s into human."p);  
            
SendClientMessage(playerid0x00FF00AAstr2);  
            return 
SendClientMessage(id0x00FF00AA"Back to mortality.");  
        }  
    }  
    else 
SendClientMessage(playerid0xFF0000AA"ERROR: Player is not connected.");  
    return 
1;  

and this the code headshot

PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart

    if(
issuerid != INVALID_PLAYER_ID && bodypart == 9
    { 
     if(
IsPlayerConnected(issuerid)) 
     { 
      if(
bodypart == && PlayerInfo[playerid][pAdmin] < || !IsPlayerAdmin(playerid)) 
          { 
             
SetPlayerHealth(playerid0.0); 
             new 
string[100], pname[24]; 
             
GetPlayerName(playeridheadshotsizeof(headshot)); 
             
GetPlayerName(issueridpnamesizeof(pname)); 
             
format(stringsizeof(string), "%s(%i) was shoot to the Head by %s(%i)"headshot,playeridpnameissuerid); 
             
GivePlayerMoney(issuerid100); 
             
SendClientMessageToAll(0x800000AA,string); 
             
GameTextForPlayer(issuerid,"~r~HeadShot",2000,1); 
             
PlayerPlaySound(issuerid178020.00.00.0); 
             
GameTextForPlayer(playerid,"~r~HeadShot",2000,1); 
             
ApplyAnimation(playerid"PED""ko2"4.1111111); // applying the dead guy animation tho you can one your own. 
             
PlayerPlaySound(playerid178020.00.00.0); 
          } 
     } 
    } 
  return 
1

help
Reply
#2

Why do you use this
PHP код:
if(sscanf(params"d"id))   
    {                            
        if (
health1==0.0)   
        {   
        
SetPlayerHealth(playerid100.0);   
        return 
SendClientMessage(playerid,0x00FF00AA"Back to mortality.");   
        }   
        if (
health1>0.0)   
        {   
        
SetPlayerHealth(playeridFLOAT_INFINITY);   
        return 
SendClientMessage(playerid0x00FF00AA"You are god now!");   
        }   
    } 
if you have this

PHP код:
if(IsPlayerConnected(id))   
    {   
        
GetPlayerName(playeridadminMAX_PLAYER_NAME);   
        
GetPlayerName(idpMAX_PLAYER_NAME);   
        
GetPlayerHealth(idhealth2);   
        if (
health2>0.0)   
        {   
            
SetPlayerHealth(idFLOAT_INFINITY);   
            
format(str2sizeof(str2), "You have successfully turned %s into god."p);   
            
SendClientMessage(playerid0x00FF00AAstr2);   
            
format(str1sizeof(str1), "Admin %s has turned you into god!"admin);   
            
SendClientMessage(id0x00FF00AAstr1);   
        }   
        if (
health2==0)   
        {   
            
SetPlayerHealth(id100.0);   
            
format(str2sizeof(str2), "You have turned god %s into human."p);   
            
SendClientMessage(playerid0x00FF00AAstr2);   
            return 
SendClientMessage(id0x00FF00AA"Back to mortality.");   
        }   
    }   
    else 
SendClientMessage(playerid0xFF0000AA"ERROR: Player is not connected.");   
    return 
1
Reply
#3

to give player to be godemode
Reply
#4

I see that you are checking if the player is a RCON admin, but you are not checking if the player "pAdmin" variable is 1 or higher when using /god command.

As I see from the onplayertakedamage code, it should only work if the pAdmin variable of the player is smaller than 1, so maybe who got headshotted did not have this variable on.

Also you used
|| !IsPlayerAdmin

which means "If player is not admin rcon then he can get a headshot"
Reply
#5

how i to make command work without to get headshot
Reply
#6

Your admins should have "pAdmin" equal or higher than 1...
Reply
#7

where the code or the the onplayertakedamage
Reply
#8

Do you have a command to make someone admin?
Reply
#9

no. should i remove padmin
Reply
#10

Instead of
PHP код:
if(bodypart == && PlayerInfo[playerid][pAdmin] < || !IsPlayerAdmin(playerid)) 
try

PHP код:
if(bodypart == && !IsPlayerAdmin(playerid)) 
The one who will be logged as rcon admin won't receive headshots.


You can also make a variable for example.
new isGodMode[MAX_PLAYERS];

and set it to 1 when player is in god mode and back to 0 when player leaves god mode.

And then you can check if the player is in god mode instead of checking if he is logged as rcon admin.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)