Ошибка с массивом
| |
Fireguy | Дата: Воскресенье, 10 Февраля 2013, 19:52 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Есть код в Create Код rini_init(); INI = rini_open("Data/items.ini") for (i = 1;rini_section_exists(INI, i); i = rini_section_find_next(INI) ) { for (b = 0; b < 1111; b += 1) { for (b1 = 0; b1 < 1111; b1 += 1) { block_a[b, b1] = 0 } } //Reading switch (rini_read_real(INI, i, family)) { case 1: block_a[0, i] = rini_read_real(INI, string(i), "id", 0) block_a[1, i] = rini_read_real(INI, string(i), "stack", 0) block_a[2, i] = rini_read_real(INI, string(i), "durability", 0) block_a[3, i] = rini_read_real(INI, string(i), "drop", 0) block_a[4, i] = rini_read_real(INI, string(i), "light", 0) block_a[5, i] = rini_read_real(INI, string(i), "color", 0) block_a[6, i] = rini_read_real(INI, string(i), "range", 0) block_a[7, i] = rini_read_real(INI, string(i), "toolevel", 0) block_a[8, i] = rini_read_string(INI, string(i), "spr", 0) block_a[9, i] = rini_read_string(INI, string(i), "name", 0) block_a[10, i] = rini_read_string(INI, string(i), "disc", 0) block_a[11, i] = rini_read_real(INI, string(i), "solid", 0) type[i] = 1 ;break; case 2: floor_a[0, i] = rini_read_real(INI, string(i), "id", 0) floor_a[1, i] = rini_read_real(INI, string(i), "stack", 0) floor_a[2, i] = rini_read_real(INI, string(i), "durability", 0) floor_a[3, i] = rini_read_real(INI, string(i), "drop", 0) floor_a[4, i] = rini_read_real(INI, string(i), "light", 0) floor_a[5, i] = rini_read_real(INI, string(i), "color", 0) floor_a[6, i] = rini_read_real(INI, string(i), "range", 0) floor_a[7, i] = rini_read_real(INI, string(i), "toolevel", 0) floor_a[8, i] = rini_read_string(INI, string(i), "spr", 0) floor_a[9, i] = rini_read_string(INI, string(i), "name", 0) floor_a[10, i] = rini_read_string(INI, string(i), "disc", 0) floor_a[11, i] = rini_read_real(INI, string(i), "typef", 0) type[i] = 2 ;break; case 3: item_a[0, i] = rini_read_real(INI, string(i), "id", 0) item_a[1, i] = rini_read_real(INI, string(i), "stack", 0) item_a[2, i] = rini_read_string(INI, string(i), "name", 0) item_a[3, i] = rini_read_string(INI, string(i), "disc", 0) item_a[4, i] = rini_read_string(INI, string(i), "spr", 0) item_a[5, i] = rini_read_string(INI, string(i), "ongspr", 0) item_a[6, i] = rini_read_real(INI, string(i), "type", 0) item_a[7, i] = rini_read_real(INI, string(i), "b_speed", 0) item_a[8, i] = rini_read_real(INI, string(i), "b_light", 0) item_a[9, i] = rini_read_real(INI, string(i), "color", 0) item_a[10, i] = rini_read_real(INI, string(i), "range", 0) item_a[11, i] = rini_read_real(INI, string(i), "b_damage", 0) item_a[12, i] = rini_read_real(INI, string(i), "rel_speed", 0) item_a[13, i] = rini_read_real(INI, string(i), "ammo_id", 0) item_a[13, i] = rini_read_real(INI, string(i), "b_number", 0) item_a[14, i] = rini_read_real(INI, string(i), "mag", 0) item_a[15, i] = rini_read_string(INI, string(i), "sound", 0) item_a[16, i] = rini_read_real(INI, string(i), "tooltype", 0) item_a[17, i] = rini_read_real(INI, string(i), "hspeed", 0) item_a[18, i] = rini_read_real(INI, string(i), "toolevel", 0) type[i] = 3 } } show_message(block_a[9, 1]) rini_close() Пишет ошибку Код ___________________________________________ ERROR in action number 1 of Create Event for object obj_control:
In script eng_item_init: Error in code at line 69: show_message(block_a[9, 1]) ^ at position 15: Unknown variable block_a or array index out of bounds Как по мне то массив инициализирован, но все таки выдает ошибку!
Добавлено (10.02.2013, 19:26) --------------------------------------------- Ребят, ктот поможет?
Coder is like a King in his own realm
Сообщение отредактировал Fireguy - Воскресенье, 10 Февраля 2013, 20:16 |
|
| |
zzzzza | Дата: Понедельник, 11 Февраля 2013, 10:27 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Fireguy, давно в гм не работал, многого не помню, но все-таки, там же надо переменные объявлять перед кодом, ну или в create)))
|
|
| |
Fireguy | Дата: Понедельник, 11 Февраля 2013, 20:54 | Сообщение # 3 |
участник
Сейчас нет на сайте
| zzzzza, В этом коде я по идее и объявляю массив, но все равно спасибо за первый ответ =)
Coder is like a King in his own realm
|
|
| |
USeR14 | Дата: Вторник, 12 Февраля 2013, 00:10 | Сообщение # 4 |
RUSOriginal Studio
Сейчас нет на сайте
| Тоже попытался. Немного не понял, как хранятся данные в файле, ну да ладно.
У меня лично "получилось" запустить, но прога жутко зависала и файл все время перезаписывался. Я лишь изменил строчки: Код 3) for (i = 1; i < 10; i += 1 ) 13) switch (rini_read_real(INI, i, 0))
Желательно бы узнать подробнее, как должна работать в идеале прога. Возможно есть другие, более оптимальные пути организации данных.
|
|
| |
Fireguy | Дата: Вторник, 12 Февраля 2013, 00:41 | Сообщение # 5 |
участник
Сейчас нет на сайте
| USeR14, Смысл, загрузка из файла характеристики объектов, после, запись в массив
Coder is like a King in his own realm
|
|
| |
MR_Borg | Дата: Вторник, 12 Февраля 2013, 13:17 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Может я и не прав, но все же. Ошибка выдается на значении name, а предыдущие видать идут цифры, попробуйте сделать отдельно для name переменную типа string и проверить, может гм сам переводит все значения в int.
Изучаю C++ попутно пишу игру.
|
|
| |
Fireguy | Дата: Вторник, 12 Февраля 2013, 17:33 | Сообщение # 7 |
участник
Сейчас нет на сайте
| MR_Borg, Да, думаю ты прав, наверное проблема в string переменных, попробую решить (не уверен что можно конвертировать string в int)
Coder is like a King in his own realm
|
|
| |
|