[Duda]Esto daria lag?
#1

Hola!amigos tengo una duda,guardar las cuentas en onplayerupdate o en con un timer de 4 o 5 segundos daria lag?desde ya muchas gracias por sus respuestas
Reply
#2

Es preferible el timer
Reply
#3

OnPlayerUpdate <---- lee la Nota Importante:
Reply
#4

OnPlayerUpdate es llamado aproximadamente 20 veces por segundo, guardar datos (ya sea con INI, con MySQL, o lo que sea) darнa un lag impresionante. El timer serнa muchнsimo mejor, ni siquiera es necesario que el timer sea de 5 segundos, podrнa tranquilamente ser de un minuto :P
Reply
#5

OnPlayerUpdate <---- lee la Nota Importante
Reply
#6

OnPlayerDisconnect, їpara quй guardar los datos todo el tiempo? Es completamente innecesario, guarda los datos en OnPlayerDisconnect. En caso de que tu GM estй ligado a una base de datos en MySQL y que tenga una web, puedes actualizar los datos una vez que estos cambien y no todo el tiempo innecesariamente, por ejemplo, cuando necesites actualizar muertes y bajas, utiliza OnPlayerDeath, que es cuando esos datos cambian, у, cuando deposita cierto dinero en la cuenta bancaria, actualizas el campo de la tabla cuando el jugador deposite o haga una extracciуn.
Reply
#7

Quote:
Originally Posted by CaptainMactavish
Посмотреть сообщение
OnPlayerDisconnect, їpara quй guardar los datos todo el tiempo? Es completamente innecesario, guarda los datos en OnPlayerDisconnect. En caso de que tu GM estй ligado a una base de datos en MySQL y que tenga una web, puedes actualizar los datos una vez que estos cambien y no todo el tiempo innecesariamente, por ejemplo, cuando necesites actualizar muertes y bajas, utiliza OnPlayerDeath, que es cuando esos datos cambian, у, cuando deposita cierto dinero en la cuenta bancaria, actualizas el campo de la tabla cuando el jugador deposite o haga una extracciуn.
Y si el servidor se cae, їNo se perderнan los datos? Yo creo que sн.
Reply
#8

SetTimer claramente, si lo pones en OnPlayerUpdate, serб como un ataque DDOS.
el SetTimer en OnGameModeInit, cada 10 minutos, o algo asн.

Lуgicamente, si cierras el servidor antes de esos 10 minutos, no se guardan. Pero si el servidor estarб hosteado, no habrб ningъn problema.
Reply
#9

Quote:
Originally Posted by Frenzi
Посмотреть сообщение
Y si el servidor se cae, їNo se perderнan los datos? Yo creo que sн.
Claro ese es el punto,yo guardo actualmente cada vez que se modifica algo y al desconectarse pero cuando cierro el servidor (cierro la consola) el player aparece donde estuvo unos 5 minutos antes y la habia cambiado el skin vuelve a tener el anterior .Habia colocado este codigo en ongamemodeexit pero me sigue sucediendo.


pawn Код:
public OnGameModeExit()
{
#if defined _foreach_included
foreach(Player, i)
#else
for(new i = 0; i < MAX_PLAYERS; ++i)
if(IsPlayerConnected(i))
#endif
/*aca guardo la cuenta*/
GuardarCuentas(i);//con esto!
KillTimer(TSuciedadVEH);
KillTimer(TSuciedadPJ);
KillTimer(TOrinaPJ);
KillTimer(maintimer);
KillTimer(speedotimer);
KillTimer(savetimer);
KillTimer(burgertimer);
KillTimer(chickentimer);
//TextDrawDestroy(SpeedoBox);
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerDisconnect(i, 1);
}
}
for(new i=1; i < MAX_DVEHICLES; i++)
{
if(VehicleCreated[i])
{
DestroyVehicle(VehicleID[i]);
if(VehicleCreated[i] == VEHICLE_DEALERSHIP)
{
Delete3DTextLabel(VehicleLabel[i]);
}
}
}
for(new i=1; i < MAX_DEALERSHIPS; i++)
{
if(DealershipCreated[i])
{
Delete3DTextLabel(DealershipLabel[i]);
}
}
for(new i=1; i < MAX_FUEL_STATIONS; i++)
{
if(FuelStationCreated[i])
{
Delete3DTextLabel(FuelStationLabel[i]);
}
}
Seifader_OnExit();
TextDrawHideForAll(Textdraw0);
TextDrawDestroy(Textdraw0);
for(new i=0; i<MAX_PLAYERS; i++)
{
TextDrawHideForAll(GPS[i]);
TextDrawDestroy(GPS[i]);
TextDrawHideForAll(iSKmh[i]);
TextDrawDestroy(iSKmh[i]);
TextDrawHideForAll(iSVName[i]);
TextDrawDestroy(iSVName[i]);
}
return 1;
}
Reply
#10

Quote:
Originally Posted by adri1
Посмотреть сообщение
SetTimer claramente, si lo pones en OnPlayerUpdate, serб como un ataque DDOS.
el SetTimer en OnGameModeInit, cada 10 minutos, o algo asн.

Lуgicamente, si cierras el servidor antes de esos 10 minutos, no se guardan. Pero si el servidor estarб hosteado, no habrб ningъn problema.
Yo creo que seria mejor actualizar cada vez que se modifica, en onplayerdisconnect y en ongamemodeexit porque si pones ese timer y te atacan el servidor y se reinicia te joderia todo :/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)