Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

   #1
22.12.2014 18:04

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Вопросы по ЯРИЛ

Специальный топик, в котором можно задавать вопросы по ЯРИЛ.

Неактивен

   #2
23.12.2014 11:55

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

johnbrown написал:

Я имел в виду одно и тоже - возможность навесить на предметы некий признак, тэг. Чтобы объединить схожие группы предметов, чтобы не делать лишней работы с перечислением предметов в условиях. Там даже механики никакой не нужно, просто обычный тэг.

Это признаки. Пока они есть только в библиотеках, но планируется поддержка создания своего признака в истории. Если признак в принципе существует (объявлен в использованных библиотеках), то проверять на его наличие на предмете можно с помощью выражения "предмет.признак".

Посмотри процедуры или действия. Внутри них изменения становятся видны визуально только если закрыть и открыть их соответственно, хотя по-факту, да, сразу все изменяется.

Всё же не очень понимаю. Если ты редактируешь процедуру или действие, то видишь изменения. Можешь по шагам подробнее описать? Есть вот такой баг, возможно, это та же проблема?

Я проверял. Чтобы переместить предмет, к примеру, к себе в инвентарь, этот предмет должен быть к чему-то приписан. Т.е., изначально он может висеть в воздухе, редактор это позволяет, но тогда передачи не произойдет. Мне кажется, это не совсем правильно.

Похоже на баг. Завёл, посмотрим.

Сделал перенос предмета командой локация.предмет. Теперь в описании локации мне пишет 'здесь предмет'. При этом осмотреть его нельзя 'я не знаю слова предмет'.
А у него настроен словарь?

Конечно, есть словарь с синонимами.

Приложи или пришли (realsonic3 на гмайле), пожалуйста, игру.

А все, что сейчас позволяет процедура, все забабахать в ивенты. Нужны процедуры, срабатывающие автоматически, при наступлении условия.

Хорошая идея! Сделаем.

Можно ли задать условие, если пользователь не ввел полностью команду по шаблону, используя только одно действие и процедуру? Каждая процедура обрабатывает только однотипные шаблоны, значит нужно создавать несколько процедур, но в действиях ведь тоже одно действие(шаблон) - одна процедура, значит нужны несколько действий... Я ошибаюсь?

Вообще, парсер пытается подобрать самый подходящий шаблон. Если есть подходящий на 100% - берётся он. Если нет - пытается подобрать самый подходящий (больше всего элементов подходит). Если есть только шаблон "взять"+ВП, а игрок ввёл только "взять", то парсер скажет об этом сам. Но, если ты хочешь рулить ответом, то можешь вести и шаблон из одного глагола - "взять". В шаблонах для каждого элемента можно указать параметр процедуры, в который его передавать. А затем в процедуре эти параметры анализировать. Т.е. можно использовать разные шаблоны для одной и той же процедуры, только нужно передавать параметры, используемые в процедуре. Навскидку не смогу сказать, что будет, если использовать не переданный параметр. Похоже, ошибка. Надо будет перепроверить и исправить, если так.

Неактивен

   #3
24.12.2014 16:42

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

johnbrown написал:

Это признаки. Пока они есть только в библиотеках,но планируется поддержка создания своего признакав истории. Если признакв принципе существует (объявлен в использованных библиотеках), то проверять на его наличие на предмете можно с помощью выражения "предмет.признак".

А сейчас можно редактировать/добавлять в библиотеку свои глаголы? Они будут экспортироваться в игровой файл?

Глаголы да - это же действия. Но к признакам они не имеют отношения.

К примеру , возьмем шаблоны в действиях. В каждом действии может быть несколько шаблонов. Если мы добавили шаблон он сразу отобразится, но если его отредактировать, то в списке шаблонов, будет висеть старая версия, пока мы не выйдем из действия и не войдем обратно.

Спасибо, завёл баг.


Приложи или пришли (realsonic3 на гмайле), пожалуйста, игру.

Ага, отправил.

Спасибо, гляну при возможности.

Вообще, парсер пытается подобрать самый подходящий шаблон. Если есть подходящий на 100%- берётся он. Если нет - пытается подобрать самый подходящий (больше всего элементов подходит). Если есть только шаблон "взять"+ВП, а игрок ввёл только "взять", то парсер скажет обэтом сам. Но, если ты хочешь рулить ответом, то можешь вести и шаблон из одного глагола- "взять". В шаблонах для каждого элемента можно указать параметр процедуры, в который его передавать. А затем в процедуре эти параметры анализировать. Т.е. можно использовать разные шаблоны для одной и той же процедуры,только нужно передавать параметры, используемые в процедуре. Навскидку не смогу сказать, что будет, если использовать не переданный параметр. Похоже, ошибка. Надо будет перепроверить и исправить, если так.

В том примере игры, что я тебе отправил есть такая команда 'идти в зал ожидания'. Так она забита в шаблоне. Если написать 'идти в зал' игра не поймет, нужно эту фразу забить в шаблон. Может имеет смысл ввести маску 'идти в зал*'?

Если в идеале, то лучше сделать возможным упоминать не только предметы, но и локации. Вообще, раньше и в локациях можно было задавать ИД, сейчас эта возможность отключена, но ИД у них всё равно есть. В этом случае их можно упоминать в командах.
По поводу временного решения: что ты имеешь в виду под "игра не поймёт"? Парсер отвечает неадекватно?
Вообще, я против масок * в шаблонах, потому что тогда игрок сможет ввести любую фигню в этом месте, и парсер съест.

Разные шаблоны действия для одной и той же процедуры не пойдут. Как я только не изгалялся. Проблема, что процедура пытается подставить в себя все варианты шаблона, естественно вылезают ошибки.

Если ошибки связаны с тем, что параметры процедуры не заданы, то это баг, нужно думать, что с ним делать. А если процедура просто не учитывает разные шаблоны - её нужно доработать.

Возможно стоит дать доступ для каждого варианта шаблона (в рамках одного действия) к разным процедурам.

Это как раз есть - просто нужно создавать разные действия. Хотя, тогда придётся дублировать перехваты.
Если к разным шаблонам привязывать разные процедуры (которые могут быть совершенно разными), то пропадёт общность действий - в действии тогда смогут помещаться совершенно разные команды. Даже можно будет под одно действие запихнуть все команды вообще.

Или установить проверку наличия переданных параметров в процедуру, но первый вариант мне кажется более правильным.

Мне кажется проверка (или какой-то ещё способ) более правильным. По идее, процедура обрабатывает действие и должна учитывать его варианты.

Кстати, по поводу имён процедур. Т.к. они пока не используются в выражениях, то нет необходимости делать ограничения на их имена. Разве что запретить пустые или состоящие только из пробелов.

Неактивен

   #4
25.12.2014 18:45

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

johnbrown написал:

Я немного посмотрел либу. Там есть действие 'сесть'. В нем используется переменная 'счетчик'. Это какая-то системная переменная? С ней можно работать?

Нет, "счётчик" - это процедурная переменная (объявлена и существует только в этой процедуре, сохраняет своё значение между запусками). В Редакторе такие переменные пока нельзя создавать. В процедуре она осталась по ошибке, это отладочный код.

-> Если в идеале, то лучше сделать возможным упоминать не только предметы, но и локации. Вообще,раньше и в локациях можно было задавать ИД, сейчас эта возможность отключена, но ИД у них всё равно есть. В этом случае их можно упоминать в командах. По поводу временного решения: что ты имеешь в виду под "игра не поймёт"? Парсер отвечает неадекватно? Вообще, я против масок * в шаблонах, потому что тогда игрок сможет ввести любую фигню в этом месте, и парсер съест.

ИД - это идентификатор?
Парсер пишет 'не вполне понял, прошу уточнить'

ИД - да, идентификатор. Хотя, я ошибся - наличие ИД на возможность упоминания в командах не влияет. Влияет наличие словаря, он тоже был убран из локаций.
Парсер раньше отвечал по-другому - приводил полную фразу шаблона и сообщал, что понял бы её. Но такой ответ посчитали подсказкой и заменили на текущий.

-> Если ошибки связаны с тем, что параметры процедуры не заданы, то это баг, нужно думать, что с ним делать. А если процедура просто не учитывает разные шаблоны - её нужно доработать.

Проблема в том, что процедура слишком хорошо учитывает разные шаблоны :-)  Может я просто не умею писать исключения? У меня все тот же пример (вообще, я наверное я просто отредактирую этот глагол в библиотеке). Есть глагол сидеть. Я создаю шаблон вида 'сесть(лит)+вп(предмет)' .Забиваю проверку конкретного предмета в процедуру. В той же процедуре обработку простого глагола 'сесть' у меня сделать не получится, потому' что программа будет прогонять первое условие с проверкой предмета. ((

Крайне не советую редактировать библиотеку - не сможешь распространять игру. В крайнем случае действие можно продублировать в свою историю и отредактировать там - будет вызываться оно в первую очередь.
Ошибка вылезает? Какая?

-> Это какраз есть - просто нужно создавать разные действия. Хотя, тогда придётся дублировать перехваты. Если к разным шаблонам привязывать разные процедуры (которые могут быть совершенно разными), то пропадёт общность действий - в действии тогда смогут помещаться совершенно разные команды. Даже можно будет под одно действие запихнуть все команды вообще.

Хочется унификации. Десять вариантов одного действия это как-то черезчур. В коце-концов, какое дело сколько глаголов команд будет на одном действии, пусть пользователь сам решает, как ему удобно.

Смысл тогда помещать кучу шаблонов под одно действие? Можно сделать разные действия с разными шаблонами и вызывать из них разные процедуры.

Неактивен

   #5
26.12.2014 16:28

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

johnbrown написал:

Ошибка вылезает? Какая?

Неизвестный иднтификатор предмет.
Получается, процедура сейчас не может обратывать разнотипные шаблоны (с параметрами и без)?

Выходит, да. Это ошибка. Надо подумать, что делать. Можно заполнять не переданные параметры по-умолчанию. Умолчания брать или общие ("" для текста, 0 для чисел, нет для логики и т.д.), или позволить задавать в процедуре или в шаблоне. Или придумать другую архитектуру для этого случая. Например, ввести значение пустота.
Завёл баг.

И еще вопрос по шаблонам, вернее по объектам. Объект - это все, что уже есть в игре? Если я присваиваю объекту параметр "предмет", и даже если указать в условии название предмета, то при вводе плеер выдаст ошибку, мол 'не знаю слово предмет', только если оно уже не присутствует в игре.

В каком условии задать название предмета?
Да, элемент шаблона типа объект - это указатель на один из существующих предметов в истории (в игре).

А в чем смысл опции 'не передавать параметры объекта'?

У процедуры могут быть разные параметры. Например, ты можешь завязаться на предмет в шаблоне (чтобы он был обязательно упомянут), но в обработке он тебе не нужен.

Еще пожелание, чтобы при переименовании локации или предмета все их старые идентификаторы тоже автоматически менялись.

Во всех выражениях?

Неактивен

   #6
01.01.2015 20:39

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

С новым годом! smile

johnbrown написал:

В какомусловии задать название предмета?

В процедуре, либо в ограничении в 'проверке условия'

Уже запутался... Вопрос ещё актуален?)

Во всех выражениях?

Да. Могут быть какие-то подводные камни?

Подводные могут и быть при работе с выражениями. Но, как минимум, тут просто немало работы) Завёл задачу.

Неактивен

   #7
01.01.2015 21:53

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

А что подразумевается под переменной? Как парсер должен сверять часть фразы с переменной?

Неактивен

   #8
12.01.2015 12:41

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

На самом деле такой системной переменной нет. ) Просто есть возможность любые элементы фразы передавать как параметры в процедуру обработки. В примере, что ты приводил, варианты можно реализовать набором литералов-синонимов и привязать этот набор к параметру.

Неактивен

   #9
17.10.2016 19:50

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Rendoul написал:

Можете, пожалуйста, сказать на какой версии и апдейте Java работает IFML 2016.5? У меня стоят следующие версии:

Java 6 upd45
Java 7 upd65
Java 8 upd60
Java 8 upd101

С версии 2016/1 ЯРИЛ работает на Java 8. Update не важен.

Rendoul написал:

И при этом при сохранении сделанной игры из редактора, а также при тестовом запуске из редактора, вылетает ошибка:

class javax.xml.bind.JAXBException

А что за ошибка? Можно ЛС мне или тут под катом.

Rendoul написал:

И еще вопрос: на какой версии java работает IFML2 v2016.2.1? Кстати с этой версией та же проблема...

Тоже с 8ой. Но это не проблема версии Явы, это проблема с XML. Надо посмотреть саму ошибку, вероятно, баг.

Неактивен

   #10
18.10.2016 11:28

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Судя по сообщению, почему-то нет прав на запись в папку Games в каталоге ЯРИЛа. Заведу баг, гляну при возможности. Ошибку можно обойти, выдав права на запись в эту папку.
А в последней версии 2016/5 та же ошибка ("Отказано в доступе")?

Неактивен

   #11
18.10.2016 15:48

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Rendoul написал:

Кстати, нашел решение: сохраняю не на C:\ (системный), а на D:\. Но нужно сказать, что старые версии спойкойно сохраняют даже на C:\.

Точно, про этот воркараунд я что-то сразу не подумал. ))
Старые версии (до 2016/1) работают на другом инсталляторе, возможно, он раздавал права на свою папку. Завёл баг, буду разбираться.

Неактивен

   #12
18.10.2016 17:00

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Rendoul написал:

Удачи в дебагинге smile

Спасибо. Но быстро не могу обещать - сейчас очень сильно занят. Возможно, до декабря, или даже до НГ.

Rendoul написал:

Кстати, я забыл о самом главном:
Спасибо тебе большое за такой удобный конструктор квестов smile Очень удобен для разработки по крайней мере любительских квестов.

Спасибо, очень приятно слышать. smile Хоть кому-то да пригодился ЯРИЛ. smile)

Rendoul написал:

Имею некоторые пожелания:

1)Хотелось бы видеть удобную систему встраивания аудио-файлов в квест, чтобы можно было делать плавные нарастания/затухания громкости во время геймплея.
2)Также хочется, чтобы редактор сохранял последнюю директорию, с которой совершались какие-либо действия типа открытия, сохранения, загрузки файла истории.
3)И наконец было бы неплохо создать небольшой, но понятный мануальчик/туториал по движку.

Спасибо smile

По 1 п. есть пара задач: одна и другая. Надо будет учесть про затухания.
На 2 п. тоже где-то была задача. ) UPD: вот она.
По п. 3 - есть пока это и это. Никак руки не доходят. )

Неактивен

   #13
21.10.2016 14:11

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Спасибо, завёл баг.

Неактивен

   #14
18.01.2017 22:45

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Серый Волк написал:

Что мне нужно установить и откуда, чтобы запустить плеер? Сейчас (после успешной установки) при запуске прога не заводится и выдаёт такое сообщение: http://serwjvolk.ifiction.ru/files/2017 … _error.jpg

Странно, вроде, должен предлагать.
В общем, нужно пойти по ссылке, поставить точку на пункте "Accept License Agreement" и скачать ту версию, которая подходит под операционную систему. И установить, конечно.
Впоследствии попробую вообще отказаться от инсталлятора.
UPD: завёл баг.

Неактивен

   #15
31.01.2017 16:14

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Rendoul написал:

Соник, Вы молодец, что так трудитесь над плеером, но, может быть, Вам стоит перейти на C# или C++? smile

Это, конечно, замечательно, но зачем? smile C# я ещё понимаю - даже начинал на нём когда-то делать (а ещё раньше - на Delphi), но переписывать весь код - это проект на несколько лет без особого смысла. Но C++-то зачем? Обычное бизнес-приложение без особых системных требований, высокой нагрузки и прочей специфики.

Неактивен

   #16
31.01.2017 22:14

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Sonic написал:

В общем, нужно пойти по ссылке, поставить точку на пункте "Accept License Agreement" и скачать ту версию, которая подходит под операционную систему.

Блин, о чём это я?! Вот сюда надо ходить. smile

Неактивен

   #17
08.10.2017 22:45

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Oreolek написал:

Как сменить цветовую схему плеера? Зелёный на чёрном - неудобно.

Пока никак. Но вскорости всё должно поменяться.

Неактивен

   #18
12.10.2017 00:11

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Ок, сделаем немного позже, как всё обсудим.

Неактивен

   #19
14.10.2017 15:47

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Есть, конечно, issue tracker, но это не дорожная карта. Ещё думаем...
Просто, у нас всё начало меняться недавно, пока не очень устаканено. )

Неактивен

   #20
09.11.2017 22:23

Sonic
Автор ЯРИЛ (+73, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: Вопросы по ЯРИЛ

Nikita написал:

Sonic написал:

Пока никак. Но вскорости всё должно поменяться.

Может тоже приведёшь дорожную карту?

Эх. Наверное, как-то так.

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru