SA-MP Forums Archive
Whats wrong here - 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: Whats wrong here (/showthread.php?tid=537265)



Whats wrong here - Gogeta101 - 14.09.2014

pawn Код:
CMD:ban(playerid, params[])
{
    if(Player[playerid] [pAdmin] >=1)
    {
        new targetid;
        new sendername[MAX_PLAYERS];
        new recievername[MAX_PLAYERS];
        new reason[50];
        new string[120];
        GetPlayerName(playerid,sendername,sizeof(sendername));
        GetPlayerName(targetid,recievername,sizeof(recievername));
        if(sscanf(params,"uz",targetid,reason)) return SendClientMessage(playerid,COLOR_RED,"[ERROR]/ban [PlayerID] [REASON]");
        format(string,sizeof(string),"Administrator %s has banned %s reason: %s.",sendername,recievername,reason);
        SendClientMessageToAll(COLOR_RED,string);
        SavePlayer(targetid);
        Ban(targetid);
    }
    else
    {
        SendClientMessage(playerid,COLOR_RED,"[SERVER]:You are not allowed to use this command");
    }
    return 1;
}
It says Administrator Gogeta Has Banned Gogeta reason: blablalbla


Re: Whats wrong here - IceBilizard - 14.09.2014

try to change

pawn Код:
"uz"
to

pawn Код:
"us"



Re: Whats wrong here - Gogeta101 - 14.09.2014

Did not work.


Re: Whats wrong here - IceBilizard - 14.09.2014

its wrong
pawn Код:
new sendername[MAX_PLAYERS];
 new recievername[MAX_PLAYERS];

its correct
pawn Код:
new sendername[MAX_PLAYER_NAME];
 new recievername[MAX_PLAYER_NAME];



Re: Whats wrong here - Vince - 14.09.2014

You can't possibly know the name of the 'receiver' before you have established who 'receiver' actually is in the first place. It's simple logic, really.


Re : Whats wrong here - Chipardeur - 14.09.2014

Change:
pawn Код:
"uz"
to
pawn Код:
"us[50]"
EDIT: Try that
pawn Код:
CMD:ban(playerid, params[])
{
    if(Player[playerid] [pAdmin] >=1)
    {
        new targetid, sendername[MAX_PLAYER_NAME], recievername[MAX_PLAYER_NAME], reason[50], string[144];
        if(sscanf(params,"us[50]", targetid, reason)) return SendClientMessage(playerid,COLOR_RED,"[ERROR]/ban [PlayerID] [REASON]");
       
        GetPlayerName(playerid, sendername, sizeof(sendername));
        GetPlayerName(targetid, recievername, sizeof(recievername));
        format(string,sizeof(string),"Administrator %s has banned %s reason: %s.",sendername,recievername,reason);
        SendClientMessageToAll(COLOR_RED,string);
        SavePlayer(targetid);
        Ban(targetid);
    }
    else
    {
        SendClientMessage(playerid,COLOR_RED,"[SERVER]:You are not allowed to use this command");
    }
    return 1;
}



Re: Whats wrong here - Affan - 14.09.2014

Try this code

pawn Код:
CMD:ban(playerid, params[])
{
    if(Player[playerid] [pAdmin] >=1)
    {
        new targetid;
        new sendername[MAX_PLAYERS];
        new recievername[MAX_PLAYERS];
        new reason[50];
        new string[120];
        if(sscanf(params,"us[50]",targetid,reason)) return SendClientMessage(playerid,COLOR_RED,"[ERROR]/ban [PlayerID] [REASON]");
        GetPlayerName(playerid,sendername,sizeof(sendername)); // As Vince said, it should be done after you find out who the target player is.
        GetPlayerName(targetid,recievername,sizeof(recievername));
        format(string,sizeof(string),"Administrator %s has banned %s reason: %s.",sendername,recievername,reason);
        SendClientMessageToAll(COLOR_RED,string);
        SavePlayer(targetid);
        Ban(targetid);
    }
    else
    {
        SendClientMessage(playerid,COLOR_RED,"[SERVER]:You are not allowed to use this command");
    }
    return 1;
}