[Tutorial] How to make a easy /setvip command (zcmd & sscanf)
#1

How to make a easy /setvip command (zcmd & sscanf)
Well hello everyone, i will teach you how to make /setvip and well this is like almost same as my other tutorial how to make a easy /setadmin command (zcmd & sscanf) but in this tutorial i will try to explain the best i can.

What is this?
Well this is a command that is called /setvip, you can decide what commands you can add for vips in this server and you can also set other people vip by using /setvip [playerid / partofname] [level]. You will need this required things to do this.

Zcmd - By Zeex
Sscanf - By ******

The reason i picked to use Zcmd and Sscanf because they are more easier to use if your coding commands like /ban [playerid / partofname], /sethealth [playerid / partofname] or many more.

How to make this
Well first you will need to log in your rcon in order to make this work (so players cannot set their self vip and do stupid stuff)

Under your includes add
pawn Код:
enum pData
{
    vip
};
new PlayerData[MAX_PLAYERS][pData];
- The reason you will need this is because you won't get error like Undefined PlayerData.

Under that add
pawn Код:
new vlevel,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
- The reason you will also need this is,
vlevel: so you can set the other player levels
Nam[MAX_PLAYER_NAME]: So it will define the playerid Nam
pname[MAX_PLAYER_NAME]: This will define the ID name
str[128]: A String that will send to you and the other person
ID: The other person your using /setvip on

Now lets get to the command, i will explain what it means with // so you guys can read

pawn Код:
CMD:setvip(playerid, params[])
    {
        if(!IsPlayerAdmin(playerid)) return 0;//This will make the command work for rcon, if your not rcon it will do SERVER: Unknown Command
        if(sscanf(params,"ui",ID,vlevel)) return SendClientMessage(playerid,0xFF9900AA, "USAGE: /setvip [playerid / partofname] [Level 1-3]");//If you do not use the format /setvip properly it will show how to
        if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000FF, "That user is not connected.");//if its an unknown ID, it will show that person is not connected
        if(vlevel > 3) return SendClientMessage(playerid,0xFF0000FF,"AVAILABLE VIP LEVELS 1-3!"); //If you add a number over 3 for /setvip, ex: /setvip Tanush 1000, it will show that message
        if(vlevel == 0)//if you select vip level 0
        {
            if(PlayerData[ID][vip] == 0) return SendClientMessage(playerid,0xFF0000FF,"ERROR: That person is already level 0 vip!");// If the person you attempt to /setvip that is already level 0 vip, it will show that
            GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//Defines the playerid name
            GetPlayerName(ID,pname,MAX_PLAYER_NAME);//Defines the other player name
            format(str, sizeof(str),"%s has set your VIP Level to 0!",Nam);//string
            SendClientMessage(ID,0xFF9900AA,str);//It will send the other person a message that %s has set your vip level to 0
            format(str,sizeof(str),"You had set %s VIP Level to 0!",pname);//string
            SendClientMessage(playerid,0xFF9900AA,str);//This will send you that you had set %s vip level to 0
            PlayerData[ID][vip] = 0;//Sets the other person vip level to 0
        }
        if(vlevel == 1)//if you select vip level 1
        {
            if(PlayerData[ID][vip] == 1) return SendClientMessage(playerid,0xFF0000FF,"ERROR: That person is already level 1 vip!");//If the person you attempt to /setvip that is already level 1 vip, it will show that
            GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//defines the playerid name
            GetPlayerName(ID,pname,MAX_PLAYER_NAME);//defines the other player name
            format(str, sizeof(str),"%s has set your VIP Level to 1 (BRONZE VIP)!",Nam);//string
            SendClientMessage(ID,0xFF9900AA,str);//Sends the other person a message
            format(str, sizeof(str),"You had set %s VIP Level to 1 (BRONZE VIP)!",pname);//string
            SendClientMessage(playerid,0xFF9900AA,str);//Sends you a message
            PlayerData[ID][vip] = 1;//Sets the other person vip level to 1
        }
        if(vlevel == 2)//if you select vip level 2
        {
            if(PlayerData[ID][vip] == 2) return SendClientMessage(playerid,0xFF0000FF,"ERROR: That person is already level 2 vip!");//If the person you attempt to /setvip that is already level 2 vip, it will show that
            GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//defines playerid name
            GetPlayerName(ID,pname,MAX_PLAYER_NAME);//defines other person name
            format(str, sizeof(str),"%s has set your VIP Level to 2 (SILVER VIP)!",Nam);//string
            SendClientMessage(ID,0xFF9900AA,str);// Sends the other person a message
            format(str, sizeof(str),"You had set %s VIP Level to 2 (SILVER VIP)!",pname);//string
            SendClientMessage(playerid,0xFF9900AA,str);//sends you a message
            PlayerData[ID][vip] = 2;//sets the other person vip level to 2
        }
        if(vlevel == 3)// if you select vip level 3
        {
            if(PlayerData[ID][vip] == 3) return SendClientMessage(playerid,0xFF0000FF,"ERROR: That person is already level 3 vip!");//if the person you attempt to /setvip that is already level 3 vip, it will show that
            GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//defines playerid name
            GetPlayerName(ID,pname,MAX_PLAYER_NAME);//defines the other person name
            format(str, sizeof(str),"%s has set your VIP Level to 3 (GOLD VIP)!",Nam);//string
            SendClientMessage(ID,0xFF9900AA,str);//sends the other person a message
            format(str, sizeof(str),"You had set %s VIP Level to 3 (GOLD VIP)!",pname);//String
            SendClientMessage(playerid,0xFF9900AA,str);//Sends you a message
            PlayerData[ID][vip] = 3;//sets the other person vip level to 3
        }
        return 1;
    }
Now let me show you how to make a basic vip command, you can skip this step if you want to or watch if you want to learn how to make vip commands, first let me teach you how to make /healme, also know that // will explain what it means
pawn Код:
CMD:healme(playerid,params[])//command
{
    if(PlayerData[playerid][vip] < 1) return 0;//well i entered 1 so it will work for vip level 1 and above, if somebody that uses /healme and is under vip level 1 (thats obviously 0), it will send them SERVER: Unknown Command.
    SetPlayerHealth(playerid,100);//just heals the player
    SendClientMessage(playerid,0xFF9900AA,"You have healed your self");//a nice message :)
    return 1;
}
Download
These are the includes i used for this

Zcmd - By Zeex
Sscanf - By ******

And here is pastebin

pastebin

Sorry about the indention , for some reason all my pawn files just indented.
Reply


Messages In This Thread
How to make an easy /setvip command (zcmd & sscanf) - by Tanush123 - 31.01.2012, 13:06
Re: How to make a easy /setvip command (zcmd & sscanf) - by Max_Coldheart - 31.01.2012, 13:09
Re: How to make a easy /setvip command (zcmd & sscanf) - by romas3110 - 31.01.2012, 13:09
Re: How to make a easy /setvip command (zcmd & sscanf) - by Tanush123 - 31.01.2012, 13:13
Re: How to make a easy /setvip command (zcmd & sscanf) - by Daniel_Ram - 31.01.2012, 13:59
Re: How to make a easy /setvip command (zcmd & sscanf) - by ZzzzZ - 02.02.2012, 15:38
Re: How to make a easy /setvip command (zcmd & sscanf) - by 2KY - 03.02.2012, 19:48
Respuesta: How to make a easy /setvip command (zcmd & sscanf) - by [Nikk] - 03.02.2012, 21:20
Re: How to make a easy /setvip command (zcmd & sscanf) - by Tanush123 - 04.02.2012, 17:05
Re: How to make a easy /setvip command (zcmd & sscanf) - by 2KY - 04.02.2012, 17:31
Re: How to make a easy /setvip command (zcmd & sscanf) - by Sting. - 29.03.2012, 09:43
Re: How to make a easy /setvip command (zcmd & sscanf) - by Kindred - 29.03.2012, 10:54
Re: How to make a easy /setvip command (zcmd & sscanf) - by Sting. - 05.04.2012, 05:04
Re: How to make a easy /setvip command (zcmd & sscanf) - by Sting. - 10.04.2012, 13:22
Re: How to make a easy /setvip command (zcmd & sscanf) - by Sting. - 10.04.2012, 13:34
Re: How to make a easy /setvip command (zcmd & sscanf) - by sampmark05 - 11.04.2012, 04:47
Re: How to make a easy /setvip command (zcmd & sscanf) - by sampmark05 - 11.04.2012, 04:49
Re: How to make a easy /setvip command (zcmd & sscanf) - by Tanush123 - 14.04.2012, 02:57
Re: How to make a easy /setvip command (zcmd & sscanf) - by MoNeY_Co0oLzZz - 23.07.2012, 12:59

Forum Jump:


Users browsing this thread: 1 Guest(s)