Offline commands problem
#1

I made offline command and don't work:

Код:
CMD:off(playerid, params[])
	{
	    new text[128]; new player; new ammount; new string[128];
	    if(sscanf(params, "us[48]i", player, text, ammount))
		{
			SendClientMessage(playerid, WHITE, "HELP: /off [Player_Player] [admin/leader] [ammount]");
			SendClientMessage(playerid, WHITE, "HELP: admin | leader");
			return 1;
		}
		if(strcmp(text,"admin",true) == 0)
		{
		format(string, sizeof(string),"Players/%s.ini", player);
		dini_IntSet(string,"Admin",ammount);
		format(string,sizeof(string),"You set admin: %s level: %d", player, ammount);
		SendClientMessage(playerid, RED, string);
		}
		if(strcmp(text,"leader",true) == 0)
		{
		format(string, sizeof(string),"Players/%s.ini", player);
		dini_IntSet(string,"Leader",ammount);
		format(string,sizeof(string),"You set: %s to run gang ID: %d", player, ammount);
		SendClientMessage(playerid, RED, string);
		}
		return 1;
	}
Can u tell me whats wrong?

Sry for my bad English.
Reply
#2

if(sscanf(params, "us[48]i", player, text, ammount))

The sscanf parameter 'u' will search through ONLINE players, not offline. You need to change this to a string ('s'), and check if a file with their name exists, otherwise return an error message...
Reply
#3

How to change parameter "u" to search offline player? I'm not good with sscanf :S
Reply
#4

Quote:
Originally Posted by |MadDog|
Посмотреть сообщение
How to change parameter "u" to search offline player? I'm not good with sscanf :S
Then use strtok
Reply
#5

"You need to change this to a string ('s')"

so it will look like this:
pawn Код:
CMD:off(playerid, params[])
{
    new text[8], player[MAX_PLAYER_NAME], ammount;
    if(sscanf(params, "s[24]s[8]i", player, text, ammount))
    {
        SendClientMessage(playerid, WHITE, "HELP: /off [Player_Player] [admin/leader] [ammount]");
        SendClientMessage(playerid, WHITE, "HELP: admin | leader");
        return 1;
    }
    new string[128];
    if(strcmp(text,"admin",true) == 0)
    {
        format(string, sizeof(string),"Players/%s.ini", player);
        if(!fexist(string)) return SendClientMessage(playerid, RED, "This player does not exist.");
        dini_IntSet(string,"Admin",ammount);
        format(string,sizeof(string),"You set admin: %s level: %d", player, ammount);
        SendClientMessage(playerid, 0xFFFF00FF, string);
    }
    else if(strcmp(text,"leader",true) == 0)
    {
        format(string, sizeof(string),"Players/%s.ini", player);
        if(!fexist(string)) return SendClientMessage(playerid, RED, "This player does not exist.");
        dini_IntSet(string,"Leader",ammount);
        format(string,sizeof(string),"You set: %s to run gang ID: %d", player, ammount);
        SendClientMessage(playerid, 0xFFFF00FF, string);
    }
    else
    {
        SendClientMessage(playerid, WHITE, "HELP: /off [Player_Player] [admin/leader] [ammount]");
        SendClientMessage(playerid, WHITE, "HELP: admin | leader");
    }
    return 1;
}
Hope this works for you.
Reply
#6

Thanks bro!!

Rep +
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)