02.01.2015, 08:47
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
switch (PlayerInfo[playerid][inDMZone])
{
case 3:
{
gMINIPlayers--;
}
case 4:
{
gGDMPlayers--;
}
case 5:
{
gSNOWPlayers--;
}
}
PlayerInfo[playerid][Minutes] += gettime() - gOnlineTime[playerid];
players_connected--;
if (PlayerInfo[playerid][GodEnabled] == 1)
{
Delete3DTextLabel(Text3D:godtext[playerid]);
PlayerInfo[playerid][GodEnabled] = 0;
}
if(OnDuty[playerid] == 1)
{
Delete3DTextLabel(Text3D:adminlabel[playerid]);
}
//vehicle
DestroyVehicle(PlayerInfo[playerid][pSpawnVehicle]);
PlayerInfo[playerid][pSpawnVehicle] = INVALID_VEHICLE_ID;
//----------
if (IsBeingSpeced[playerid] == 1)
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (spectatorid[i] == playerid)
{
TogglePlayerSpectating(i, false);
}
}
}
new string[250];
Iter_Remove(ON_Player, playerid);
if( Minigamer_{ playerid } == true )
{
if( inProgress > 1 )
{
format( string, sizeof string, "[DGW] {%06x}%s "WHITE"has dropped out of "RED"Don't Get Wet minigame, "WHITE"rank "GREY"%d", GetPlayerColor(playerid) >>> 8, GetName( playerid ), Iter_Count(_Minigamer) );
SendClientMessageToAll( -1, string );
Iter_Remove(_Minigamer, playerid );
Minigamer_{ playerid } = false;
if( Iter_Count(_Minigamer) < 2 )
{
foreach(_Minigamer, i) MinigameWinner( i );
}
}
else
{
Iter_Remove(_Minigamer, playerid);
Minigamer_{ playerid } = false;
}
}
if (PlayerInfo[playerid][VIP] >= 1)
{
Delete3DTextLabel(VIPLabel[playerid]);
}
SetPlayerHealth(playerid, 100.0);
if (PlayerInfo[playerid][Spawned] == 1)
{
SaveStats(playerid);
}
//------------------------------
// Notification (Mute System)..
//------------------------------
if (PlayerInfo[playerid][Muted] >= 1)
{
PlayerInfo[playerid][Muted] = 0;
}
PlayerInfo[ playerid ][ Muted ] = 0;
//=====================================
InMeeting[playerid] = 0;
new str[256];
switch(reason)
{
case 0: format( str, sizeof(str), ""GREY"<"RED"-"GREY"> {%06x}%s(%d) {87CEFA}has disconnected "RED"(Crash){87CEFA}. "GREY"[%d/%d]", (GetPlayerColor(playerid) >>> 8), GetName( playerid ), playerid, players_connected, GetMaxPlayers() );
case 1: format( str, sizeof(str), ""GREY"<"RED"-"GREY"> {%06x}%s(%d) {87CEFA}has disconnected "RED"(Quit){87CEFA}. "GREY"[%d/%d]", (GetPlayerColor(playerid) >>> 8), GetName( playerid ), playerid, players_connected, GetMaxPlayers() );
case 2: format( str, sizeof(str), ""GREY"<"RED"-"GREY"> {%06x}%s(%d) {87CEFA}has disconnected "RED"(Kick/Ban){87CEFA}. "GREY"[%d/%d]", (GetPlayerColor(playerid) >>> 8), GetName( playerid ), playerid, players_connected, GetMaxPlayers() );
}
SendClientMessageToAll( -1, str );
return 1;
}