Quote:
Originally Posted by Ertouq
їHaces guardado de cuenta cuando un X se desconecta? Pбsanos el OnPlayerDisconnect.
|
Si, eso pasa a veces, osea que hay a veces que si se guarda y hay otras veces como que se le borran sus datos pero al conectarte si te dice que estas registrado pero al ingresar tu contraseсa te dice que es incorrecto
Код:
public OnPlayerDisconnect(playerid, reason)
{
GuardarPosicion(playerid);
GuardadoCuentas(playerid);
KillTimer(timerorina[playerid]);
KillTimer(timercansancio[playerid]);
KillTimer(timerhambre[playerid]);
DestroyProgressBar(OrinaB[playerid]);
DestroyProgressBar(HambreB[playerid]);
DestroyProgressBar(CansancioB[playerid]);
DestroyProgressBar(ProgresoB[playerid]);
KillTimer(timerbajarminutos[playerid]);
Guardar_Graffitis(playerid);
//KillTimer(timerplayer[playerid]);
YSI_Save_Account(playerid);
GuardarPosicion(playerid);
SendAdminsPlayerConnection(playerid, reason, false), SaveIpUser(playerid, false);
/////////////////////////////////// KILL TIMER ///////////////////////////////////
if(EstaEnIntro[playerid] == true) { KillTimer(NextConceptTimer[playerid]); }
else if(Player_In_Login[playerid] != 0) { KillTimer(Player_In_Login[playerid]); printf("DEBUG: Player_In_Login Timer from player %s(%i) stopped.", GetPlayerNameEx(playerid), playerid); }
else if(KickReason[playerid] != 0) { KillTimer(KickLoginTimer[playerid]); printf("DEBUG: KickReason Timer from player %s(%i) stopped.", GetPlayerNameEx(playerid), playerid); }
if(GetPlayerData[playerid][P_DresserID] != NONE_ID && TotalDresserData[GetPlayerData[playerid][P_DresserID]][PlayerInDresser] == playerid)
{
TotalDresserData[GetPlayerData[playerid][P_DresserID]][PlayerInDresser] = NONE_ID;
printf("[LOGUEADOS]: El Jugador %s [Vestidor: %i] se ha desconectado.", GetPlayerNameEx(playerid), GetPlayerData[playerid][P_DresserID]);
}
if(TVPeriodistaID == playerid)
{
TVPeriodistaID = NONE_ID;
new MsgTelevisionOffline[MAX_TEXT_CHAT];
VolverPosAEspectadores(), Transmitiendo[playerid] = false;
format(NombreDelPrograma, sizeof(NombreDelPrograma), "Finalizado");
format(MsgTelevisionOffline, sizeof(MsgTelevisionOffline), "** Televisiуn: {FFFFFF}El Periodнsta {C3FF00}%s {FFFFFF}ha Finalizado la Transmisiуn de Televisiуn. ( Fallos Tйcnicos ).", GetPlayerNameEx(playerid));
SendClientMessageToAll(COLOR_OTROS, MsgTelevisionOffline);
TextDrawHideForAll(TextDrawFondo);
TextDrawHideForAll(TextDrawTitulo);
TextDrawHideForAll(TextDrawTexto);
printf(MsgTelevisionOffline);
}
if(IsPlayerWatchingTV[playerid])
{
Televidentes --;
new MsgTelevisionOffline[MAX_TEXT_CHAT];
format(MsgTelevisionOffline, sizeof(MsgTelevisionOffline), "{FF0000}Informaciуn: {FFFFFF}%s {FF0000}ha Salido a tu Transmisiуn. Total de Especatadores: {FFFFFF}%d{FF0000}.", GetPlayerNameEx(playerid), Televidentes);
SendClientMessage(TVPeriodistaID, COLOR_OTROS, MsgTelevisionOffline);
}
if(NextBusStop[playerid] > 0)
{
new MsgBusData[MAX_TEXT_CHAT];
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
format(MsgBusData, sizeof(MsgBusData), "%s: El Conductor del Colectivo %s [Bus:#%i] se ha Desconectado. El Colectivo fue Respawneado con йxito.", LOGO_ADMIN, GetPlayerNameEx(playerid), GetPlayerVehicleID(playerid));
SendAdminMessage(COLOR_ADMIN_NEWS, MsgBusData);
SetVehicleToRespawnEx(GetPlayerVehicleID(playerid));
printf("[Colectivos]: %s desconectado. Colectivo ID: %i Respawneado", GetPlayerNameEx(playerid), GetPlayerVehicleID(playerid));
}
else
{
format(MsgBusData, sizeof(MsgBusData), "%s: El Conductor del Colectivo %s (POSIBLE ID: %i) se ha Desconectado. El Colectivo fue Respawneado sin йxito.", LOGO_ADMIN, GetPlayerNameEx(playerid), GetPlayerVehicleID(playerid));
SendAdminMessage(COLOR_ADMIN_NEWS, MsgBusData);
}
}
if(CalledID[playerid] != NONE_ID)
{
PlayerUsePhone(CalledID[playerid], ACCION_COLGAR);
IDLlamador[CalledID[playerid]] = NONE_ID;
NumLlamando[CalledID[playerid]] = false;
TelefonoOcupado[CalledID[playerid]] = false;
CalledID[CalledID[playerid]] = NONE_ID;
SendClientMessage(CalledID[playerid], COLOR_GRIS, "Se ha cortado la llamada Telйfonica. (El jugador se ha desconectado).");
PlayerDoAction(CalledID[playerid], 0, "guarda su telйfono mуvil.");
}
else if(IDLlamador[playerid] != NONE_ID)
{
PlayerUsePhone(IDLlamador[playerid], ACCION_COLGAR);
CalledID[IDLlamador[playerid]] = NONE_ID;
NumLlamando[IDLlamador[playerid]] = false;
TelefonoOcupado[IDLlamador[playerid]] = false;
IDLlamador[IDLlamador[playerid]] = NONE_ID;
SendClientMessage(IDLlamador[playerid], COLOR_GRIS, "Se ha cortado la Llamada Telйfonica. (El Jugador se ha desconectado).");
PlayerDoAction(IDLlamador[playerid], 0, "guarda su telйfono mуvil.");
}
if(IsPlayerManager(playerid)) // REVIEWING SYSTEM
{
DoLoop(i, false, MAX_PLAYERS) // Player's Loop
{
DoLoop(ii, false, MAX_REVIEWING_COUNT) // Reviewing's Loop
{
if(Manager_Reviewing_Player[i][ii] == playerid)
{
Manager_Reviewing_Player[i][ii] = NONE_MANAGER_REVIEWING;
}
}
}
}
if(playerid == ReinforcementStatus[1] && GetPlayerFactionID(playerid) == FACTION_TYPE_LSPD)
{
SetPoliceReinforcementMarket(playerid, 0 + 2);
}
GuardarPosicion(playerid);
ini_Guardar_Email(playerid);
ResetPlayerStats(playerid);
return 1;
}