[DUDA] Concejos para...
#1

Buenas, querнa pedir unos concejos para mejorar la optimizacion del Script de un SV.
Ya que en mi PC anda 100% perfecto, y en el host se empieza a laguear poco a poco, pero el ping es entre 80 y 120...

Les agradecerнa bastante!
Reply
#2

Es un tema bastante extenso, me gustarнa redactar algъn tуpico en el que explique mйtodos de optimizaciуn que conozco, sin embargo casi todos estбn aquн: https://sampforum.blast.hk/showthread.php?tid=57018

Podrнas darnos algъn cуdigo y miramos los mйtodos de optimizaciуn posibles en йl. Asн no se aсaden consejos que ya estбn ahн.
Reply
#3

Quote:
Originally Posted by _Zume
Посмотреть сообщение
Es un tema bastante extenso, me gustarнa redactar algъn tуpico en el que explique mйtodos de optimizaciуn que conozco, sin embargo casi todos estбn aquн: https://sampforum.blast.hk/showthread.php?tid=57018

Podrнas darnos algъn cуdigo y miramos los mйtodos de optimizaciуn posibles en йl. Asн no se aсaden consejos que ya estбn ahн.
Ok, dale muchas gracias!


Pero respondeme algo por favor.
Si uso 1 SetTimer que se repita cada segundo siempre, y cada que se repite tiene que hacer MUCHO, es mejor usar mas SetTimers o dejarlo asн?
Reply
#4

Quote:
Originally Posted by PitbullKiller
Посмотреть сообщение
Buenas, querнa pedir unos concejos para mejorar la optimizacion del Script de un SV.
Ya que en mi PC anda 100% perfecto, y en el host se empieza a laguear poco a poco, pero el ping es entre 80 y 120...

Les agradecerнa bastante!
Puede ser por el procesador del host o la velocidad de la memoria ram, entre otras cosas, manda un ticket a la empresa host o contratate otro host.
Reply
#5

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"10001);
forward VariablesTimer(); public VariablesTimer(){
    foreach(new 
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.
Reply
#6

Quote:
Originally Posted by _Zume
Посмотреть сообщение
Sн, hay maneras de hacer mбs eficiente un cуdigo de timers, he visto personas que por ejemplo lo siguiente >

pawn Код:
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 >

pawn Код:
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 >

pawn Код:
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.
ya lo deberias saber... es mejor utilizar gettime que GetTickCount.
saludos.




https://sampwiki.blast.hk/wiki/GetTickCount
Reply
#7

Quote:
Originally Posted by OTACON
Посмотреть сообщение
ya lo deberias saber... es mejor utilizar gettime que GetTickCount.
saludos.




https://sampwiki.blast.hk/wiki/GetTickCount
Aunque tambiйn se puede crear un cуdigo que se reinicie cada 23 dнas automбticamente antes que se cumplan los 24 dias y sobrepase el limite de su tamaсo. No hay ningъn problema
Reply
#8

Estas cosas se aprenden leyendo y practivando dia y noche, muchos de aqui por decirlo de esta manera aprendieron leyendo y practicando, porque los nuevos no pueden aprender de igual forma dejarle las cosas faciles no les ayudara en nada...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)