Server Crash when a player exits the game
#3

Код:
public OnPlayerDisconnect(playerid, reason)
{
	if(IsPlayerNPC(playerid))
	{
	    new npcname[MAX_PLAYER_NAME], tarolo[128];
	    GetPlayerName(playerid, npcname, sizeof(npcname));
	    format(tarolo, sizeof(tarolo), "NPC %s lecsatlakozott...", npcname);
	    RemoveWeaponsFile(playerid);
	}
	if(reason == 0 || reason == 1) // Crashed or Logged
	{
 		SaveWeaponsToFile(playerid);
	}
	if(reason == 2) // Kicked/Banned
	{
	    RemoveWeaponsFile(playerid);
	}
	if(PlayerInfo[playerid][swot] == 1)
	{
		DestroyObject(PlayerInfo[playerid][swo]);
		PlayerInfo[playerid][swot] = 0;
	}
	if(PlayerInfo[playerid][swot] == 1)
	{
		DestroyObject(PlayerInfo[playerid][swo]);
		DestroyObject(PlayerInfo[playerid][swo1]);
	}
//	KillTimer(egestimer[playerid]);
//	DestroyCellTextDraws(playerid);
//	HavingBall[playerid] = 0;
//    Anim[playerid] = 0;
//	DestroyCellTextDraws(playerid);
	TextDrawDestroy(tutszoveg[playerid]);
	TextDrawDestroy(tuthead[playerid]);
	if(PlayerInfo[playerid][isCestisObj] == 1)
	{
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj1]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj2]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj3]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj4]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj5]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj6]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj7]);
		DestroyDynamicObject(PlayerInfo[playerid][CestisObj8]);
		PlayerInfo[playerid][isCestisObj] = 0;
	}
	KillTimer(KeyTimer[playerid]);
	DestroyPlayerHUD(playerid);
    autosuli[playerid] = 0;
    TextDrawDestroy(TextDrawInfoBox[playerid]);
//    pilotaengedely[playerid] = 0;
//    if(HavingBall[playerid]) Baller = 999;
	//-=============Pozнciу mentйs by SilentHunter================-
	new Float:x;
	new Float:y;
	new Float:z;
    GetPlayerPos(playerid,x,y,z);
    PlayerInfo[playerid][pPos_x] = x;
    PlayerInfo[playerid][pPos_y] = y;
    PlayerInfo[playerid][pPos_z] = z;
    PlayerInfo[playerid][intmentes] = GetPlayerInterior(playerid);
    PlayerInfo[playerid][virtualisvilag] = GetPlayerVirtualWorld(playerid);
    //-============================================================-
	HidePlayerHUD(playerid);
	DestroyPlayerHUD(playerid);
	HideHUD(playerid);
    //HideRXTT(playerid);
	if(MedicBill[playerid] > 0){MedicBill[playerid] = 0;}
	gActivePlayers[playerid]--;
	numplayers--;
	KillTimer(TextTimer[playerid]);
	PlayerInfo[playerid][pAdjustable] = 1;
	ApprovedWeapons[playerid] = 0;
	OnPlayerSave(playerid);
//	KillTimer(BlinkTime[playerid]);
	Freeze[playerid] = false;
	OnPlayerCommandText(playerid,"/standart");
	if(PlayerInfo[playerid][pCarKeys] != 9999)
	{
	    carKeys[playerid] = 9999; // Prevent owner's car from getting taken.
	}
	MedicBill[playerid] = 0;
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
	    {
	        if(TaxiAccepted[i] < 999)
	        {
		        if(TaxiAccepted[i] == playerid)
		        {
		            TaxiAccepted[i] = 999;
		            GameTextForPlayer(i, "~w~A kliens~n~~r~visszavonta~w~ a hнvбst", 5000, 1);
		            TaxiCallTime[i] = 0;
		            DisablePlayerCheckpointEx(i);
		        }
	        }
	        else if(BusAccepted[i] < 999)
	        {
		        if(BusAccepted[i] == playerid)
		        {
		            BusAccepted[i] = 999;
		            GameTextForPlayer(i, "~w~A kliens~n~~r~visszavonta~w~ a hнvбst", 5000, 1);
		            BusCallTime[i] = 0;
		            DisablePlayerCheckpointEx(i);
		        }
	        }
	    }
	}
	if(RequestingBackup == playerid)
	{
		RequestingBackup = 999;
		for(new ra=0; ra<MAX_PLAYERS; ra++)
		{
			if(IsPlayerConnected(ra))
			{
				if(IsALawEnforcer(ra))
				{
					DisablePlayerCheckpointEx(ra);
				}
			}
		}
	}
	if(GettingCK[playerid] < 999)
	{
	    if(IsPlayerConnected(GettingCK[playerid]))
	    {
	        SendClientMessage(GettingCK[playerid], COLOR_SACBLUE, "A szerver karakterhalбlt osztott ki a karakteredre.");
	        SendClientMessage(GettingCK[playerid], COLOR_SACBLUE, "Ez azt jelenti hogy ezzel a karaktereddel mбr nem jбtszhatsz ezen a szerveren.");
	        SendClientMessage(GettingCK[playerid], COLOR_SACBLUE, "Lйpj kapcsolatba az egyik Adminisztrбtorral az ъjra regisztrбlбsoddal kapcsolatban.");
	        OnCK[GettingCK[playerid]] = 999;
	    }
	}
	if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
	{
	    if(IsPlayerConnected(TransportDriver[playerid]))
		{
		    new string[64];
		    TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
		    TransportTime[TransportDriver[playerid]] = 0;
		    TransportCost[TransportDriver[playerid]] = 0;
		    format(string, sizeof(string), "~w~Kiszбllt az utas~n~~g~Ъti dнj %s",ConvertToMoney(TransportCost[playerid]));
		    GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
		}
	}
	if(GotHit[playerid] > 0)
	{
	    if(GetChased[playerid] < 999)
	    {
	        if(IsPlayerConnected(GetChased[playerid]))
	        {
	        	SendClientMessage(GetChased[playerid], COLOR_SACBLUE, "Eltűnt a cйlpont.");
	            GoChase[GetChased[playerid]] = 999;
			}
	    }
	}
	if(PlayerBoxing[playerid] > 0)
	{
	    if(Boxer1 == playerid)
	    {
	        if(IsPlayerConnected(Boxer2))
	        {
	        	PlayerBoxing[Boxer2] = 0;
	        	SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
	        	SetPlayerInterior(Boxer2, 5);
	        	GameTextForPlayer(Boxer2, "~r~Meccs megszakнtva", 5000, 1);
			}
	    }
	    else if(Boxer2 == playerid)
	    {
	        if(IsPlayerConnected(Boxer1))
	        {
	        	PlayerBoxing[Boxer1] = 0;
	        	SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
	        	SetPlayerInterior(Boxer1, 5);
	        	GameTextForPlayer(Boxer1, "~r~Meccs megszakнtva", 5000, 1);
			}
	    }
	    InRing = 0;
     	RoundStarted = 0;
		Boxer1 = 9999;
		Boxer2 = 9999;
		TBoxer = 9999;
	}
    if(TransportDuty[playerid] == 1)
	{
		TaxiDrivers -= 1;
	}
    else if(TransportDuty[playerid] == 2)
	{
		BusDrivers -= 1;
	}
	if(PlayerInfo[playerid][pJob] == 11)
	{
	    if(JobDuty[playerid] == 1) { Medics -= 1; }
	}
	else if(PlayerInfo[playerid][pJob] == 7)
	{
	    if(JobDuty[playerid] == 1) { Mechanics -= 1; }
	}
	if(BugOn[playerid] > 1)
	{
		BugInfo[playerid][BugX] = -99999.0;
		BugInfo[playerid][BugY] = -99999.0;
		BugInfo[playerid][BugZ] = -99999.0;
		BugOn[playerid] = 0;
	}
}
Heres it...
Reply


Messages In This Thread
Server Crash when a player exits the game - by erik019 - 13.07.2011, 22:07
Re: Server Crash when a player exits the game - by Jantjuh - 13.07.2011, 22:10
Re: Server Crash when a player exits the game - by erik019 - 13.07.2011, 22:17
Re: Server Crash when a player exits the game - by geerdinho8 - 13.07.2011, 22:28
Re: Server Crash when a player exits the game - by erik019 - 13.07.2011, 22:34
Re: Server Crash when a player exits the game - by geerdinho8 - 13.07.2011, 23:52
Re: Server Crash when a player exits the game - by erik019 - 14.07.2011, 21:03

Forum Jump:


Users browsing this thread: 1 Guest(s)