VIP System Help!
#1

Hello guys,

I am using this VIP system:

https://sampforum.blast.hk/showthread.php?tid=206653

and i am trying to add one more VIP level,but i cant understand this:

Код:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Okay i added one more level here
Код:
(%1,%2,%3)
so it become this: (%1,%2,%3,4%) But,what else to i have to do next?

Did some changes here too:

From this:

Код:
public OnPlayerConnect(playerid)
{

    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
	format(RPLstring,256,"/RegularPlayers/%s.txt", name, sizeof(name));

	if(dini_Exists(RPLstring))
		{

		if(dini_Int(RPLstring,"vip") == 1)
			{
				RPLLogged[playerid]=1;
			}
	
		if(dini_Int(RPLstring,"vip") == 2)
			{
				RPLLogged[playerid]=2;
			}
		if(dini_Int(RPLstring,"vip") == 3)
			{
				RPLLogged[playerid]=3;
			}
to this:

Код:
public OnPlayerConnect(playerid)
{

    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
	format(RPLstring,256,"/RegularPlayers/%s.txt", name, sizeof(name));

	if(dini_Exists(RPLstring))
		{

		if(dini_Int(RPLstring,"vip") == 1)
			{
				RPLLogged[playerid]=1;
			}
	
		if(dini_Int(RPLstring,"vip") == 2)
			{
				RPLLogged[playerid]=2;
			}
		if(dini_Int(RPLstring,"vip") == 3)
			{
				RPLLogged[playerid]=3;
			}
		if(dini_Int(RPLstring,"vip") == 4)
			{
				RPLLogged[playerid]=4;
			}

		}
		else
		{
			dini_Create(RPLstring);
			dini_Set(RPLstring,"vip","0");
		}

	return true;
}
Also this:
Код:
dcmd_setvip(playerid,params[])
{
    if(!strlen(params[0]) || !strlen(params[1]) ||
	!strlen(params[2])) return SendClientMessage(playerid,COLOR_RED,
	"Usage: /setvip [ID player's] [0-4] (0 removes the vip level");
	
    if(IsPlayerAdmin(playerid))
		{
			new name[MAX_PLAYER_NAME];
			RPLLogged[params[0]]=params[1];
    		GetPlayerName(playerid, name, sizeof(name));
    		dini_Create(RPLstring);
    		dini_Set(RPLstring, "vip",params[1]);
			SendClientMessage(params[0],COLOR_GREEN,RPLstring);
			if(dini_Int(RPLstring,"vip") == 1)
			{
			RPLLogged[playerid]=1;
			SendClientMessage(playerid,COLOR_ORANGE,
			"SYSTEM: Your VIP level has been changed by an admin!");
			
			SendClientMessage(playerid,COLOR_ORANGE,
			"Congratulations! You are now a Bronze VIP! ");
			}
			
			else if(dini_Int(RPLstring,"vip") == 2)
			{
			RPLLogged[playerid]=1;
			SendClientMessage(playerid,COLOR_ORANGE,
			"SYSTEM: Your VIP level has been changed by an admin!");
			
			SendClientMessage(playerid,COLOR_ORANGE,
			"Congratulations! You are now a Silver VIP!");
			}
			
			else if(dini_Int(RPLstring,"vip") == 3)
			{
			RPLLogged[playerid]=1;
			SendClientMessage(playerid,COLOR_ORANGE,
			"SYSTEM: Your VIP level has been changed by an admin!");

			SendClientMessage(playerid,COLOR_ORANGE,
			"Congratulations! You are now a Gold VIP! ");
			}
			
			else if(dini_Int(RPLstring,"vip") == 4)
			{
			RPLLogged[playerid]=1;
			SendClientMessage(playerid,COLOR_ORANGE,
			"SYSTEM: Your VIP level has been changed by an admin!");

			SendClientMessage(playerid,COLOR_ORANGE,
			"Congratulations! You are now a Plantinum VIP! ");
			}

   		    return 1;
		}
	else SendClientMessage(playerid,COLOR_RED,
		 "SYSTEM: You are not an admin.");
	return 1;
DCMD is much difficult that i thought,but it may be the only which works with Ravens Roleplay :S

Thank you for reading my post in advance!!

Hope to hear from you soon!!

Sincerely,
George
Reply
#2

Oh god , man this dcmd defines , don't touch this:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)