Код:
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#include <sscanf2>
enum pData
{
vip
};
new PlayerData[MAX_PLAYERS][pData];
new vlevel,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" VIP System Loaded! ");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
CMD:makevip(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: /makevip [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;
}