02.03.2013, 21:55
Hello guys. when i get disconnect. sometimes the account save's sometimes accoount doesn't save. so i need your help guys. why sometimes it doesn't save?
OnPlayerDisconnect Callback
OnPlayerDisconnect Callback
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new string[128];
switch(reason)
{
case 0: format(string,sizeof(string),"%s [%d] left the server. (Timed out)",PlayerName(playerid),playerid);
case 1: format(string,sizeof(string),"%s [%d] left the server. (Leaving)",PlayerName(playerid),playerid);
case 2: format(string,sizeof(string),"%s [%d] left the server. (Kicked/Banned)",PlayerName(playerid),playerid);
}
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
//Save Wanted Level && Jailtime
pInfo[playerid][SavedJailTime] =GetPlayerWantedLevel(playerid);
pInfo[playerid][SavedJailTime] =JailTime[playerid];
new query[1024];
//1st Saving
format(query, sizeof(query), "UPDATE `users` SET `Money` = %d, `Bankcash` = %d, `Score` = %d, `Adminlevel` = %d, `Army` = %d, `CIA` = %d, `RegularPlayer` = %d, `Donator` = %d, `OttoOwner` = %d, `TSkill` = %d, `RobSkill` = %d ,\
`HasPackC4` = %d, `HasPackRope` = %d, `HasPackMoney` = %d, `SavedWantedLevel` = %d , `SavedJailTime` = %d WHERE `Username` = '%s'",
GetPlayerMoney(playerid),
pInfo[playerid][BankMoney],
GetPlayerScore(playerid),
pInfo[playerid][Adminlevel],
pInfo[playerid][Army],
pInfo[playerid][Cia],
pInfo[playerid][RegularPlayer],
pInfo[playerid][Donator],
pInfo[playerid][OttoOwner],
pInfo[playerid][TerroristSkill],
pInfo[playerid][RobSkill],
pInfo[playerid][HasPackC4],
pInfo[playerid][HasPackRope],
pInfo[playerid][HasPackMoney],
pInfo[playerid][SavedWantedLevel],
pInfo[playerid][SavedJailTime],
PlayerName(playerid));
mysql_query(query);
//2nd Saving
format(query, sizeof(query), "UPDATE `users` SET `Coprank` = %d, `HoursPlayed` = %d, `MinutesPlayed` = %d, `SecondsPlayed` = %d, `IpAdress` = '%d', `Kills` = '%d',\
`Deaths` = '%d', `TotalHitFinished` = '%d' WHERE `Username` = '%s'",
pInfo[playerid][Coprank],
pInfo[playerid][HoursPlayed],
pInfo[playerid][MinutesPlayed],
pInfo[playerid][SecondsPlayed],
GetIP(playerid),
pInfo[playerid][Kills],
pInfo[playerid][Deaths],
pInfo[playerid][TotalHitFinished],
PlayerName(playerid));
mysql_query(query);
new HouseSlot;
for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
if (APlayerData[playerid][Houses][HouseSlot] != 0)
{
HouseFile_Save(APlayerData[playerid][Houses][HouseSlot]);
if (LoadCarsDuringFSInit == false)
{
House_RemoveVehicles(APlayerData[playerid][Houses][HouseSlot]);
}
APlayerData[playerid][Houses][HouseSlot] = 0;
}
}
APlayerData[playerid][CurrentHouse] = 0;
APlayerData[playerid][DialogBuyVClass] = 0;
APlayerData[playerid][DialogGetCarHouseID] = 0;
return 1;
}