13.12.2014, 22:47
Код:
public OnPlayerDisconnect(playerid, reason) { for(new i; i<MAX_VEHICLES; i++) { DestroyObject(gIndicator1[playerid][i]); DestroyObject(gIndicator2[playerid][i]); DestroyObject(gIndicator3[playerid][i]); DestroyObject(gIndicator4[playerid][i]); } if(IsPlayerNPC(playerid)) { Delete3DTextLabel(label[playerid]); return 1; } new unique=PlayerInfo[playerid][UniqueID]; KillTimer(Timer2); KillTimer(Timer3); KillTimer(Timer4[playerid]); KillTimer(Timer5); KillTimer(Curar1[playerid]); KillTimer(Curar2[playerid]); KillTimer(Curar3[playerid]); TextDrawHideForPlayer(playerid,Textdraw1); TextDrawHideForPlayer(playerid,Textdraw0); new string[128]; OnPlayerDataSave(playerid); if(reason == 0) { if(gPlayerLogged[playerid]) { KillTimer(TimerLolada); PlayerLocalMessage(playerid,15.0,"acabou de crashar/cair do servidor."); for(new i = 0; i < MAX_PLAYERS; i++) { TextDrawHideForPlayer(i, TextdrawInfo[i]); //Wait format(string, sizeof(string), "O Jogador %s (ID:%d) crashou do servidor.", GetPlayerNameEx(playerid),playerid); TextDrawSetString(TextdrawInfo[i],string); TextDrawColor(TextdrawInfo[i], 0xFFC66361); TextDrawShowForPlayer(i, TextdrawInfo[i]); } TimerLolada = SetTimer("EntrouSai", 8000, 0); SalvarPlayerStatus(unique, 0); } } else if(reason == 1) { KillTimer(TimerLolada); for(new i = 0; i < MAX_PLAYERS; i++) { TextDrawHideForPlayer(i, TextdrawInfo[i]); format(string, sizeof(string), "O Jogador %s (ID:%d) abandonou o servidor.", GetPlayerNameEx(playerid),playerid); TextDrawSetString(TextdrawInfo[i],string); TextDrawColor(TextdrawInfo[i], 0xFF000061); TextDrawShowForPlayer(i, TextdrawInfo[i]); } TimerLolada = SetTimer("EntrouSai", 8000, 0); SalvarPlayerStatus(unique, 0); return 1; } new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); PlayerInfo[playerid][CrashX] = x; PlayerInfo[playerid][CrashY] = y; PlayerInfo[playerid][CrashZ] = z; PlayerInfo[playerid][CrashInt] = GetPlayerInterior(playerid); PlayerInfo[playerid][CrashW] = GetPlayerVirtualWorld(playerid); PlayerInfo[playerid][Crashed] = 1; OnPlayerDataSave(playerid); SairDeDuty(playerid); SalvarPlayerStatus(unique, 0); UniquePlayerLogged[unique]=0; LoggedID[unique]=-1; KillTimer(verificartimer[playerid]); return 1; }