[Duda]Esto daria lag? -
Dardo - 26.01.2013
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
Respuesta: [Duda]Esto daria lag? -
Jovanny - 26.01.2013
Es preferible el timer
Respuesta: [Duda]Esto daria lag? -
OTACON - 26.01.2013
OnPlayerUpdate <---- lee la
Nota Importante:
Re: [Duda]Esto daria lag? -
MrDeath537 - 26.01.2013
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
Respuesta: [Duda]Esto daria lag? -
OTACON - 26.01.2013
OnPlayerUpdate <---- lee la
Nota Importante
Respuesta: [Duda]Esto daria lag? -
CaptainMactavish - 27.01.2013
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.
Respuesta: [Duda]Esto daria lag? -
Frenzi - 27.01.2013
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н.
Respuesta: [Duda]Esto daria lag? -
adri1 - 27.01.2013
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.
Respuesta: [Duda]Esto daria lag? -
Dardo - 27.01.2013
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;
}
Respuesta: [Duda]Esto daria lag? -
-[R]hysi- - 27.01.2013
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 :/