SA-MP Forums Archive
Admin level wont save - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Admin level wont save (/showthread.php?tid=503971)



Admin level wont save - DerickClark - 01.04.2014

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;
    }



Re: Admin level wont save - K9IsGodly - 01.04.2014

Do you have that under OnPlayerDisconnect?


Re: Admin level wont save - DerickClark - 01.04.2014

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;
}



Re: Admin level wont save - K9IsGodly - 01.04.2014

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;
}



Re: Admin level wont save - DerickClark - 01.04.2014

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;
}



Re: Admin level wont save - ChandraLouis - 01.04.2014

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


Re: Admin level wont save - DerickClark - 01.04.2014

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


Re: Admin level wont save - awsomedude - 01.04.2014

Does everything else save


Re: Admin level wont save - DerickClark - 01.04.2014

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