Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
10 Сен 2023
Сообщения
7
в общем, на сервере установлен мод dayz и при быстром поднятии предметов такая хуйня
[10:33:15] [debug] Run time error 4: "Array index out of bounds"
[10:33:15] [debug] Attempted to read/write array element at negative index -1
[10:33:15] [debug] AMX backtrace:
[10:33:15] [debug] #0 000c84c0 in ?? (0) in dayz.amx
[10:33:15] [debug] #1 00168440 in public RS_OnDialogResponse (0, 106, 1, 0, 25585904) in dayz.amx
[10:33:15] [debug] #2 000d18e0 in public ac_OnDialogResponse (0, 106, 1, 0, 25585904) in dayz.amx
[10:33:15] [debug] #3 00017bec in public OnDialogResponse (0, 106, 1, 0, 25585904) in dayz.amx
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
865
В логах нет строки. В pawn.cfg добавьте параметр -d3, скомпилируйте мод и проведите ту же процедуру снова.
Тогда уже можете скидывать логи. Параметр -d3 покажет строки, где находятся ошибки.
 
Пользователь
Регистрация
10 Сен 2023
Сообщения
7
немного не понял что за pawn.cfg, у меня нет такого файла вообще..
В логах нет строки. В pawn.cfg добавьте параметр -d3, скомпилируйте мод и проведите ту же процедуру снова.
Тогда уже можете скидывать логи. Параметр -d3 покажет строки, где находятся ошибки.
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
865
Пользователь
Регистрация
10 Сен 2023
Сообщения
7
[22:13:47] [debug] Run time error 4: "Array index out of bounds"
[22:13:47] [debug] Attempted to read/write array element at index 50 in array of size 50
[22:13:47] [debug] AMX backtrace:
[22:13:47] [debug] #0 000e2d90 in Equipment (playerid=0) at modules/core/loots/inventory.pwn:606
[22:13:47] [debug] #1 000ea9b8 in public ac_OnPlayerKeyStateChange (playerid=0, newkeys=1024, oldkeys=0) at modules/core/loots/inventory.pwn:1038
[22:13:47] [debug] #2 00032078 in public OnPlayerKeyStateChange (playerid=0, newkeys=1024, oldkeys=0) at C:\Users\rebou\Desktop\mod\pawno\include\nex-ac.inc:5440
 
Пользователь
Регистрация
10 Сен 2023
Сообщения
7
C++:
595-617:
stock Equipment(playerid)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return true;
    new str[96], adm = 0;
    if(adm) adm = 0;
    global_string[0] = EOS;
    for(new a = 0; a < MAX_LOOT; a++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 1.75, LootInfo[a][LPos][0], LootInfo[a][LPos][1], LootInfo[a][LPos][2])) continue;
        adm ++;
        // users[playerid][PlayerItem][adm-1] = a;
        user_items[playerid][adm-1][item_use_id] = LootInfo[a][LData];
        user_items[playerid][adm-1][item_use_value] = a;
        user_items[playerid][adm-1][item_use_quantity] = LootInfo[a][LCount];
        if(LootInfo[a][LCount] < 1) format(str, sizeof(str), "%s\n", loots[LootInfo[a][LData]][loot_name]);
        if(LootInfo[a][LCount] > 0) format(str, sizeof(str), "%s [%i]\n", loots[LootInfo[a][LData]][loot_name], LootInfo[a][LCount]);
        strcat(global_string, str);
    }
    if(!adm) return true;
    LoopingAnim(playerid,"BOMBER","BOM_Plant_Loop", 2.1, 0, 1, 1, 1, 1);
    show_dialog(playerid, d_takedrop, DIALOG_STYLE_LIST, !"Снаряжение рядом:", global_string, !"Взять", !"Закрыть");
    return true;
}

1032-1046:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_WALK))
    { // ALT
        if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && observation[playerid][observation_id] != INVALID_PLAYER_ID) SelectTextDraw(playerid, 0x535250AA);
        else Equipment(playerid);
        return 1;
    }
    if(PRESSED(KEY_YES)) return inventory_use(playerid); // Открытие инвентаря;
    #if defined IN_OnPlayerKeyStateChange
        return IN_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
    #else
        return 1;
    #endif
}
 
Последнее редактирование модератором:
Пользователь
Регистрация
10 Сен 2023
Сообщения
7
C++:
enum vlootInfo { LData,Float:LPos[3],LModel,LIndexObj, LCount }
new LootInfo[MAX_LOOT][vlootInfo],IndexLoot = 0;
stock Float:CorrectingPos(obj, coord, cor = 1)
{
    switch(coord)
    {
    case 1:
        { //az
            new Float:az;
            switch(obj)
            {
            case 2663:az=0.23; case 1666:az=0.075; case 1546:az=0.092; case 2806:az=0.09; case 2804:az=0.07;
            case 2768:az=0.045; case 2814:az=0.002; case 2769,355:az=0.02; case 349,358:az=-0.027;
            case 356,352,353:az=-0.007; case 372:az=-0.011; case 346:az=-0.013; case 347:az=-0.005; case 351:az=-0.015;
            case 336:az=-0.03; case 339:az=-0.01; case 337:az=0.08; case 335,334,330,327:az=-0.02; case 2040:az=0.108;
            case 1575,1576,1578,1579,1577:az=-0.032; case 2709:az=0.134; case 1074: az=0.47; case 1242:az=0.154; case 2969:az=0.118;
            case 3013:az=0.138; case 1650:az=0.312; case 1509:az=0.199; case 2386:az=-0.041; case 11736:az=0.015;
            case 3026:az=-0.029; case 1310:az=0.111; case 2710:az=0.1; case 1463:az=-0.36; case 1455:az=0.069;
            case 342,344:az=-0.015; case 368:az=-0.07; case 1279,363:az=0.06; case 2922:az=0.03; case 1357:az=0.265;
            case 960:az=0.305;
            default:
                {
                    switch(cor)
                    {
                    case 2: return 0.0;
                    default: return 1.0;
                    }
                }
            }
            switch(cor)
            {
            case 2: return az;
            default: az = 1.0 - az;
            }
            return az;
        }
    case 2: // x
        {
            switch(obj)
            {
            case 349,351,336,355,356,358,352,353,372,346: return 80.0; case 348,335,334,330,327,342,344,2922: return 90.0;
            case 347,350,359: return 91.0; case 339: return 85.0; case 337: return 11.0; case 3026,1310,1463,363: return -90.0;
            default: return 0.0;
            }
        }
    case 3: //y
        {
            switch(obj)
            {
            case 349: return -36.0; case 355,351,336,339,356,358,352,353,372,346: return -34.0; case 347,350,359: return -30.0;
            case 337,335,334: return 90.0; case 368: return 270.0;
            default: return 0.0;
            }
        }
    }
    return 0.0;
}
 
Сверху