Hey, admin level problem:
#1

I have that code:
Код:
dcmd_setlevel(playerid, params[])
{
            new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
		    if(!strlen(params)) return SendClientMessage(playerid, VERMELHO, "USAGE: /setlevel [playerid] [level]");
	    	new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			GetPlayerName(playerid, adminname, MAX_PLAYER_NAME);
			player1 = strval(tmp);
			level = strval(tmp2);
			if(!strlen(tmp2)) return SendClientMessage(playerid, VERMELHO, "USAGE: /setlevel [playerid] [level]");
			if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, VERMELHO, "Player nгo conectado");
			if(level > MAX_LEVEL) return SendClientMessage(playerid, VERMELHO, "Level maximo й 100. Escolha igual ou menor a 100");
			format(string,sizeof(string),"ADMIN: %s mudou o level de %s para %d", adminname, playername, level);
            dUserSetINT(PlayerName2(player1)).("Level",(level));
			PlayerInfo[player1][Level] = level;
			dUserSetINT(PlayerName2(player1)).("level",(level));
			PlayerInfo[player1][Level] = level;
			return SendClientMessageToAll(BRANCO, string);
			

}
It's for admin's set level, which max is 100. It works perfectly as it is wrote above, show which level I changed for someone else on a string. The problem is saving to file, which I dont know how to save someone else's level, cause the single allowed is:
Код:
PlayerInfo[playerid][Level]
And don't have a victim save system. I'd like to know how to add it to someone else.
Reply
#2

errm? use dini
just save to their account
Reply
#3

use dini like mike sayed
Reply
#4

Dude, on my code above, the "playername" is the victim name I'll set the level of. I can't save with a dini, because had to be so:

Код:
dini_IntSet(file, "level",PlayerInfo[playerid][Level]);
And I cannot use: [When I use that underneath, give me this error under this code underneath
Код:
dini_IntSet(file, "level",PlayerInfo[playername][Level]);
Код:
Error: C:\DOCUME~1\FeLiPe\Desktop\SERVER~1\FILTER~1\adminx.pwn(286) : error 033: array must be indexed (variable "playername")
Reply
#5

Bump please =SSS
Reply
#6

Sorry for dual flood, but I really NEED the soluction
Reply
#7

pawn Код:
if(strcmp(cmdtext, "/setlevel", true) == 0)
{
            new tmp[256], tmp2[256], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
            if(!strlen(params)) return SendClientMessage(playerid, VERMELHO, "USAGE: /setlevel [playerid] [level]");
            new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
            GetPlayerName(playerid, adminname, MAX_PLAYER_NAME);
            player1 = strval(tmp);
            level = strval(tmp2);
            if(!strlen(tmp2)) return SendClientMessage(playerid, VERMELHO, "USAGE: /setlevel [playerid] [level]");
            if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, VERMELHO, "Player nгo conectado");
            if(level > MAX_LEVEL) return SendClientMessage(playerid, VERMELHO, "Level maximo й 100. Escolha igual ou menor a 100");
            format(string,sizeof(string),"ADMIN: %s mudou o level de %s para %d", adminname, playername, level);
            dUserSetINT(PlayerName2(player1)).("Level",(level));
            PlayerInfo[player1][Level] = level;
            dUserSetINT(PlayerName2(player1)).("level",(level));
            PlayerInfo[player1][Level] = level;
            return SendClientMessageToAll(BRANCO, string);
           

}
Reply
#8

sorry, didn't work lol. There's the same thing on ladmin4v2 admin FS, and but seems to not work on mine o. o; everything else is saving/reloading on OnPlayerDisconnect/OnPlayerConnect
Reply
#9

I've tried the someone else's code with myself (PlayerInfo[playerid[Level]) and saving, but it doesn't saves while your online! lol =S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)