20.12.2012, 04:35
Код:
public OnPlayerDisconnect(playerid,reason) { //if(!IsPlayerNPC(playerid)) //{ //if(IsPlayerNPC(playerid)) return 1; //TextDrawDestroy(Textdraw51[playerid]); gActivePlayers[playerid]--; numplayers--; PlayerInfo[playerid][pAdjustable] = 1; OnPlayerUpdate(playerid); 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~Taxi Caller~n~~r~Left the game", 5000, 1); TaxiCallTime[i] = 0; DisablePlayerCheckpoint(i); } } else if(BusAccepted[i] < 999) { if(BusAccepted[i] == playerid) { BusAccepted[i] = 999; GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1); BusCallTime[i] = 0; DisablePlayerCheckpoint(i); } } } } if(GettingCK[playerid] < 999) { if(IsPlayerConnected(GettingCK[playerid])) { SendClientMessage(GettingCK[playerid], COLOR_YELLOW, " 你的身分失效了,你稍後再嘗試."); 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~Passenger left~n~~g~Earned $%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, " 你的目標已離開伺服器了."); } } } new string[64],name[MAX_PLAYER_NAME]; GetPlayerName_fixed(playerid,name,MAX_PLAYER_NAME) ; switch(reason) { case 0: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統斷線",name); case 1: format(string,sizeof string,"%s 離開了伺服器 判斷原因:自行離開",name); case 2: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統踢除",name); } SendClientMessageToAll(0x49C400FF,string); if(PlayerPaintballing[playerid] != 0) { PaintballPlayers --; } if(killrobtime[playerid] != -1) { KillTimer(killrobtime[playerid]); } if(robplayerid1[playerid] != -999) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(robplayerid2[i] == playerid && robplayerid1[playerid] == i) { robplayerid2[robplayerid1[playerid]] = -999; robplayerid1[playerid] = -999; } } } } if(robplayerid2[playerid] != -999) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(robplayerid1[i] == playerid && robplayerid2[playerid] == i) { robplayerid1[robplayerid2[playerid]] = -999; TogglePlayerControllable(robplayerid2[playerid], 1); robplayerid2[playerid] = -999; } } } } 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 (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); GameTextForPlayer(Boxer2, "~r~Match interupted", 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~Match interupted", 5000, 1); } } InRing = 0; RoundStarted = 0; Boxer1 = 255; Boxer2 = 255; TBoxer = 255; } 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; } } else if(PlayerInfo[playerid][pJob] == 18) { if(JobDuty[playerid] == 1) { PizzaBoys -= 1; } } if (PlayerInfo[playerid][pRoadblock] != 0) { RemoveRoadblock(playerid); } //TextDrawDestroy(Textdraw51[playerid]); //} }