13.11.2011, 11:26
(
Последний раз редактировалось Tanush123; 13.11.2011 в 19:42.
)
How come when someone relogs their variable gets messed up
AdminLevel: 1 (b4 when he log in after server start then he quits after 45min)
AdminLevel: 5646542197(After he relogs)
AdminLevel: 1 (b4 when he log in after server start then he quits after 45min)
AdminLevel: 5646542197(After he relogs)
pawn Код:
if(dialogid == 2)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Welcome to Roleplay Forever Freeroam/Roleplay Login with your password", "Login", "Leave");
GetPlayerName(playerid, Nam, sizeof(Nam));
CheckMySQL();
GetPlayerName(playerid, Nam, sizeof(Nam));
mysql_real_escape_string(Nam,escapename);// and here
mysql_real_escape_string(inputtext,escapepass);// right here
format(query,sizeof(query),"SELECT * FROM accounts WHERE Name = '%s' AND Password = '%s'",escapename,escapepass);// tan? yes you see inputtext? ya you gonna use myswl_real_escape_string to privent an injection so do it like this
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 0)
{
SendClientMessage(playerid,red, "ERROR: You have typed your password wrong!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Welcome to Roleplay Forever Freeroam/Roleplay Login with your password", "Login", "Leave");
return 1;
}
mysql_free_result();
format(file,sizeof(file),"SELECT * FROM accounts WHERE Name = '%s'",escapename);//you don't have to do it here since you already used that function at top there ^^^^
SendClientMessage(playerid,orange,"You have logged on your account and your stats has been restored.");
mysql_query(file);
mysql_store_result();
mysql_fetch_row_format(Rows, "|");
explode(Rows,field, "|");
mysql_free_result();
PlayerData[playerid][Name] = strval(field[0]);
PlayerData[playerid][Password] = strval(field[1]);
PlayerData[playerid][AdminLevel] = strval(field[2]);
PlayerData[playerid][Cash] = strval(field[3]);
PlayerData[playerid][vip] = strval(field[4]);
PlayerData[playerid][Member] = strval(field[5]);
PlayerData[playerid][Leader] = strval(field[6]);
PlayerData[playerid][IsInOrg] = strval(field[7]);
PlayerData[playerid][IsLaw] = strval(field[8]);
PlayerData[playerid][IsGang] = strval(field[9]);
PlayerData[playerid][IsPriv] = strval(field[10]);
PlayerData[playerid][WantedLevel] = strval(field[11]);
PlayerData[playerid][MinutesPlayed] = strval(field[12]);
PlayerData[playerid][HoursPlayed] = strval(field[13]);
PlayerData[playerid][Level] = strval(field[14]);
PlayerData[playerid][Cig] = strval(field[15]);
PlayerData[playerid][Sprunk] = strval(field[16]);
PlayerData[playerid][Snack] = strval(field[17]);
PlayerData[playerid][Lighter] = strval(field[18]);
PlayerData[playerid][FightingStyle] = strval(field[19]);
PlayerData[playerid][Passport] = strval(field[20]);
PlayerData[playerid][Bag] = strval(field[21]);
PlayerData[playerid][GunLicense] = strval(field[22]);
PlayerData[playerid][Job] = strval(field[23]);
PlayerData[playerid][Pot] = strval(field[24]);
PlayerData[playerid][Crack] = strval(field[25]);
PlayerData[playerid][Bank] = strval(field[26]);
PlayerData[playerid][BankAccount] = strval(field[27]);
PlayerData[playerid][CarLicense] = strval(field[28]);
PlayerData[playerid][Fuelcan] = strval(field[29]);
PlayerData[playerid][Civilskin] = strval(field[30]);
PlayerData[playerid][MinutesToNextLevel] = strval(field[31]);
PlayerData[playerid][simcard] = strval(field[32]);
PlayerData[playerid][phone] = strval(field[33]);
PlayerData[playerid][phonebook] = strval(field[34]);
PlayerData[playerid][PosX] = strval(field[35]);
PlayerData[playerid][PosY] = strval(field[36]);
PlayerData[playerid][PosZ] = strval(field[37]);
PlayerData[playerid][Interior] = strval(field[38]);
PlayerData[playerid][BoatLicense] = strval(field[39]);
PlayerData[playerid][Banned] = strval(field[40]);
PlayerData[playerid][Achievement] = strval(field[41]);
PlayerData[playerid][vKeys] = strval(field[42]);
SaveTimer[playerid] = SetTimerEx("Save",1000,true,"i",playerid);
Logged[playerid] = 1;
SetPlayerWantedLevel(playerid,PlayerData[playerid][WantedLevel]);
GivePlayerCash(playerid,PlayerData[playerid][Cash]);
SetPlayerScore(playerid,PlayerData[playerid][Level]);
SetPlayerFightingStyle(playerid,PlayerData[playerid][FightingStyle]);
LevelTimer[playerid] = SetTimerEx("LevelTimerr",60000,1,"i",playerid);
OnlineTimer[playerid] = SetTimerEx("OnlineTimeUpdate", 60000, 1, "i", playerid);
if(PlayerData[playerid][Banned] == 1)
{
GetPlayerName(playerid,Nam,sizeof(Nam));
format(str,sizeof(str),"%s has been auto banned for logging in a banned account",Nam);
BanEx(playerid,"MYSQL BANNED");
}
if(PlayerData[playerid][AdminLevel] == 1)
{
SendClientMessage(playerid,orange,"Welcome back Level 1 Administrator");
}
if(PlayerData[playerid][AdminLevel] == 2)
{
SendClientMessage(playerid,orange,"Welcome back Level 2 Administrator");
}
if(PlayerData[playerid][AdminLevel] == 3)
{
SendClientMessage(playerid,orange,"Welcome back Level 3 Administrator");
}
if(PlayerData[playerid][AdminLevel] == 4)
{
SendClientMessage(playerid,orange,"Welcome back Level 4 Administrator");
}
if(PlayerData[playerid][AdminLevel] == 5)
{
SendClientMessage(playerid,orange,"Welcome back Level 5 Administrator");
}
if(PlayerData[playerid][Job] == 0)
{
SendClientMessage(playerid,orange,"Job: None");
}
if(PlayerData[playerid][Job] == 1)
{
SendClientMessage(playerid,orange,"Job: Arms Dealer");
}
if(PlayerData[playerid][Job] == 2)
{
SendClientMessage(playerid,orange,"Job: Whore");
}
if(PlayerData[playerid][Job] == 3)
{
SendClientMessage(playerid,orange,"Job: Bus Driver");
}
if(PlayerData[playerid][Job] == 4)
{
SendClientMessage(playerid,orange,"Job: Taxi Driver");
}
if(PlayerData[playerid][Job] == 5)
{
SendClientMessage(playerid,orange,"Job: Mechanic");
}
if(PlayerData[playerid][Job] == 6)
{
SendClientMessage(playerid,orange,"Job: Medic");
}
if(PlayerData[playerid][vip] == 1)
{
SendClientMessage(playerid,orange,"VIP Level: Level 1 (Bronze)");
}
if(PlayerData[playerid][vip] == 2)
{
SendClientMessage(playerid,orange,"VIP Level: Level 2 (Silver)");
}
if(PlayerData[playerid][vip] == 3)
{
SendClientMessage(playerid,orange,"VIP Level: Level 3 (Gold)");
}
if(PlayerData[playerid][Member] == 0)
{
SendClientMessage(playerid,orange,"Organization: None.");
}
if(PlayerData[playerid][Member] == 1)
{
SendClientMessage(playerid,orange,"Organization: San Andreas Police Department");
}
if(PlayerData[playerid][Member] == 2)
{
SendClientMessage(playerid,orange,"Organization: Da Nang Boyz");
}
if(PlayerData[playerid][Member] == 3)
{
SendClientMessage(playerid,orange,"Organization: Los Santos Ballas");
}
}
if(!response)
{
GetPlayerName(playerid,Nam,sizeof(Nam));
format(str,sizeof(str),"%s has decided to leave the server on login box.",Nam);
SendClientMessageToAll(red,str);
Kick(playerid);
SendClientMessage(playerid,orange,"You have chosen to leave. Feel free to come back!");
SendClientMessage(playerid,0xFF9900AA,"_________|176.31.192.98:7778|____________");
}
return 1;
}