Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Array index out of bounds.

Статус
В этой теме нельзя размещать новые ответы.

Cornul11

Компетентный
Сделал команду по просмотру всех сотрудников одной фракции. По неизвестной причине, она иногда работает, иногда нет. Скомпилировал с параметром -d3, все нужные данные ниже.
Сама команда:
PHP:
CMD:offmembers(playerid, params[])
{
    new string[144], iteration = 0;
    if(!Pl::Info[playerid][pLeader]) return Send(playerid, COLOR_GREY, "Недостаточно прав!");
    format(query, sizeof query, "SELECT `Name`, `Rank`, `Online`, `Internet` FROM `"#__TableUsers__"` WHERE `Member` = '%d' OR `Leader` = '%d' AND `ID` <> '%d'", Pl::FracID(playerid), Pl::FracID(playerid), Pl::Info[playerid][pID]);
    new Cache:result = Db::query(connDb, query, true);
    new rows = cache_get_row_count();
    if(rows)
    {
        new offname[24], rank, online, onlinett[28], onlined[8], whosonline;
		dialog[0] = '\0';
        for(new i; i < rows; i++)
        {
            Db::fetch_row( query );
            cache_get_row(i, 0, offname);
            cache_get_int(i, 1, rank);
            cache_get_int(i, 2, online);
            cache_get_row(i, 3, onlined);
            whosonline = ReturnUser(offname);
            if(IsPlayerConnected(whosonline)) {
                if(Pl::isLogged(whosonline)) {
                    continue;
                }
            }
            iteration += 1;
            to_timestamp(onlinett, online, "%d-%m-%y, %X");
            scf(dialog, src, "%i. %s - [%s] [%s] [%s]\n", iteration, offname, RankInfo[Pl::FracID(playerid)][rank], onlinett, onlined);
        }
        format(string, sizeof string, "{%h}Список сотрудников:", rgb<GetFracColor(Pl::FracID(playerid))>);
        SPD(playerid, D_MEMBERS, DIALOG_STYLE_LIST, string, dialog, "Выбрать", "Отмена");
    }
    else Send(playerid, COLOR_GREY, "Не найдено совпадений!");
    cache_delete(result);
    return 1;
}
Вывод в консоле:
PHP:
[14:37:21] Number of vehicle models: 82
[14:37:40] [debug] Run time error 4: "Array index out of bounds"
[14:37:40] [debug]  Accessing element at index 50 past array upper bound 24
[14:37:40] [debug] AMX backtrace:
[14:37:40] [debug] #0 00183284 in public _offmembers (playerid=0, params[]=@0x00e7d940 "") at C:\Users\Cornul11\Desktop\EXRP\gamemodes\exrp.pwn:22881
[14:37:40] [debug] #1 native DC_CMD () [f7769fe0] from dc_cmd.so
[14:37:40] [debug] #2 00000008 in ?? () at C:\Users\Cornul11\Desktop\EXRP\pawno\include\float.inc:108
[14:37:40] Игрок Cornul11 только что использовал команду "/offmembers"
Вывод при компилировании:
PHP:
..\include\anticheat.inc(1246) : warning 203: symbol is never used: "color"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase

Header size:          19688 bytes
Code size:          2194224 bytes
Data size:         15194384 bytes
Stack/heap size:      16384 bytes; estimated max. usage: unknown, due to recursion
Total requirements:17424680 bytes

1 Warning.
Содержимое файла float.inc на 108 линии:
PHP:
stock Float:operator-(Float:oper)
    return oper^Float:cellmin;                  /* IEEE values are sign/magnitude */
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу