ini создается, записывается, не читается.
|
|
Глюк | Дата: Среда, 27 Мая 2015, 19:25 | Сообщение # 1 |
Lampa Studio
Сейчас нет на сайте
| Народ в чем причина? ( аля, мини сейв ) Код ini_open('game.ini') ini_write_string('rooms','roomess','level2') ini_close()
Окей, записался.
Код ini_open('game.ini') room_goto(ini_read_string('rooms','roomess','level1')); ini_close(); А вот загрузка посылается далеко и на долго. В чем причина?
Мой проект Drunk West! (заморожен) https://gcup.ru/forum/9-99264-1
Мой проект Block Destroyer ( В разработке ) https://gcup.ru/forum/9-102818-1#764778
|
|
| |
Леонид | Дата: Среда, 27 Мая 2015, 20:26 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| У тебя ошибка, задержка долгая или просто ничего не происходит? Добавлено (27 мая 2015, 20:26) --------------------------------------------- У меня предположение, что аргумент у room_goto() должен быть не string. Не обязательно использовать числа, можно и текст, но не string (в справке - numb, не очень понимаю, что это). Попробуй не название комнаты сохранять и считывать, а её id.
|
|
| |
EfimovMax | Дата: Среда, 27 Мая 2015, 20:30 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Цитата Глюк ( ) room_goto(ini_read_string('rooms','roomess','level1')); Да, ошибка точно здесь. Пробовал уже такой подход - название комнаты из нескольких стрингов собрать. Ничего не получилось, выход из ситуации не нашёл.
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
Леонид | Дата: Среда, 27 Мая 2015, 20:33 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Нашел цитату на официальном форуме:"Resource names are not strings, stop treating them like they are.". Теперь у меня возник вопрос, как получить id комнаты? В справке не нашел, в интернете тоже, только название.
|
|
| |
Глюк | Дата: Среда, 27 Мая 2015, 21:03 | Сообщение # 5 |
Lampa Studio
Сейчас нет на сайте
| З - загадка... Добавлено (27 мая 2015, 21:03) --------------------------------------------- как сохранить тогда прогресс игры о_о Добавлено (27 мая 2015, 21:03) --------------------------------------------- ладно, пойдем в обход...
Мой проект Drunk West! (заморожен) https://gcup.ru/forum/9-99264-1
Мой проект Block Destroyer ( В разработке ) https://gcup.ru/forum/9-102818-1#764778
|
|
| |
Леонид | Дата: Четверг, 28 Мая 2015, 08:01 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Кажется у меня есть идея. Попробуй ini_write_real('rooms','roomess',*название комнаты без кавычек*), чтение тоже real сделать. Думаю, должно работать. Как я нашел, GM с названиями ресурсов обращается как с переменными, хранящими определенное значение (их id). Так, например, если написать show_message(room0), то выведется сообщение "0" - id этой комнаты.
Добавлено (28 мая 2015, 08:01) --------------------------------------------- Проверил, на восьмерке работает. Надеюсь, это поможет (и что я не опоздал).
Сообщение отредактировал Леонид - Четверг, 28 Мая 2015, 08:03 |
|
| |
Anthem | Дата: Четверг, 28 Мая 2015, 18:31 | Сообщение # 7 |
Д'Артаньян
Сейчас нет на сайте
| Цитата Леонид ( ) Теперь у меня возник вопрос, как получить id комнаты? Он хранится в переменной room
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
YellowAfterlife | Дата: Четверг, 28 Мая 2015, 20:09 | Сообщение # 8 |
Сейчас нет на сайте
| Вариант 1: Записывать индекс комнаты: // сохранение: ini_open("some.ini") ini_write_real("room", "index", room) ini_close() // загрузка: ini_open("some.ini") if (ini_key_exists("room", "index")) { room_goto(ini_read_real("room", "index", -1)) } else { // INI нет вовсе или номер комнаты в нем не записан. } ini_close()
Вариант 2: Записывать имя комнаты и правильно его считывать: // сохранение: ini_open("some.ini") ini_write_string("room", "name", room_get_name(room)) ini_close() // загрузка: ini_open("some.ini") if (ini_key_exists("room", "name")) { room_goto(asset_get_index(ini_read_string("room", "name", ""))) } else { // INI нет вовсе или имя комнаты в нем не записано. } ini_close() (если версия 8.1 или ниже то заменить asset_get_index скриптом отсюда)
Сообщение отредактировал YellowAfterlife - Четверг, 28 Мая 2015, 20:09 |
|
| |