Code:
public OnPlayerDisconnect(playerid, reason)
{
AntiDeAMX();
new var0[80];
new year, month, day;
getdate(year, month, day);
new string[128];
format(string, sizeof(string), "%i/%i/%i", month, day, year);
switch(reason) {
case 0:
format(var0, 100, "{FFFFFF}%s[ID:%i] {E60000}излезе от сървъра. {FFFFFF}(Crash)", PlayerName(playerid), playerid);
case 1:
format(var0, 100, "{FFFFFF}%s[ID:%i] {E60000}излезе от сървъра. {FFFFFF}(Leave)", PlayerName(playerid), playerid);
case 2:
format(var0, 100, "{FFFFFF}%s[ID:%i] {E60000}беше кикнат от сървъра. {FFFFFF}(Kick)", PlayerName(playerid), playerid);
}
SendClientMessageToAll(0xFFFF00AA, var0);
if(logged[playerid] == 1)
{
GetPlayerWeaponData(playerid, 0, pInfo[playerid][Weapon0], pInfo[playerid][Ammo0]);
GetPlayerWeaponData(playerid, 1, pInfo[playerid][Weapon1], pInfo[playerid][Ammo1]);
GetPlayerWeaponData(playerid, 2, pInfo[playerid][Weapon2], pInfo[playerid][Ammo2]);
GetPlayerWeaponData(playerid, 3, pInfo[playerid][Weapon3], pInfo[playerid][Ammo3]);
GetPlayerWeaponData(playerid, 4, pInfo[playerid][Weapon4], pInfo[playerid][Ammo4]);
GetPlayerWeaponData(playerid, 5, pInfo[playerid][Weapon5], pInfo[playerid][Ammo5]);
GetPlayerWeaponData(playerid, 6, pInfo[playerid][Weapon6], pInfo[playerid][Ammo6]);
GetPlayerWeaponData(playerid, 7, pInfo[playerid][Weapon7], pInfo[playerid][Ammo7]);
GetPlayerWeaponData(playerid, 8, pInfo[playerid][Weapon8], pInfo[playerid][Ammo8]);
GetPlayerWeaponData(playerid, 9, pInfo[playerid][Weapon9], pInfo[playerid][Ammo9]);
GetPlayerWeaponData(playerid, 10, pInfo[playerid][Weapon10], pInfo[playerid][Ammo10]);
GetPlayerWeaponData(playerid, 11, pInfo[playerid][Weapon11], pInfo[playerid][Ammo11]);
GetPlayerWeaponData(playerid, 12, pInfo[playerid][Weapon12], pInfo[playerid][Ammo12]);
new INI:file = INI_Open(Path(playerid));
INI_SetTag(file,"Player's Data");
INI_WriteString(file,"Password",pInfo[playerid][Pass]);
INI_WriteInt(file,"Adminlevel",pInfo[playerid][Adminlevel]);
INI_WriteInt(file,"VIPlevel",pInfo[playerid][VIPlevel]);
INI_WriteInt(file,"Money",GetPlayerMoney(playerid));
INI_WriteInt(file,"Scores",GetPlayerScore(playerid));
INI_WriteInt(file,"Kills",pInfo[playerid][Kills]);
INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]);
INI_WriteInt(file, "Skin", pInfo[playerid][Skin]);
INI_WriteInt(file,"Weapon0",pInfo[playerid][Weapon0]);
INI_WriteInt(file,"Ammo0",pInfo[playerid][Ammo0]);
INI_WriteInt(file,"Weapon1",pInfo[playerid][Weapon1]);
INI_WriteInt(file,"Ammo1",pInfo[playerid][Ammo1]);
INI_WriteInt(file,"Weapon2",pInfo[playerid][Weapon2]);
INI_WriteInt(file,"Ammo2",pInfo[playerid][Ammo2]);
INI_WriteInt(file,"Weapon3",pInfo[playerid][Weapon3]);
INI_WriteInt(file,"Ammo3",pInfo[playerid][Ammo3]);
INI_WriteInt(file,"Weapon4",pInfo[playerid][Weapon4]);
INI_WriteInt(file,"Ammo4",pInfo[playerid][Ammo4]);
INI_WriteInt(file,"Weapon5",pInfo[playerid][Weapon5]);
INI_WriteInt(file,"Ammo5",pInfo[playerid][Ammo5]);
INI_WriteInt(file,"Weapon6",pInfo[playerid][Weapon6]);
INI_WriteInt(file,"Ammo6",pInfo[playerid][Ammo6]);
INI_WriteInt(file,"Weapon7",pInfo[playerid][Weapon7]);
INI_WriteInt(file,"Ammo7",pInfo[playerid][Ammo7]);
INI_WriteInt(file,"Weapon8",pInfo[playerid][Weapon8]);
INI_WriteInt(file,"Ammo8",pInfo[playerid][Ammo8]);
INI_WriteInt(file,"Weapon9",pInfo[playerid][Weapon9]);
INI_WriteInt(file,"Ammo9",pInfo[playerid][Ammo9]);
INI_WriteInt(file,"Weapon10",pInfo[playerid][Weapon10]);
INI_WriteInt(file,"Ammo10",pInfo[playerid][Ammo10]);
INI_WriteInt(file,"Weapon11",pInfo[playerid][Weapon11]);
INI_WriteInt(file,"Ammo11",pInfo[playerid][Ammo11]);
INI_WriteInt(file,"Weapon12",pInfo[playerid][Weapon12]);
INI_WriteInt(file,"Ammo12",pInfo[playerid][Ammo12]);
INI_WriteInt(file,"Warnings",pInfo[playerid][Warnings]);
INI_WriteInt(file,"Banned",pInfo[playerid][Banned]);
INI_WriteInt(file,"Muted",pInfo[playerid][Muted]);
INI_WriteInt(file,"tMuted",pInfo[playerid][tMuted]);
INI_WriteInt(file,"Jail",pInfo[playerid][Jail]);
INI_WriteInt(file,"JailTime",pInfo[playerid][JailTime]);
INI_WriteString(file,"IP",pInfo[playerid][IP]);
INI_WriteInt(file,"BizID",pInfo[playerid][BizID]);
INI_WriteInt(file,"AWarnings",pInfo[playerid][AWarnings]);
INI_WriteInt(file,"reset1",pInfo[playerid][reset1]);
INI_WriteString(file,"LastOnline",string);
INI_Close(file);
SaveAccount(playerid);
SaveUserDrugStats(playerid);
}
/*if(pInfo[playerid][BizID] != 0)
{
new id;
pInfo[playerid][BizID] = id;
SaveBusiness(id);
return 1;
}
}*/
if(Dueling[playerid] == true && Duelist[playerid] >=0 && Duelist[playerid] <=200) {
if(IsPlayerConnected(Duelist[playerid]))
{
DuelActive = false;
Dueling[Duelist[playerid]] = false;
Dueling[playerid] = false;
WinningPrice = 0;
pInfo[Duelist[playerid]][Money] = GetPlayerMoney(Duelist[playerid]);
SpawnPlayer(Duelist[playerid]);
}
}
if(InDerby[playerid] == 1)
{
PlayersInDerby -= 1;
InDerby[playerid] = 0;
DeletePVar(playerid, "DERBY");
DestroyVehicle(DerbyVehicles[playerid]);
SetPlayerVirtualWorld(playerid,0);
if(PlayersInDerby == 1)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(InDerby[i] == 1 && i != INVALID_PLAYER_ID )
{
InDerby[i] = 0;
format(string, sizeof(string), "%s е победител на DERBY! Поздравления! Получава $500 000 + 10 точки!", PlayerName(i));
SendClientMessageToAll(0x00FFFFFF, string);
DestroyVehicle(DerbyVehicles[i]);
SetPlayerScore(i,GetPlayerScore(i)+10);
pInfo[i][Scores] = GetPlayerScore(i);
GivePlayerCash(i, 500000);
SetPlayerVirtualWorld(i,0);
DeletePVar(i, "DERBY");
pInfo[i][Money] = GetPlayerMoney(i);
SpawnPlayer(i);
enablederby=0;
}
}
DerbyGame = NON_DERBY;
DerbyStarted = false;
PlayersInDerby = 0;
}
}
inDM[playerid] = 0;
indm1[playerid] = 0;
indm2[playerid] = 0;
indm3[playerid] = 0;
indm4[playerid] = 0;
indm5[playerid] = 0;
indm6[playerid] = 0;
indm7[playerid] = 0;
FRod[playerid] = 0;
Fishing[playerid] =0;
Bait[playerid] = 0;
FLine[playerid] = 0;
SetPVarInt(playerid, "laser", 0);
RemovePlayerAttachedObject(playerid, 0);
Delete3DTextLabel(PlayerLabel);
if(IsTowTrucker[playerid]==1)
{
IsTowTrucker[playerid]=0;
TowTruckers--;
}
if(CreatedRamp[playerid] == true) DestroyObject(Ramp[playerid]), CreatedRamp[playerid] = false;
CreatedRamp[playerid] = false;
Enabled[playerid]=0;
Pers[playerid]=0;
RemoveNeons(playerid);
if(GangHide[playerid] == 0) return Delete3DTextLabel(label[playerid]);
if(grider[playerid][0]){
DestroyObject(grider[playerid][0]);
DestroyObject(grider[playerid][1]);
DestroyObject(grider[playerid][2]);
grider[playerid][0] = 0;
}
if(Joined[playerid] == true)
{
JoinCount--;
Joined[playerid] = false;
DeletePVar(playerid, "DERBY");
DestroyVehicle(CreatedRaceVeh[playerid]);
DisablePlayerRaceCheckpoint(playerid);
CPProgess[playerid] = 0;
SetPlayerVirtualWorld(playerid, 0);
}
return 1;
}
This is my OnPlayerDisconnect. There is a kick in onplayerupdate about high ping, in entering wrong password in the login dialog, spam, cmd spam, fake kills, etc. But not in the OnPlayerDisconnect public. I looked at it and I can't find something wrong.
In the filterscripts there is nothing in the public OnPlayerDisconnect - it is empty