ok, the command itself works fine, but it wont save the level once i do /setadmin ID level
it says it does, but it dont.
Код:
// === [Setadmin] ===
if(strcmp(cmd, "/setadmin", true) == 0 || strcmp(cmd, "/setlevel", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][Level] = dini_Int(file, "level");
PlayerInfo[giveplayerid][Level] = dini_Int(file, "level");
giveplayerid = strval(tmp);
if(!strlen(tmp) && PlayerInfo[playerid][Level] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][Level] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
dini_IntSet(file, "level", Level);
level[playerid] = strval(tmp);
if(level[playerid] < 0)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] > 4)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] == PlayerInfo[giveplayerid][Level])
{
format(string, sizeof(string), "That player already has level %d admin privileges.", level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
return 1;
}
if(IsLogged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][Level] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
if(IsLogged[giveplayerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "The player You're setting rights to must be logged in!");
return 1;
}
else
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
dini_IntSet(file, "level", Level);
format(string, sizeof(string), "You have given %s level %d admin powers.", giveplayer, level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "You were made a level %d admin by %s (id: %d).", level[playerid], sendername, playerid);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
PlayerInfo[giveplayerid][Level] = dini_IntSet(file, "level", Level);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /setadmin to set %s ' level to: %d", PlayerName, giveplayer, level[playerid]);
}
}
else
{
format(string, sizeof(string), "%d is not an active player ID number.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}