admin wont save
#1

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!
Reply
#2

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.
Reply
#3

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

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)