SA-MP Forums Archive
admin 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: admin wont save (/showthread.php?tid=237124)



admin wont save - tanush - 09.03.2011

ok when player connects, all the status save but adminlevel wont save. please help
pawn Код:
enum pData
{
    IsAdmin,
    AdminLevel,
    Cash,
    Score,
    Drivinglic
};
new PlayerData[MAX_PLAYERS][pData];
new gPlayerLogged[MAX_PLAYERS];
OnPlayerConnect
pawn Код:
gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file),"myserver/%s.ini", name);
    if (!dini_Exists(file))
    {
    ShowPlayerDialog(playerid, 100, DIALOG_STYLE_INPUT, "Register!", "Welcome to extreme-gaming!!, register by entering your password here", "Register", "Leave");
    dini_IntSet(file,"Money", 50000);
    GivePlayerMoney(playerid, 50000);
    }
    if(fexist(file))
    {
    ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Login!", "Login server by entering your password here", "Login", "Leave");
    }
under OnPlayerDisconnect
pawn Код:
new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file),"myserver/%s.ini", name);
        if(gPlayerLogged[playerid] == 1)
        dini_Create(file);
        dini_Create("myserver/%s.ini");
        {
        dini_IntSet(file, "Adminlevel", PlayerData[playerid][AdminLevel]);
        dini_IntSet(file, "Score", PlayerData[playerid][Score]);
        dini_IntSet(file, "Money", PlayerData[playerid][Cash]);
        dini_IntSet(file, "job", job[playerid]);
        dini_IntSet(file,"cig",cig[playerid]);
        dini_IntSet(file,"fightingstyle",Fight[playerid]);
        dini_IntSet(file, "DrivingLic", DrivingLic[playerid] );
        dini_IntSet(file, "passport", passport[playerid]);
        dini_IntSet(file, "Member", Member[playerid]);
        dini_IntSet(file, "Leader", Member[playerid]);
        dini_IntSet(file, "Status", IsInOrg[playerid]);
        dini_IntSet(file, "Request", request[playerid]);
        dini_IntSet(file, "IsRequesting", IsRequesting[playerid]);

        }
        gPlayerLogged[playerid] = 0;
OnDialogResponse
pawn Код:
if (dialogid == 100)
            {
            if (dialogid == 100)
            {
            new name[MAX_PLAYER_NAME], string[128];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file),"myserver/%s.ini", name);
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return
            ShowPlayerDialog(playerid, 100, DIALOG_STYLE_INPUT, "Hi your not registered", "Welcome to eXtreme Gaming!!! Register here", "Register", "Leave");
            dini_Create(file);
            dini_IntSet(file, "Adminlevel", PlayerData[playerid][AdminLevel]);
            dini_IntSet(file, "Password", udb_hash(inputtext));
            dini_IntSet(file,"Money",PlayerData[playerid][Cash]);
            dini_IntSet(file, "Score",PlayerData[playerid][Score]);
            dini_IntSet(file, "Drivinglic",PlayerData[playerid][Drivinglic]);
            SendClientMessage(playerid, 0xFF9900AA, string);
            gPlayerLogged[playerid] = 1;
            }
            }
            if (dialogid == 101)
            {
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file),"myserver/%s.ini", name);
            if(!response) return Kick(playerid);
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Login", "You are registered, enter your password below!", "Login", "Quit");
            new tmp;
            tmp = dini_Int(file, "Password");
            if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, 0xFF0000FF, "Wrong PASSWORD sir.");
            ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Login", "You are registered, enter your password below!", "Login", "Quit");
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Login", "You are registered, enter your password below!", "Login", "Quit");
            }
            else
            {
            gPlayerLogged[playerid] = 1;
            dini_IntSet(file,"Money",PlayerData[playerid][Cash]);
            dini_IntSet(file, "Score",PlayerData[playerid][Score]);
            dini_IntSet(file, "Adminlevel", PlayerData[playerid][AdminLevel]);
            dini_IntSet(file,"DrivingLic",DrivingLic[playerid]);
            SetPlayerScore(playerid, PlayerData[playerid][Score]);
            GivePlayerMoney(playerid, PlayerData[playerid][Cash]);
            }
            return 1;
            }
            }
PLEASE HELP!


Re: admin wont save - YungGee - 09.03.2011

Under if(fexist(file)) your not setting there level infact nothing, Try setting there actuall values under if(fexist(file))
so when they connect they will be set there correct values.


Re: admin wont save - tanush - 09.03.2011

well ihave a /setadmin for rcon and i put AdminLevel[playerid] == 1; and lbah blah


Re: admin wont save - DJDhan - 09.03.2011

Why are you creating a new file under OnPlayerDisconnect if the player is already logged in?

Код:
if(gPlayerLogged[playerid] == 1)        
dini_Create(file);
You only create a new file under Register Command/Dialog as far as I know.

Then you don't have brackets for your if condition which means you are checking if he is logged in for nothing.