Admin level wont save
#1

When I leave the server. didn't set the level .am using yini


pawn Код:
if(fexist(UserPath(playerid)))
    {
        if(PlayerLogged[playerid] == 1)
        {
            new INI:file = INI_Open(UserPath(playerid));
            INI_SetTag(file,"data");
            INI_WriteInt(file,"Admin",PlayerInfo[playerid][pAdmin]);
            INI_WriteInt(file,"Score",GetPlayerScore(playerid));
            INI_WriteInt(file,"Cash",GetPlayerMoney(playerid));
            INI_WriteInt(file,"TruckerJob",PlayerInfo[playerid][TruckerJob]);
            INI_Close(file);
        }
        return 1;
    }
Reply
#2

Do you have that under OnPlayerDisconnect?
Reply
#3

yes.


pawn Код:
CMD:setadmin(playerid, params[])
{
    new string[128], level, id;
    if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, COLOUR_RED, "Usage: {FFFFFF}/setadmin [playerid] [0-2]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player not found!");
    if(level > 2) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Choose a valid level! [0-2]");
    if(level == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player is already that level!");
    new pname[MAX_PLAYER_NAME],recievername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(id,recievername,sizeof(recievername));
    if(level > PlayerInfo[id][pAdmin])
    {
        GameTextForPlayer(id, "~g~PROMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s  has promoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    else
    {
        GameTextForPlayer(id, "~r~DEMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s has demoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by DerickClark
Посмотреть сообщение
yes.
Did you forward this and make a public that looks something like this?

(Took this from my script)

Код:
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Int("Crack", PlayerDrugInfo[playerid][pCrack]);
    INI_Int("Weed", PlayerDrugInfo[playerid][pWeed]);
    INI_Int("Heroin", PlayerDrugInfo[playerid][pHeroin]);
    INI_Int("Shrooms", PlayerDrugInfo[playerid][pShrooms]);
    INI_Int("Meth", PlayerDrugInfo[playerid][pMeth]);
    return 1;
}
Reply
#5

pawn Код:
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Score",PlayerInfo[playerid][Score]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Vip",PlayerInfo[playerid][pVip]);
    INI_Int("TruckerJob",PlayerInfo[playerid][TruckerJob]);
    return 1;
}
Reply
#6

try to create SaveStats(playerid); stock and
pawn Код:
CMD:setadmin(playerid, params[])
{
    new string[128], level, id;
    if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, COLOUR_RED, "Usage: {FFFFFF}/setadmin [playerid] [0-2]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player not found!");
    if(level > 2) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Choose a valid level! [0-2]");
    if(level == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player is already that level!");
    new pname[MAX_PLAYER_NAME],recievername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(id,recievername,sizeof(recievername));
    if(level > PlayerInfo[id][pAdmin])
    {
        GameTextForPlayer(id, "~g~PROMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s  has promoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    else
    {
        GameTextForPlayer(id, "~r~DEMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s has demoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    SaveStats(playerid);
    return 1;
}
I used that because i have that problem too and now its been solved
Reply
#7

Quote:
Originally Posted by ChandraLouis
Посмотреть сообщение
try to create SaveStats(playerid); stock and
pawn Код:
CMD:setadmin(playerid, params[])
{
    new string[128], level, id;
    if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, COLOUR_RED, "Usage: {FFFFFF}/setadmin [playerid] [0-2]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player not found!");
    if(level > 2) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Choose a valid level! [0-2]");
    if(level == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOUR_RED, "Error: {FFFFFF}Player is already that level!");
    new pname[MAX_PLAYER_NAME],recievername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(id,recievername,sizeof(recievername));
    if(level > PlayerInfo[id][pAdmin])
    {
        GameTextForPlayer(id, "~g~PROMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s  has promoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    else
    {
        GameTextForPlayer(id, "~r~DEMOTED", 1000, 3);
        PlayerInfo[id][pAdmin] = level;
        format(string, sizeof(string), "Admin %s has demoted %s to admin level %d!", pname, recievername, level);
        SendClientMessageToAll(-1, string);
    }
    SaveStats(playerid);
    return 1;
}
I used that because i have that problem too and now its been solved
Don't work
Reply
#8

Does everything else save
Reply
#9

Quote:
Originally Posted by awsomedude
Посмотреть сообщение
Does everything else save
Fixed.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)