Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±

    Run time error 4: "Array index out of bounds"

    Дратути, сегодня с утра заметил что не робит команда. Сразу вырубил сервер пошёл искать ошибку, но её не нашёл, потом запустил ещё раз сервер, выполнил команду, она опять не заработала, и когда сворачивал игру заметил консоль...
    PHP код:
    [07:09:04] [debugRun time error 4"Array index out of bounds"
    [07:09:04] [debug]  Accessing element at index 232 past array upper bound 46
    [07:09:04] [debugAMX backtrace:
    [
    07:09:04] [debug#0 00037f98 in public cmd_dropgun (playerid=0, ... <1 argument>) at C:\Users\has\Desktop\Сервер\gamemodes\fas.pwn:3239
    [07:09:04] [debug#1 native DC_CMD () from dc_cmd.DLL
    [07:09:04] [debug#2 0000137c in public OnPlayerCommandText (playerid=0, cmdtext[]=@00071abc "/dropgun") at C:\Users\has\Desktop\Сервер\pawno\include\dc_cmd.inc:62 
    Вот это команда
    3239 строка -
    PHP код:
    new MAX_DROP_GUN+1
    PHP код:
    CMD:dropgun(playerid)
    {
        
    SetPVarInt(playerid,"Floodgun",GetTickCount());new str23[30];
        if(
    GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
        new 
    GunID GetPlayerWeapon(playerid);
        new 
    GunSlot convert_slot(GunID);
        new 
    GunAmmo GetPlayerAmmo(playerid);
        if(
    GunID && GunAmmo != 0)
        {
            new 
    MAX_DROP_GUN+1;
            for(new 
    0MAX_DROP_GUNa++)
            {
                if(
    gi[a][ObjPos][0] == 0.0)
                 {
                    
    a;
                    break;
                }
            }
            
    ResetPlayerWeaponSlot(playeridGunSlot);
            
    gi[f][ObjData][0] = GunID;
            
    gi[f][ObjData][1] = GunAmmo;
            
    GetPlayerPos(playeridgi[f][ObjPos][0], gi[f][ObjPos][1], gi[f][ObjPos][2]);
            
    gi[f][ObjID] = CreateDynamicObject(gun_info[GunID][0], gi[f][ObjPos][0], gi[f][ObjPos][1], gi[f][ObjPos][2]-193.7120.0120.0);
            
            
    format(str2360"Вы выкинули | {FFFFFF}%s"gun_info[gi[f][ObjData][1]]);
            
    SendClientMessage(playerid, -1str23);
            return 
    true;
        }
        return 
    true;

    В моём старом моде это команда отлично работала.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Значение MAX_DROP_GUN покажи (как макрос объявлен).
    И инициализацию массива gi (new gi[...][...])
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    PHP код:
    #define MAX_DROP_GUN     50 
    PHP код:
    enum gInfo
    {
        
    Float:ObjPos[3],
        
    ObjID,
        
    ObjData[2]
    };
    new 
    gi[MAX_DROP_GUN][gInfo]; 



    Всё тему можно закрыть, проблема была в format(str23, 60, "Вы выкинули | %s", gun_info[gi[f][ObjData][1]]);

    Вот тут) gun_info[gi[f][ObjData][1]]

    gun_info[gi[f][ObjData]][1]

    DeimoS спс что пытался помочь)
    Последний раз редактировалось DeimoS; 06.09.2016 в 18:09.

  4. #4
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    На будущее, для таких проблем уже есть отдельный урок:
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •