Detaljan opis: Kada igrac ode offline ne unisti mu vozila, nego ostanu na serveru da stvaraju lag.
Deo skripte:
Quote
public OnPlayerDisconnect(playerid, reason)
{
DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca);
DestroyObject(GetPVarInt(playerid, "drvo"));
DestroyObject(GetPVarInt(playerid, "drvo1"));
DestroyObject(GetPVarInt(playerid, "drvo2"));
foreach(Player, i)
{
if(hPrihvatio == playerid)
{
hPrihvatio = -1;
GameTextForPlayer(i, "~r~Pozivalac napustio igru", 5000, 1);
b_DisablePlayerCheckpoint(i);
}
if(IgracPosmatraIgraca == playerid) cmd_uncon(i, "");
}
TextDrawDestroy(Text:TDEvent1);
TextDrawDestroy(Text:TDEvent2);
TextDrawDestroy(Text:TDEvent3);
TextDrawDestroy(Text:TDEvent4);
TextDrawDestroy(Text:TDEvent5);
TextDrawDestroy(Text:TDEvent6);
NovacTD(playerid, 0, "_");
strmid(TeleportStaraZona, "", 0, strlen(""), 100);
strmid(TeleportNovaZona, "", 0, strlen(""), 100);
TeleportDozvoljen = 0; IgracSpawnan = 0; hIgracUlogovan = 0; TeleportOtkriven = 0;
JoypadOtkriven = 0; BezanjeOtkriveno = 0; ideBrzinom = -1;
for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno = -1;
TeleportUdaljenost = 0; hDobioPay = 0;
PoslednjeVozilo = INVALID_VEHICLE_ID;
if(TaxiPozivalac == playerid) TaxiPozivalac = -1;
if(BusPozivalac == playerid) BusPozivalac = -1;
if(MehPozivalac == playerid) MehPozivalac = -1;
if(MDPozivalac == playerid) MDPozivalac = -1;
if(PlayerInfo != -1) SacuvajKucu(PlayerInfo);
if(PlayerInfo != -1) SacuvajStan(PlayerInfo);
if(PlayerInfo != -1) SacuvajFirmu(PlayerInfo);
if(PlayerInfo != -1) SacuvajSFirmu(PlayerInfo);
if(PlayerInfo != -1) SacuvajVikendicu(PlayerInfo);
if(KomeProdaje != -1) SCM(KomeProdaje, COLOR_LIGHTRED, "Prodaja neuspjesna |{FFFFFF} Igrac koji Vam je poslao ponudu je nazalost napustio server.");
if(PonudioIgrac != -1) SCM(PonudioIgrac, COLOR_LIGHTRED, "Prodaja neuspjesna |{FFFFFF} Igrac kome ste poslali ponudu je nazalost napustio server.");
if(KomeProdaje != -1)
{
StaProdaje[KomeProdaje] = 0;
CijenaProdaje[KomeProdaje] = 0;
PonudioIgrac[KomeProdaje] = -1;
KomeProdaje[KomeProdaje] = -1;
}
if(IgracUWaru == 1)
{
foreach(Player, i)
{
if(PlayerInfo == PlayerInfo)
{
SCMF(i, CRVENA, "WAR | Igrac %s je napustio server!", GetName(playerid));
}
}
ClanovaUWaru[PlayerInfo]--;
}
if(Intervju != -1)
{
foreach(Player, i)
{
if(IsPlayerConnected(i) && Intervju == 555)
{
IntAktivan = false;
SCMF(playerid, COLOR_LIGHTBLUE, "* %s je napustio intervju.", GetName(playerid));
}
}
}
if(IznajmioVozilo != -1)
{
SetVehicleToRespawn(RentVozilo[IznajmioVozilo]);
VoziloIznajmljeno[IznajmioVozilo] = -1;
}
if(prc_Moving == true)
{
KillTimer_B(prc_Timer); // uništavanje tajmera
prc_Degree = 0;
prc_Moving = false;
}
new id = PlayerInfo;
Delete3DTextLabel(DrogaLabel);
DestroyPickup(DrogaPickup);
DestroyObject(DrogaObject);
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PlayerInfo = 0;
foreach(Player, i)
{
if(Meta == playerid)
{
SCM(i, ZUTA, "* Vasa meta je napustila server.");
Meta = -1;
}
}
PlayerInfo = 0;
if(RazgovaraSa != -1)
{
GameTextForPlayer(RazgovaraSa, "~r~Veza se prekinula!", 3000, 5);
if(PozivZa != -1) KillTimer_B(naplatipoziv);
if(ZoveGa != -1) KillTimer_B(naplatipoziv[RazgovaraSa]);
SetPlayerSpecialAction(RazgovaraSa, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(RazgovaraSa, TELEFON_SLOT);
ZoveGa[RazgovaraSa] = -1;
PozivZa[RazgovaraSa] = -1;
RazgovaraSa[RazgovaraSa] = -1;
ZoveGa = -1;
PozivZa = -1;
RazgovaraSa = -1;
}
Speedo(playerid, 0);
if(hGledaStats > 0)
{
StatusTD(playerid, 0);
}
if(GetPVarType(playerid, "PlacedBB"))
{
DestroyDynamicObject(GetPVarInt(playerid, "PlacedBB"));
DestroyDynamic3DTextLabel(Text3D:GetPVarInt(playerid, "BBLabel"));
if(GetPVarType(playerid, "BBArea"))
{
foreach(Player,i)
{
if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "BBArea")))
{
StopAudioStreamForPlayer(i);
}
}
}
}
if(VoziSeBusom == 1) KillTimer_B(busvoznja);
if(VoziSeTaxijem == 1) KillTimer_B(taxivoznja);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
if(IsPlayerAttachedObjectSlotUsed(playerid, 2)) RemovePlayerAttachedObject(playerid, 2);
if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
if(IsPlayerAttachedObjectSlotUsed(playerid, 5)) RemovePlayerAttachedObject(playerid, 5);
if(IsPlayerAttachedObjectSlotUsed(playerid, 6)) RemovePlayerAttachedObject(playerid, 6);
if(reason == 0 && hIgracUlogovan == 1)
{
SacuvajIgraca(playerid);
ServerInfo++;
}
else if(reason == 2)
SacuvajIgraca(playerid);
}
{
DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca); DestroyObject(Vreca);
DestroyObject(GetPVarInt(playerid, "drvo"));
DestroyObject(GetPVarInt(playerid, "drvo1"));
DestroyObject(GetPVarInt(playerid, "drvo2"));
foreach(Player, i)
{
if(hPrihvatio == playerid)
{
hPrihvatio = -1;
GameTextForPlayer(i, "~r~Pozivalac napustio igru", 5000, 1);
b_DisablePlayerCheckpoint(i);
}
if(IgracPosmatraIgraca == playerid) cmd_uncon(i, "");
}
TextDrawDestroy(Text:TDEvent1);
TextDrawDestroy(Text:TDEvent2);
TextDrawDestroy(Text:TDEvent3);
TextDrawDestroy(Text:TDEvent4);
TextDrawDestroy(Text:TDEvent5);
TextDrawDestroy(Text:TDEvent6);
NovacTD(playerid, 0, "_");
strmid(TeleportStaraZona, "", 0, strlen(""), 100);
strmid(TeleportNovaZona, "", 0, strlen(""), 100);
TeleportDozvoljen = 0; IgracSpawnan = 0; hIgracUlogovan = 0; TeleportOtkriven = 0;
JoypadOtkriven = 0; BezanjeOtkriveno = 0; ideBrzinom = -1;
for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno = -1;
TeleportUdaljenost = 0; hDobioPay = 0;
PoslednjeVozilo = INVALID_VEHICLE_ID;
if(TaxiPozivalac == playerid) TaxiPozivalac = -1;
if(BusPozivalac == playerid) BusPozivalac = -1;
if(MehPozivalac == playerid) MehPozivalac = -1;
if(MDPozivalac == playerid) MDPozivalac = -1;
if(PlayerInfo != -1) SacuvajKucu(PlayerInfo);
if(PlayerInfo != -1) SacuvajStan(PlayerInfo);
if(PlayerInfo != -1) SacuvajFirmu(PlayerInfo);
if(PlayerInfo != -1) SacuvajSFirmu(PlayerInfo);
if(PlayerInfo != -1) SacuvajVikendicu(PlayerInfo);
if(KomeProdaje != -1) SCM(KomeProdaje, COLOR_LIGHTRED, "Prodaja neuspjesna |{FFFFFF} Igrac koji Vam je poslao ponudu je nazalost napustio server.");
if(PonudioIgrac != -1) SCM(PonudioIgrac, COLOR_LIGHTRED, "Prodaja neuspjesna |{FFFFFF} Igrac kome ste poslali ponudu je nazalost napustio server.");
if(KomeProdaje != -1)
{
StaProdaje[KomeProdaje] = 0;
CijenaProdaje[KomeProdaje] = 0;
PonudioIgrac[KomeProdaje] = -1;
KomeProdaje[KomeProdaje] = -1;
}
if(IgracUWaru == 1)
{
foreach(Player, i)
{
if(PlayerInfo == PlayerInfo)
{
SCMF(i, CRVENA, "WAR | Igrac %s je napustio server!", GetName(playerid));
}
}
ClanovaUWaru[PlayerInfo]--;
}
if(Intervju != -1)
{
foreach(Player, i)
{
if(IsPlayerConnected(i) && Intervju == 555)
{
IntAktivan = false;
SCMF(playerid, COLOR_LIGHTBLUE, "* %s je napustio intervju.", GetName(playerid));
}
}
}
if(IznajmioVozilo != -1)
{
SetVehicleToRespawn(RentVozilo[IznajmioVozilo]);
VoziloIznajmljeno[IznajmioVozilo] = -1;
}
if(prc_Moving == true)
{
KillTimer_B(prc_Timer); // uništavanje tajmera
prc_Degree = 0;
prc_Moving = false;
}
new id = PlayerInfo;
Delete3DTextLabel(DrogaLabel);
DestroyPickup(DrogaPickup);
DestroyObject(DrogaObject);
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PPDroga = 0;
PlayerInfo = 0;
foreach(Player, i)
{
if(Meta == playerid)
{
SCM(i, ZUTA, "* Vasa meta je napustila server.");
Meta = -1;
}
}
PlayerInfo = 0;
if(RazgovaraSa != -1)
{
GameTextForPlayer(RazgovaraSa, "~r~Veza se prekinula!", 3000, 5);
if(PozivZa != -1) KillTimer_B(naplatipoziv);
if(ZoveGa != -1) KillTimer_B(naplatipoziv[RazgovaraSa]);
SetPlayerSpecialAction(RazgovaraSa, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(RazgovaraSa, TELEFON_SLOT);
ZoveGa[RazgovaraSa] = -1;
PozivZa[RazgovaraSa] = -1;
RazgovaraSa[RazgovaraSa] = -1;
ZoveGa = -1;
PozivZa = -1;
RazgovaraSa = -1;
}
Speedo(playerid, 0);
if(hGledaStats > 0)
{
StatusTD(playerid, 0);
}
if(GetPVarType(playerid, "PlacedBB"))
{
DestroyDynamicObject(GetPVarInt(playerid, "PlacedBB"));
DestroyDynamic3DTextLabel(Text3D:GetPVarInt(playerid, "BBLabel"));
if(GetPVarType(playerid, "BBArea"))
{
foreach(Player,i)
{
if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "BBArea")))
{
StopAudioStreamForPlayer(i);
}
}
}
}
if(VoziSeBusom == 1) KillTimer_B(busvoznja);
if(VoziSeTaxijem == 1) KillTimer_B(taxivoznja);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
if(IsPlayerAttachedObjectSlotUsed(playerid, 2)) RemovePlayerAttachedObject(playerid, 2);
if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
if(IsPlayerAttachedObjectSlotUsed(playerid, 5)) RemovePlayerAttachedObject(playerid, 5);
if(IsPlayerAttachedObjectSlotUsed(playerid, 6)) RemovePlayerAttachedObject(playerid, 6);
if(reason == 0 && hIgracUlogovan == 1)
{
SacuvajIgraca(playerid);
ServerInfo++;
}
else if(reason == 2)
SacuvajIgraca(playerid);
}
Slike:
http://zaslike.com/viewer.php?file=0gx67j2qmnhq8o60ivqy.png
http://zaslike.com/viewer.php?file=m1o5s22dcovpd39gdxqz.png
