BigETI

OnPlayerDisconnect fix for godfathers

Mar 21st, 2011
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.10 KB | None | 0 0
  1. public OnPlayerDisconnect(playerid, reason)
  2. {
  3.     new string[150];
  4.     new dateiname[MAX_PLAYER_NAME+4];
  5.     new var[256];
  6.     new playername[MAX_PLAYER_NAME];
  7.     GetPlayerName(playerid,playername,sizeof(playername));
  8.     DeleteTicket(playerid);
  9.     KillTimer(paydaycount[playerid]);
  10.     DestroyObject(Sperre[playerid][0]);
  11.     DestroyObject(Sperre[playerid][1]);
  12.     DestroyObject(Sperre[playerid][2]);
  13.     DestroyObject(Sperre[playerid][3]);
  14.     DestroyObject(Sperre[playerid][4]);
  15.     Sperrebit[playerid]=0;
  16.     InCargo[playerid] = 0; InLevi[playerid] = 0;
  17.     gActivePlayers[playerid]--;
  18.     numplayers--;
  19.     PlayerInfo[playerid][pAdjustable] = 1;
  20.     PlayerUpdate(playerid);
  21.     StadtreinigungCP[playerid] = 0;
  22.     Stadtreinigung[playerid] = 0;
  23.     StadtreinigungCP2[playerid] = 0;
  24.     Stadtreinigung2[playerid] = 0;
  25.     StadtreinigungCP3[playerid] = 0;
  26.     Stadtreinigung3[playerid] = 0;
  27.     MullabfuhrCP[playerid] = 0;
  28.     Mullabfuhr[playerid] = 0;
  29.     MullabfuhrCP2[playerid] = 0;
  30.     Mullabfuhr2[playerid] = 0;
  31.     format(string,sizeof(string),"%s war nun %d Minuten online! (ID: %d | IP: %s)",playername,PlayerInfo[playerid][pMinutesSinceLogin],playerid,pIP[playerid]);
  32.     Log("Online.txt",string);
  33.     format(dateiname, sizeof(dateiname), "/fahrzeuge/%s.car", playername);
  34.     new File: CarFile = fopen(dateiname, io_write);
  35.     format(var, 256, "AH_Typ=%i\n", Carlist[playerid][Typ]); fwrite(CarFile, var);
  36.     format(var, 256, "AH_X=%f\n", Carlist[playerid][CarPos_x]); fwrite(CarFile, var);
  37.     format(var, 256, "AH_Y=%f\n", Carlist[playerid][CarPos_y]); fwrite(CarFile, var);
  38.     format(var, 256, "AH_Z=%f\n", Carlist[playerid][CarPos_z]); fwrite(CarFile, var);
  39.     format(var, 256, "AH_Rot=%f\n", Carlist[playerid][CarRotate]); fwrite(CarFile, var);
  40.     format(var, 256, "AH_Status=%i\n", Carlist[playerid][Status]); fwrite(CarFile, var);
  41.     format(var, 256, "AH_Lock=%i\n", Carlist[playerid][Lock]); fwrite(CarFile, var);
  42.     format(var, 256, "AH_Paintjob=%i\n", Carlist[playerid][Paintjob]); fwrite(CarFile, var);
  43.     format(var, 256, "AH_Farbe1=%i\n", Carlist[playerid][Farbe1]); fwrite(CarFile, var);
  44.     format(var, 256, "AH_Farbe2=%i\n", Carlist[playerid][Farbe2]); fwrite(CarFile, var);
  45.     format(var, 256, "AH_mod1=%i\n", Carlist[playerid][mod1]); fwrite(CarFile, var);
  46.     format(var, 256, "AH_mod2=%i\n", Carlist[playerid][mod2]); fwrite(CarFile, var);
  47.     format(var, 256, "AH_mod3=%i\n", Carlist[playerid][mod3]); fwrite(CarFile, var);
  48.     format(var, 256, "AH_mod4=%i\n", Carlist[playerid][mod4]); fwrite(CarFile, var);
  49.     format(var, 256, "AH_mod5=%i\n", Carlist[playerid][mod5]); fwrite(CarFile, var);
  50.     format(var, 256, "AH_mod6=%i\n", Carlist[playerid][mod6]); fwrite(CarFile, var);
  51.     format(var, 256, "AH_mod7=%i\n", Carlist[playerid][mod7]); fwrite(CarFile, var);
  52.     format(var, 256, "AH_mod8=%i\n", Carlist[playerid][mod8]); fwrite(CarFile, var);
  53.     format(var, 256, "AH_mod9=%i\n", Carlist[playerid][mod9]); fwrite(CarFile, var);
  54.     format(var, 256, "AH_mod10=%i\n", Carlist[playerid][mod10]); fwrite(CarFile, var);
  55.     format(var, 256, "AH_mod11=%i\n", Carlist[playerid][mod11]); fwrite(CarFile, var);
  56.     format(var, 256, "AH_mod12=%i\n", Carlist[playerid][mod12]); fwrite(CarFile, var);
  57.     format(var, 256, "AH_mod13=%i\n", Carlist[playerid][mod13]); fwrite(CarFile, var);
  58.     format(var, 256, "AH_mod14=%i\n", Carlist[playerid][mod14]); fwrite(CarFile, var);
  59.     format(var, 256, "AH_mod15=%i\n", Carlist[playerid][mod15]); fwrite(CarFile, var);
  60.     format(var, 256, "AH_mod16=%i\n", Carlist[playerid][mod16]); fwrite(CarFile, var);
  61.     format(var, 256, "AH_mod17=%i\n", Carlist[playerid][mod17]); fwrite(CarFile, var);
  62.     fclose(CarFile);
  63.     if(Invade[playerid] != 255)
  64.     {
  65.         SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast während dem Einnehmprozess im Gangwar den Server verlassen.");
  66.         Invade[playerid] = 255;
  67.         if(GangWarMember[playerid] == 1) Attackers --;
  68.         else if(GangWarMember[playerid] == 2) Defenders --;
  69.         GangWarMember[playerid] = 0;
  70.     }
  71.     if(Carlist[playerid][Carid]!=-1)
  72.     {
  73.         SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  74.         DestroyVehicle(Carlist[playerid][Carid]);
  75.         Carlist[playerid][Carid]=-1;
  76.     }
  77.     if (Spectating[playerid][0]!=-1)
  78.     {
  79.             SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
  80.             Spectating[playerid][0]=-1;
  81.     }
  82.     if(RobStatus[playerid] == 1)
  83.     {
  84.             KillTimer(robbing[playerid]);
  85.         RobInfo[Rob_Zone[playerid]][rRobber] --;
  86.     }
  87.     for(new i = 0; i < MAX_PLAYERS; i++)
  88.     {
  89.         if(IsPlayerConnected(i))
  90.         {
  91.                 if(TaxiAccepted[i] < 999)
  92.                 {
  93.                     if(TaxiAccepted[i] == playerid)
  94.                 {
  95.                         TaxiAccepted[i] = 999;
  96.                         GameTextForPlayer(i, "~w~Kunde~n~~r~Hat das Spiel Verlassen", 5000, 1);
  97.                         TaxiCallTime[i] = 0;
  98.                         DisablePlayerCheckpoint(i);
  99.                     }
  100.                 }
  101.                 else if(BusAccepted[i] < 999)
  102.                 {
  103.                     if(BusAccepted[i] == playerid)
  104.                     {
  105.                         BusAccepted[i] = 999;
  106.                         GameTextForPlayer(i, "~w~Kunde~n~~r~Hat Spiel Verlassen", 5000, 1);
  107.                         BusCallTime[i] = 0;
  108.                         DisablePlayerCheckpoint(i);
  109.                     }
  110.                 }
  111.         }
  112.     }
  113.     if(reason == 0)
  114.     {
  115.         if(PlayerCuffed[playerid] >= 1)
  116.         {
  117.             format(string,sizeof(string),"AdmCmd: %s hatte gefesselt einen Exe-Crash! Er wird nicht automatisch eingesperrt.",playername);
  118.             ABroadCast(COLOR_LIGHTRED,string,1);
  119.         }
  120.     }
  121.     if(reason == 1)
  122.     {
  123.         if(PlayerCuffed[playerid] >= 1)
  124.         {
  125.             format(string,sizeof(string),"AdmCmd: %s ist gefesselt bzw. gecufft offline gegangen!",playername);
  126.             ABroadCast(COLOR_LIGHTRED,string,1);
  127.         }
  128.     }
  129.     if(GettingCK[playerid] < 999)
  130.     {
  131.         if(IsPlayerConnected(GettingCK[playerid]))
  132.         {
  133.                 SendClientMessage(GettingCK[playerid], COLOR_YELLOW, "Dein Contract hat den Server verlassen.");
  134.                 OnCK[GettingCK[playerid]] = 999;
  135.         }
  136.     }
  137.     if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
  138.     {
  139.         if(IsPlayerConnected(TransportDriver[playerid]))
  140.         {
  141.             TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
  142.             TransportTime[TransportDriver[playerid]] = 0;
  143.             TransportCost[TransportDriver[playerid]] = 0;
  144.             format(string, sizeof(string), "~w~ Der Kunde ist ausgestiegen~n~~g~Verdienst: $%d",TransportCost[playerid]);
  145.             GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
  146.         }
  147.     }
  148.     if(GotHit[playerid] > 0)
  149.     {
  150.         if(GetChased[playerid] < 999)
  151.         {
  152.                 if(IsPlayerConnected(GetChased[playerid]))
  153.                 {
  154.                     SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Er hat den Server verlassen.");
  155.                     GoChase[GetChased[playerid]] = 999;
  156.             }
  157.         }
  158.     }
  159.     if(PlayerPaintballing[playerid] != 0) PaintballPlayers --;
  160.     if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0) KartingPlayers --;
  161.     if(PlayersChannel[playerid] < 999) IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
  162.     if(HireCar[playerid] != 299)
  163.     {
  164.         gLastDriver[HireCar[playerid]] = 300;
  165.         gCarLock[HireCar[playerid]] = 0;
  166.         UnLockCar(HireCar[playerid]);
  167.         SetVehicleToRespawn(HireCar[playerid]);
  168.     }
  169.     if (gLastCar[playerid] > 0)
  170.     {
  171.         gLastDriver[gLastCar[playerid]] = 300;
  172.         if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
  173.         {
  174.             gCarLock[gLastCar[playerid]] = 0;
  175.             UnLockCar(gLastCar[playerid]);
  176.         }
  177.     }
  178.     if(PlayerBoxing[playerid] > 0)
  179.     {
  180.         if(Boxer1 == playerid)
  181.         {
  182.                 if(IsPlayerConnected(Boxer2))
  183.                 {
  184.                     PlayerBoxing[Boxer2] = 0;
  185.                     SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
  186.                     SetPlayerInterior(Boxer2, 5);
  187.                     GameTextForPlayer(Boxer2, "~r~Kampf unterbrochen", 5000, 1);
  188.             }
  189.         }
  190.         else if(Boxer2 == playerid)
  191.         {
  192.                 if(IsPlayerConnected(Boxer1))
  193.                 {
  194.                     PlayerBoxing[Boxer1] = 0;
  195.                     SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
  196.                     SetPlayerInterior(Boxer1, 5);
  197.                     GameTextForPlayer(Boxer1, "~r~Kampf unterbrochen", 5000, 1);
  198.             }
  199.         }
  200.         InRing = 0;
  201.         RoundStarted = 0;
  202.         Boxer1 = 255;
  203.         Boxer2 = 255;
  204.         TBoxer = 255;
  205.     }
  206.     if(TransportDuty[playerid] == 1) TaxiDrivers -= 1;
  207.     else if(TransportDuty[playerid] == 2) BusDrivers -= 1;
  208.     if(PlayerInfo[playerid][pJob] == 11) if(JobDuty[playerid] == 1) Medics -= 1;
  209.     else if(PlayerInfo[playerid][pJob] == 7) if(JobDuty[playerid] == 1) Mechanics -= 1;
  210.     else if(PlayerInfo[playerid][pJob] == 22) if(JobDuty[playerid] == 1) Eismanner -= 1;
  211.     return 1;
  212. }
Advertisement
Add Comment
Please, Sign In to add comment