• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Массив LoadHouse

Doni_Dit

Умник
Еще раз всем привет. Прошлую тему удалили. Товарищ там ответил что нужно _i - 1. Но я так и не понял, что и куда. Может покажете на примере?

Ошибка:
C++:
[14:42:19] [debug] Run time error 4: "Array index out of bounds"
[14:42:19] [debug]  Attempted to read/write array element at index 1 in array of size 1
[14:42:19] [debug] AMX backtrace:
[14:42:19] [debug] #0 0019e044 in public @LoadHouse () at c:\Users\HOMEPC\Desktop\RP\gamemodes\rp.pwn:31930
Код:

C++:
@LoadHouse();
@LoadHouse()
{
    new time = GetTickCount(),rows = cache_num_rows();
    for(new i; i < TOTALHOUSE; i++) strmid(HouseInfo[i][hOwner],"None",0,strlen("None"),MAX_PLAYER_NAME);
    if(rows)
    {
        for(new idx = 1; idx <= rows; idx++)
        {
            cache_get_value_index_int(idx-1, 0, HouseInfo[idx][hID]); // id
            cache_get_value_index_float(idx-1, 1, HouseInfo[idx][hEntr][0]); // hEntrx
            cache_get_value_index_float(idx-1, 2, HouseInfo[idx][hEntr][1]); // hEntry
            cache_get_value_index_float(idx-1, 3, HouseInfo[idx][hEntr][2]); // hEntrz
            cache_get_value_index_float(idx-1, 4, HouseInfo[idx][hEntr][3]); // hEntrfa
            cache_get_value_index_float(idx-1, 5, HouseInfo[idx][hCar][0]); // carx
            cache_get_value_index_float(idx-1, 6, HouseInfo[idx][hCar][1]); // cary
            cache_get_value_index_float(idx-1, 7, HouseInfo[idx][hCar][2]); // carz
            cache_get_value_index_float(idx-1, 8, HouseInfo[idx][hCar][3]); // carfa
            cache_get_value_index(idx-1, 9, HouseInfo[idx][hOwner], MAX_PLAYER_NAME); // hOwner
            cache_get_value_index_int(idx-1, 10, HouseInfo[idx][hClass]); // hClass
            cache_get_value_index_int(idx-1, 11, HouseInfo[idx][hPrice]); // hPrice
            cache_get_value_index_int(idx-1, 12, HouseInfo[idx][hBuyPrice]); // buyprice
            cache_get_value_index_int(idx-1, 13, HouseInfo[idx][hInt]); // hInt
            cache_get_value_index_int(idx-1, 14, HouseInfo[idx][hLock]); // hLock
            cache_get_value_index_int(idx-1, 15, HouseInfo[idx][hDays]); // hDays
            cache_get_value_index_int(idx-1, 16, HouseInfo[idx][hHeal]); // hHeal
            cache_get_value_index_int(idx-1, 17, HouseInfo[idx][hGarage]); // hGarage
            cache_get_value_index_int(idx-1, 18, HouseInfo[idx][hAutoDoors]); // hAutoDoors
            cache_get_value_index_int(idx-1, 19, HouseInfo[idx][hSubsidia]); // hSubsidia

            if(HouseInfo[idx][hDays] < 1 || HouseInfo[idx][hDays] > 30) HouseInfo[idx][hDays] = 1;

               if(!strcmp(HouseInfo[idx][hOwner],"None",true))
            {
                HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 31, 0,-1,-1,-1,150.0);
                HouseInfo[idx][hPickup] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2]);
            }
            else
            {
                HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 32, 0,-1,-1,-1,150.0);
                HouseInfo[idx][hPickup] = CreateDynamicPickup(19522, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2]);
            }           

            HouseInfo[idx][hAreaEnter] = CreateDynamicSphere(HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 1.3, 0, 0, -1);

            new _c = HouseInfo[idx][hClass], _i = HouseInfo[idx][hInt];
            if(!HouseInfo[idx][hAutoDoors]) HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFCC00}'/exit'\n{FFFFFF}Управление домом - {FFCC00}'/hpanel'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]); ///// Строка с ошибкой
            else HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFCC00}'ALT'\n{FFFFFF}Управление домом - {FFCC00}'/hpanel'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]);

            TOTALHOUSE++;
        }
    }
    printf("[Загружено домов]: <%i>. Потрачено: <%i ms>.", TOTALHOUSE, GetTickCount() - time);
    return 1;
}
_c и _i
C++:
#define MAX_CLASS_HOUSES (4)
#define MAX_INT_HOUSES (1)
enum e_HCLASS_INFO
{
    hcName[12],
    hcCountInts
};
new HclassInfo[MAX_CLASS_HOUSES][e_HCLASS_INFO] =
{
    {"Эконом", 1},
    {"Средний", 1},
    {"Высокий", 1},
    {"Элитный", 1}
};

enum e_HINTS_INFO
{
    hiName[24],
    hiInt,
    Float:hiExitX,
    Float:hiExitY,
    Float:hiExitZ,
    Float:hiExitFA
};
new HintsInfo[MAX_CLASS_HOUSES][MAX_INT_HOUSES][e_HINTS_INFO] =
{
    {
        {"Эконом 1", 1, -706.5338,2109.4900,3012.8127}// Инт домов
    },
    {
        {"Средний 1", 2, -2022.8273,2838.1616,3011.6284}
    },
    {
        {"Высокий 1", 3, 481.3157,2334.5745,3011.7026}
    },
    {
        {"Элитный 1", 4, 1802.7330,-1584.3112,4023.1287}
    }
};
 
Сверху Снизу