30.09.2010, 18:47
Код:
public OnPlayerDisconnect(playerid, reason) { OnPlayerSave(playerid); new string[256]; 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~Chamador de Taxistas~n~~r~Deixou o jogo", 5000, 1); TaxiCallTime[i] = 0; DisablePlayerCheckpoint(i); } } else if(BusAccepted[i] < 999) { if(BusAccepted[i] == playerid) { BusAccepted[i] = 999; GameTextForPlayer(i, "~w~Chamador de Onibus~n~~r~Deixou o jogo", 5000, 1); BusCallTime[i] = 0; DisablePlayerCheckpoint(i); } } } } if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999) { if(IsPlayerConnected(TransportDriver[playerid])) { TransportMoney[TransportDriver[playerid]] += TransportCost[playerid]; TransportTime[TransportDriver[playerid]] = 0; TransportCost[TransportDriver[playerid]] = 0; format(string, sizeof(string), "~w~Passageiro deixou~n~~g~Ganhou $%d",TransportCost[playerid]); GameTextForPlayer(TransportDriver[playerid], string, 5000, 1); } } if(GotHit[playerid] > 0) { if(GetChased[playerid] < 999) { if(IsPlayerConnected(GetChased[playerid])) { SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Seu Hit deixou o server."); GoChase[GetChased[playerid]] = 999; } } } if(PlayerPaintballing[playerid] != 0) { PaintballPlayers --; } if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0) { KartingPlayers --; } if(PlayersChannel[playerid] < 999) { IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1; } if(HireCar[playerid] != 299) { gLastDriver[HireCar[playerid]] = 300; gCarLock[HireCar[playerid]] = 0; UnLockCar(HireCar[playerid]); if(reason != 0) { SetVehicleToRespawn(HireCar[playerid]); } } if(GangCar[playerid] != 512) { gLastDriver[GangCar[playerid]] = 520; gCarLock[GangCar[playerid]] = 0; UnLockCar(GangCar[playerid]); } if (gLastCar[playerid] > 0) { gLastDriver[gLastCar[playerid]] = 300; if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1) { gCarLock[gLastCar[playerid]] = 0; UnLockCar(gLastCar[playerid]); } } if(PlayerBoxing[playerid] > 0) { if(Boxer1 == playerid) { if(IsPlayerConnected(Boxer2)) { PlayerBoxing[Boxer2] = 0; SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186); SetPlayerInterior(Boxer2, 5); PlayerInfo[Boxer2][pInt] = 5; GameTextForPlayer(Boxer2, "~r~Partida Interrompida", 5000, 1); } } else if(Boxer2 == playerid) { if(IsPlayerConnected(Boxer1)) { PlayerBoxing[Boxer1] = 0; SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186); SetPlayerInterior(Boxer1, 5); PlayerInfo[Boxer2][pInt] = 5; GameTextForPlayer(Boxer1, "~r~Partida Interrompida", 5000, 1); } } InRing = 0; RoundStarted = 0; Boxer1 = 255; Boxer2 = 255; TBoxer = 255; } aDuty[playerid] = 0; Delete3DTextLabel(Description[playerid]); DestroyObject(OEscudo[playerid]); if(TransportDuty[playerid] == 1) { TaxiDrivers -= 1; } else if(TransportDuty[playerid] == 2) { BusDrivers -= 1; } else if(PlayerInfo[playerid][pJob] == 7) { if(JobDuty[playerid] == 1) { Mechanics -= 1; } } else if(PlayerInfo[playerid][pJob] == 17) { if(JobDuty[playerid] == 1) { PizzaBoys -= 1; } } if (PlayerInfo[playerid][pRoadblock] != 0) { RemoveRoadblock(playerid); } BusrouteEast[playerid][0] = 0; BusrouteWest[playerid][0] = 0; new stringill[256]; if(pLogado[playerid] >= 1) { switch(reason) { case 0: { format(stringill, sizeof(stringill), "%s Desconectou-se do servidor. (perda de conexгo/crash)", pNome(playerid)); } case 1: { format(stringill, sizeof(stringill), "%s Desconectou-se do servidor. (Vontade Propria)", pNome(playerid)); } case 2: { format(stringill, sizeof(stringill), "%s Desconectou-se do servidor. (Kickado/Banido)", pNome(playerid)); } } } ProxDetector(60.0, playerid, stringill,COR_CINZA,COR_CINZA2,COR_CINZA,COR_CINZA2,COR_CINZA); }