[Ayuda][LAG] Feo feo, pero feisimo LAG
#1

Hola, hago este post con el fin de encontrar una solucion a mi puto problema que me pasaba en otro host y ahora me pasa en OTRO :S
La cosa es que abro el server desde el host y despues de 20 minutos, 30 minutos no lo se le viene al server un LAG pero no se imaginan, voy a tratar de describirlo
Al conectarse se queda en Connecting Joining "IP"... ahi se tilda 30 o 40 segundos y despues recien muestra el cartel de spawn y dialog, etc.
Pero OJO, no termino el lag, solo muestra una parte de lo que dije, luego de otros 30 o 40 segundos muestra lo siguiente, y asi sucesivamente. La verdad es que ASI de esta manera no se puede jugar :S
Alguna solucion? Algun aporte? Que puede ser?
Gracias

EDIT: ES UN GM HECHO DE 0 CON APENAS 20 MIL LINEAS, NO ES NINGUN RP NI NADA DE ESO.
PD: CREO QUE LLEGA AL MINUTO EL LAG.
PD2: EL HOST ES DE MI MISMO PAIS, ARGENTINA OSEA NO ES PROBLEMA DEL HOST.
Reply
#2

Quizбs tengas sobrecargado de cosas

pawn Код:
public OnPlayerUpdate
Reply
#3

Vos decis? esto tengo en OnPlayerUpdate:
pawn Код:
public OnPlayerUpdate(playerid)
{
    if(Ingresado[playerid] == false)
    {
    if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
    SetPlayerArmedWeapon(playerid,1);
    return 0;
  }
}
Reply
#4

Ah .___.

Quizбs tengas bastantes funciones en el registro, no se, xD No se me ocurre nada que te cause lag, o bien, tu tarjeta de vнdeo es = de pйsima que la mнa -____-
Reply
#5

Ge force 512mb
Esto tengo mas abajo de OnPlayerUpdate:
pawn Код:
if(CColor[playerid] == true)
    {
        new
            keys,
            updown,
            leftright,
            Archivo[64];

        GetPlayerKeys(playerid, keys, updown, leftright);

        if(updown < 0) CSelec[playerid]--;//ARRIBA
        else if(updown > 0) CSelec[playerid]++;//ABAJO
        if(CSelec[playerid] > 4) CSelec[playerid] = 1;
        else if(CSelec[playerid] < 1) CSelec[playerid] = 4;
        if(keys & KEY_FIRE)
        {
            new
                ColorC = RGBA(COLORES[playerid][0], COLORES[playerid][1], COLORES[playerid][2], COLORES[playerid][3]);

            format(Archivo, sizeof Archivo, "Clanes/%s.ini", Clan_TAG[playerid]);
            dini_IntSet(Archivo, "Color", ColorC);
            CColor[playerid] = false;
            OcultarCombinador(playerid);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                    if(Clan_ID[playerid] == Clan_ID[i])
                        SetPlayerColor(i, ColorC);
            }
            TogglePlayerControllable(playerid, 1);
            GameTextForPlayer(playerid, "~y~~h~ Color seleccionado", 3000, 4);
        }
        if(leftright > 0)//DERECHA
        {
            if(CSelec[playerid] == 1)//ROJO
            {
                if(keys & KEY_SPRINT) COLORES[playerid][0] += 5;
                else COLORES[playerid][0]++;
                if(COLORES[playerid][0] > 255) COLORES[playerid][0] = 0;
            }
            if(CSelec[playerid] == 2)//VERDE
            {
                if(keys & KEY_SPRINT) COLORES[playerid][1] += 5;
                else COLORES[playerid][1]++;
                if(COLORES[playerid][1] > 255) COLORES[playerid][1] = 0;
            }
            if(CSelec[playerid] == 3)//AZUL
            {
                if(keys & KEY_SPRINT) COLORES[playerid][2] += 5;
                else COLORES[playerid][2]++;
                if(COLORES[playerid][2] > 255) COLORES[playerid][2] = 0;
            }
            if(CSelec[playerid] == 4)//ALPHA
            {
                if(keys & KEY_SPRINT) COLORES[playerid][3] += 5;
                else COLORES[playerid][3]++;
                if(COLORES[playerid][3] > 255) COLORES[playerid][3] = 0;
            }

        }
        if(leftright < 0)//IZQUIERDA
        {
            if(CSelec[playerid] == 1)//ROJO
            {
                if(keys & KEY_SPRINT) COLORES[playerid][0] -= 5;
                else COLORES[playerid][0]--;
                if(COLORES[playerid][0] < 0) COLORES[playerid][0] = 255;
            }
            if(CSelec[playerid] == 2)//VERDE
            {
                if(keys & KEY_SPRINT) COLORES[playerid][1] -= 5;
                else COLORES[playerid][1]--;
                if(COLORES[playerid][1] < 0) COLORES[playerid][1] = 255;
            }
            if(CSelec[playerid] == 3)//AZUL
            {
                if(keys & KEY_SPRINT) COLORES[playerid][2] -= 5;
                else COLORES[playerid][2]--;
                if(COLORES[playerid][2] < 0) COLORES[playerid][2] = 255;
            }
            if(CSelec[playerid] == 4)//ALHPA
            {
                if(keys & KEY_SPRINT) COLORES[playerid][3] -= 5;
                else COLORES[playerid][3]--;
                if(COLORES[playerid][3] < 0) COLORES[playerid][3] = 255;
            }
        }
        ActualizarCombinador(playerid);
    }
    return 1;
}
El sistema de clanes via dini + colores.
Reply
#6

Yo no veo nada mal, pero te recomendarнa que uses Timer's y no sobrecarges el callback.

Yo tengo 256 mbs con una tarjeta Intel xDDD
Reply
#7

Ok gracias igual xD
Uso dini 1.6 en SAMP 0.3c no se que tendra que ver
Reply
#8

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
Ge force 512mb
Esto tengo mas abajo de OnPlayerUpdate:
pawn Код:
if(CColor[playerid] == true)
    {
        new
            keys,
            updown,
            leftright,
            Archivo[64];

        GetPlayerKeys(playerid, keys, updown, leftright);

        if(updown < 0) CSelec[playerid]--;//ARRIBA
        else if(updown > 0) CSelec[playerid]++;//ABAJO
        if(CSelec[playerid] > 4) CSelec[playerid] = 1;
        else if(CSelec[playerid] < 1) CSelec[playerid] = 4;
        if(keys & KEY_FIRE)
        {
            new
                ColorC = RGBA(COLORES[playerid][0], COLORES[playerid][1], COLORES[playerid][2], COLORES[playerid][3]);

            format(Archivo, sizeof Archivo, "Clanes/%s.ini", Clan_TAG[playerid]);
            dini_IntSet(Archivo, "Color", ColorC);
            CColor[playerid] = false;
            OcultarCombinador(playerid);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                    if(Clan_ID[playerid] == Clan_ID[i])
                        SetPlayerColor(i, ColorC);
            }
            TogglePlayerControllable(playerid, 1);
            GameTextForPlayer(playerid, "~y~~h~ Color seleccionado", 3000, 4);
        }
        if(leftright > 0)//DERECHA
        {
            if(CSelec[playerid] == 1)//ROJO
            {
                if(keys & KEY_SPRINT) COLORES[playerid][0] += 5;
                else COLORES[playerid][0]++;
                if(COLORES[playerid][0] > 255) COLORES[playerid][0] = 0;
            }
            if(CSelec[playerid] == 2)//VERDE
            {
                if(keys & KEY_SPRINT) COLORES[playerid][1] += 5;
                else COLORES[playerid][1]++;
                if(COLORES[playerid][1] > 255) COLORES[playerid][1] = 0;
            }
            if(CSelec[playerid] == 3)//AZUL
            {
                if(keys & KEY_SPRINT) COLORES[playerid][2] += 5;
                else COLORES[playerid][2]++;
                if(COLORES[playerid][2] > 255) COLORES[playerid][2] = 0;
            }
            if(CSelec[playerid] == 4)//ALPHA
            {
                if(keys & KEY_SPRINT) COLORES[playerid][3] += 5;
                else COLORES[playerid][3]++;
                if(COLORES[playerid][3] > 255) COLORES[playerid][3] = 0;
            }

        }
        if(leftright < 0)//IZQUIERDA
        {
            if(CSelec[playerid] == 1)//ROJO
            {
                if(keys & KEY_SPRINT) COLORES[playerid][0] -= 5;
                else COLORES[playerid][0]--;
                if(COLORES[playerid][0] < 0) COLORES[playerid][0] = 255;
            }
            if(CSelec[playerid] == 2)//VERDE
            {
                if(keys & KEY_SPRINT) COLORES[playerid][1] -= 5;
                else COLORES[playerid][1]--;
                if(COLORES[playerid][1] < 0) COLORES[playerid][1] = 255;
            }
            if(CSelec[playerid] == 3)//AZUL
            {
                if(keys & KEY_SPRINT) COLORES[playerid][2] -= 5;
                else COLORES[playerid][2]--;
                if(COLORES[playerid][2] < 0) COLORES[playerid][2] = 255;
            }
            if(CSelec[playerid] == 4)//ALHPA
            {
                if(keys & KEY_SPRINT) COLORES[playerid][3] -= 5;
                else COLORES[playerid][3]--;
                if(COLORES[playerid][3] < 0) COLORES[playerid][3] = 255;
            }
        }
        ActualizarCombinador(playerid);
    }
    return 1;
}
El sistema de clanes via dini + colores.
mmm eso si qe es muy claro que da lag xD

OnPlayerUpdate se actualiza por lo menos 15 veces por segundo cuando el player esta sin movimiento y el doble cuando lo estб

mas encima tienes sistema de dini en onplayerupdate creo que eso da lag xD
te recomiendo probar usando un timer que repita esa funcion por lomenos cada 2 segundos...
intenta, prueba lo que te sugiero y me dices que tal
Reply
#9

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
El sistema de clanes via dini + colores.
Se te ha dicho que no guardes nada en OnPlayerUpdate e insistes en guardar con DINI (un sistema muy lento que probablemente tarde unas cuantas decimas de segundo en guardar) en un callback que es llamado mas de 10 veces por segundo.

P.D: no habia leidola respuesta de WHEELMANDTS...
Reply
#10

Quote:
Originally Posted by Miguel
Посмотреть сообщение
Se te ha dicho que no guardes nada en OnPlayerUpdate e insistes en guardar con DINI (un sistema muy lento que probablemente tarde unas cuantas decimas de segundo en guardar) en un callback que es llamado mas de 10 veces por segundo.

P.D: no habia leidola respuesta de WHEELMANDTS...
Que te pasa?
Bueno probare lo que decis vos WHEELMANDTS xD
Quitare lo de los clanes ya que no lo uso mas :P
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)