[AYUDA]crash del servidor
#1

Hola Forum samp, Bueno mi problema es que mi sv crashea despuйs de 20 mil lineas que hise (algunas del ladmin) y cuando instale el crashdetect en el log me puso esto
[21:39:45]: Script[filterscripts\LuxAdmin.amx]: During execution of PingKick():
[21:39:45]: Script[filterscripts\LuxAdmin.amx]: Run time error 4: "Array index out of bounds"
[21:39:45]: Additional information:
[21:39:45]: Array max index is 3 but accessing an element at 4
[21:39:45]: Call stack (most recent call first):
[21:39:45]: public PingKick()
el public pingkick es del ladmin pero no se como arreglarlo espero que me ayuden

Gracias de ante mano.

EDIT: Me habнa olvidado como pregunte en pawno scriting y nadie respondiу pensй de preguntar acб
Reply
#2

Es un overflow del buffer. Darnos el codigo del "PingKick()" para que podamos decirte donde esta el problema.
Reply
#3

Acб esta el codigo

pawn Код:
public PingKick()
{
    if(ServerInfo[MaxPing] != 0)
    {
        PingPos++; if(PingPos > PING_MAX_EXCEEDS) PingPos = 0;
       
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            AccInfo[i][pPing][PingPos] = GetPlayerPing(i);
           
            if(GetPlayerPing(i) > ServerInfo[MaxPing])
            {
                if(AccInfo[i][PingCount] == 0) AccInfo[i][PingTime] = TimeStamp();

                AccInfo[i][PingCount]++;
                if(TimeStamp() - AccInfo[i][PingTime] > PING_TIMELIMIT)
                {
                    AccInfo[i][PingTime] = TimeStamp();
                    AccInfo[i][PingCount] = 1;
                }
                else if(AccInfo[i][PingCount] >= PING_MAX_EXCEEDS)
                {
                    new Sum, Average, x, string[128];
                    while (x < PING_MAX_EXCEEDS) {
                        Sum += AccInfo[i][pPing][x];
                        x++;
                    }
                    Average = (Sum / PING_MAX_EXCEEDS);
                    format(string,sizeof(string),"**Jugador %s (ID:%d) ha sido Automaticamente Kickeado. | Razon: Ping Alto - %d (Promedio - %d | Max Permitido - %d)", PlayerName2(i),i, GetPlayerPing(i), Average, ServerInfo[MaxPing]);
                    SendClientMessageToAll(COLOR_GRIS,string);
                    SaveIn("KickLog",string);
                    Kick(i);
                }
            }
            else if(GetPlayerPing(i) < 1 && ServerInfo[AntiBot] == 1)
            {
                AccInfo[i][BotPing]++;
                if(AccInfo[i][BotPing] >= 3) BotCheck(i);
            }
            else
            {
                AccInfo[i][BotPing] = 0;
            }
        }
    }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)