Sн, hay maneras de hacer mбs eficiente un cуdigo de timers, he visto personas que por ejemplo lo siguiente >
PHP код:
new
TimerComer[MAX_PLAYERS];
SetTimer("VariablesTimer", 1000, 1);
forward VariablesTimer(); public VariablesTimer(){
foreach(new i : Player){
if(TimerComer[playerid] > 0){
TimerComer[MAX_PLAYERS]--;
}
}
}
entonces, lo que hacen ellos para este codigo es digamos, establecer TimerComer[playerid] = 60; que le darнa 60 segundos para crearlo como una condiciуn a no poder comer cada 60 segundos. Cуdigos como estos podrнan resumirse a algo mas eficiente >
PHP код:
new
TimerComer[MAX_PLAYERS];
if(TimerComer[playerid] > GetTickCount())
return SendClientMessage(playerid, -1, "Solo puedes comer cada 60 segundos");
y para situar que cada 60 segundos pueda comer valga la redundancia el que, pues se establece >
PHP код:
TimerComer[playerid] = GetTickCount() + 60000;
sin uso de timers, claro tambiйn es posible con gettime(), pero el punto es ese, que si no es necesario el uso de timers pues no se usen, ahora, un timer podrнa causar lag si el tiempo que tenga es muy corto, y su funciуn sea mucha, podrias categorizar timers, ponerlos en diferentes tiempos, unir timers que tengas en diferencias para que al ejecutarse no 'choquen'.
Puede ser problema del hosting, es algo que no puede descartarse, pero tampoco de que sea un problema de eficiencia en el codigo.
EDIT: Por supuesto que gettime es mejor que GetTickCount, no ha asegurado lo contrario hacia ninguno.