SA-MP Forums Archive
god,headshot - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: god,headshot (/showthread.php?tid=632249)



god,headshot - crukk11 - 11.04.2017

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


Re: god,headshot - AndreiWow - 11.04.2017

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



Re: god,headshot - crukk11 - 11.04.2017

to give player to be godemode


Re: god,headshot - AndreiWow - 11.04.2017

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"


Re: god,headshot - crukk11 - 11.04.2017

how i to make command work without to get headshot


Re: god,headshot - AndreiWow - 11.04.2017

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


Re: god,headshot - crukk11 - 11.04.2017

where the code or the the onplayertakedamage


Re: god,headshot - AndreiWow - 11.04.2017

Do you have a command to make someone admin?


Re: god,headshot - crukk11 - 11.04.2017

no. should i remove padmin


Re: god,headshot - AndreiWow - 11.04.2017

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.