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.