How can i make this command?
#1

Hey,

I am fairly new to scripting and need a hand around strings.

I know about commands like OOC but not with commands for example:
pawn Код:
CMD:makeadvisor(playerid,params[])
{
    new pID;
    new sendername[MAX_PLAYER_NAME], string[36];
    if(PlayerInfo[playerid][pDonatedRank] == 5) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    else if(PlayerInfo[playerid][pHelper] == 4) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    else if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_WHITE,"This Player Is Not Connected");
    else
    {
        PlayerInfo[pID][pHelper] = 1;
        GetPlayerName(playerid,sendername, sizeof(sendername));
        format(string, sizeof(string),"You Have Been Set Helper By:%s",sendername);
        SendClientMessage(playerid,COLOR_WHITE,"You Have Set pID A Helper");
    }
    return 1;
}
I need to find a way for pID, Thanks in advance
Reply
#2

Do you have sscanf ?
Reply
#3

Yes, I have never really learnt to use it tho.
Reply
#4

Learn here:

https://sampwiki.blast.hk/wiki/Fast_Commands#sscanf

Here is the finished/completed command (untested, should work):

pawn Код:
CMD:makeadvisor(playerid,params[])
{
    new pID;
   
    new sendername[24], receivername[24], string[36];
   
    GetPlayerName(playerid,sendername,24);
    GetPlayerName(pID, receivername, 24);
   
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"USAGE: /makeadvisor [playerid]");
   
    if(PlayerInfo[playerid][pDonatedRank] == 5) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    if(PlayerInfo[playerid][pHelper] == 4) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_WHITE,"This Player Is Not Connected");

    PlayerInfo[pID][pHelper] = 1;
   
   
    format(string,36,"You Have Been Set To Helper Status By %s (%d).",sendername, playerid);
    SendClientMessage(pID,COLOR_WHITE,string); // send the string message above to the receiver
   
    format(string,36,"You Have Set  %s (%d) To Helper Status.",receivername, pID);
    SendClientMessage(playerid,COLOR_WHITE,string); // send the string message above to the admin
   
    return 1;
}
Reply
#5

Quote:
Originally Posted by grand.Theft.Otto
Посмотреть сообщение
Learn here:

https://sampwiki.blast.hk/wiki/Fast_Commands#sscanf

Here is the finished/completed command (untested, should work):
Do you know what you're doing? How can you get the players name before parsing the pID through sscanf?
Reply
#6

Just a mistake ...

pawn Код:
CMD:makeadvisor(playerid,params[])
{
    new pID;

    new sendername[24], receivername[24], string[36];

    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"USAGE: /makeadvisor [playerid]");

    GetPlayerName(playerid,sendername,24);
    GetPlayerName(pID, receivername, 24);
   
    if(PlayerInfo[playerid][pDonatedRank] == 5) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    if(PlayerInfo[playerid][pHelper] == 4) return SendClientMessage(playerid,COLOR_WHITE,"You Cannot Use This Command");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_WHITE,"This Player Is Not Connected");

    PlayerInfo[pID][pHelper] = 1;


    format(string,36,"You Have Been Set To Helper Status By %s (%d).",sendername, playerid);
    SendClientMessage(pID,COLOR_WHITE,string); // send the string message above to the receiver

    format(string,36,"You Have Set  %s (%d) To Helper Status.",receivername, pID);
    SendClientMessage(playerid,COLOR_WHITE,string); // send the string message above to the admin

    return 1;
}
Reply
#7

Quote:
Originally Posted by grand.Theft.Otto
Посмотреть сообщение
Just a mistake ...

pawn Код:
code
You need more cells in the string variable, as "You Have Been Set To Helper Status By " is 38 characters already. Therefore the output will not be formatted properly. I suggest you make it at least 70 cells.
Reply
#8

Guys my server is complete thanks for the help
Reply
#9

128 is the recommended cell/character amount.

You can change 36 to 128.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)