13.05.2013, 14:13
For some reason the following code does not seem to be changing the players Admin value in their INI file. I use it on a player (for example set them to level 1 admin), check their file in my servers scriptfiles but their Admin still = 0. What am I doing wrong? I am using YSI INI.
P.S. Sorry about the indentation, It doesn't actually look like that in pawno but when I paste it over it seems to mess up.
P.S. Sorry about the indentation, It doesn't actually look like that in pawno but when I paste it over it seems to mess up.
Код:
CMD:setadmin(playerid, params[]) { if (PlayerInfo[playerid][pAdmin] == 2) { new receiver, amount; if (!sscanf(params, "ui", receiver, amount)) { if(!IsPlayerConnected(receiver)) return SendClientMessage(playerid, -1, "That player isn't connected!"); if ((amount <= 2) && (amount >= 0)) { new INI:File = INI_Open(UserPath(receiver)); if (UserPath(receiver) != INI_NO_FILE) { INI_SetTag(File, "data"); INI_WriteInt(File,"Hit",amount); INI_Close(File); new plarname[MAX_PLAYER_NAME+1], yourname[MAX_PLAYER_NAME+1], message[100]; GetPlayerName(receiver, plarname, MAX_PLAYER_NAME+1); format(message, sizeof(message), "You have set %s to a level %d admin.", plarname, amount); SendClientMessage(playerid, COLOR_YELLOW, message); GetPlayerName(playerid, yourname, MAX_PLAYER_NAME+1); format(message, sizeof(message), "%s has set you as a level %d admin, please relog.", yourname, amount); SendClientMessage(receiver, COLOR_YELLOW, message); } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid INI file."); } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "Level must be between 0 and 2. 0=player 1=admin 2=manager"); } } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a level 2 admin."); } return 1; }