Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
10.01.2008 01:54

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

ошибки в openable

Я совсем расстроен. Создаю объекты: "большой сундук" и "маленький сундук". Оба fixeditem, openable. Далее имею вот такое:

>открыть большой сундук
Что ты хочешь открыть?

>большой сундук
Я не знаю как открыть большой сундук.

>открыть
Что ты хочешь открыть?

>сундук
Который "сундук" Вы имеете в виду: большой сундук или маленький сундук?

>большой
Открыт.


Офигеть. sad Если так пойдет дальше, то я не успею исправить все до дедлайна КРИЛ.
Андрей, помоги, пожалуйста!

Отредактировано fireton (10.01.2008 01:55)

Неактивен

   #2
10.01.2008 02:23

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Вот еще прикол:

>открыть большой сундук
Что ты хочешь открыть?

>дверь
Я не знаю как открыть что-либо с помощью большого сундука.


sad

Похоже, парсер принимает "открыть" за UnlockWith...

Если это может помочь, то в локации еще присутствует дверь...

UPD. Я проверил. Даже если в локации ничего, кроме "большого сундука" не присутствует, то ошибка остается... Это серьезный прокол в библиотеках. Его надо исправлять как можно скорее... Я уже не в состоянии. Блин, надеялся сегодня игру на бета-тест отправить...

Отредактировано fireton (10.01.2008 02:30)

Неактивен

   #3
10.01.2008 03:57

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 235

Re: ошибки в openable

Я уже натыкался на эту хрень, когда тестил игру Корвина. Мерзкий глюк.

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

Неактивен

   #4
10.01.2008 04:47

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ошибки в openable

fireton написал:

Похоже, парсер принимает "открыть" за UnlockWith...

Может, так как:

Код:

openVerb: deepverb
    verb = 'открыть' 'открой' 'отворить' 'отвори' 'раскрыть' 'раскрой' 'распахнуть' 'распахни' 'отк' 'откр'  
    sdesc = "открыть"
    doAction = 'Open'
    ioAction(withPrep)='UnlockWith'
    type=1
;

Если это может помочь, то в локации еще присутствует дверь...

UPD. Я проверил. Даже если в локации ничего, кроме "большого сундука" не присутствует, то ошибка остается... Это серьезный прокол в библиотеках. Его надо исправлять как можно скорее... Я уже не в состоянии. Блин, надеялся сегодня игру на бета-тест отправить...

Пожалуйста, пришли, код.

Неактивен

   #5
10.01.2008 12:54

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Пожалуйста, пришли, код.

Код:

startroom: room  
 sdesc = "<b>Маленькая комната</b>" 
 ldesc = "Это тестовая комната для отладки открываемых объектов. Посреди комнаты стоит большой сундук. Попробуйте его открыть."
;

sunduk : fixeditem, openable
 location = startroom
 sdesc = "большой сундук"
 rdesc = "большого сундука"
 ddesc = "большому сундуку"
 vdesc = "большой сундук"
 tdesc = "большим сундуком"
 pdesc = "большом сундуке"
 adjective = 'большой' 'большой#t' 'большого' 'большому' 'большому#d' 'большим' 'большим#t' 'большом'
 noun = 'сундук' 'сундука' 'сундуку' 'сундуком' 'сундуке' 'сундуку#d' 'сундуком#t'
 ldesc = "Это большой сундук, который никак не хочет открываться, зараза!"
 isHim = true
 isopen = nil
;

Транскрипт:
Маленькая комната
    Это тестовая комната для отладки открываемых объектов. Посреди комнаты стоит большой сундук. Попробуйте его открыть.

>открыть большой сундук
Что Вы хотите открыть?

>большой сундук
Я не знаю как открыть большой сундук.

>открыть
(большой сундук)
Открыт.

>закрыть сундук
Закрыт.

>открыть сундук
Открыт.

>закрыть большой сундук
Что Вы хотите закрыть?

>большой сундук
Я не знаю как закрыть большой сундук.

>закрыть
(большой сундук)
Закрыт.

Неактивен

   #6
10.01.2008 13:00

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Если в комнате больше одного openable объекта с совпадающим noun (два сундука, например), то начинается кошмар. С дверями, что показательно, все нормально. Если сделать несколько дверей в комнате, то парсер нормально обрабатывает предложения вида "открыть небольшую дверь" и уточняющие запросы "Какую дверь вы хотите открыть?" тоже нормально работают...

Неактивен

   #7
10.01.2008 16:59

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ошибки в openable

fireton написал:

Если в комнате больше одного openable объекта с совпадающим noun (два сундука, например), то начинается кошмар. С дверями, что показательно, все нормально. Если сделать несколько дверей в комнате, то парсер нормально обрабатывает предложения вида "открыть небольшую дверь" и уточняющие запросы "Какую дверь вы хотите открыть?" тоже нормально работают...

Баг генератора падежей: добавляет лишнюю лексему прилагательного 'большой#t'. В результате "открыть большой сундук" превращается в "открыть с помощью большой сундук".
Пока могу предложить только внимательно следить за выдачей генератора для наименований с прилагательными. Я написал новый генератор, но не доделал выдачу конечного кода. К сожалению, разрабатывал в вижуал Си, а он у меня давно не установлен и руки не доходят поставить.

Неактивен

   #8
10.01.2008 17:46

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Спасибо, Андрей! Я просмотрю свои объекты...

Как я понял, галочку в "2#t" устанавливать не надо? Беда в том, что я очень плохо еще разобрался в этих магических суффиксах. sad

Отредактировано fireton (10.01.2008 17:56)

Неактивен

   #9
10.01.2008 18:49

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Ситуация такая. В тестовой игре, что я здесь выкладывал, после удаления #t все замечательно. В моей игре, что я пишу на КРИЛ, я удалил с сундука вообще все #t (и с существительного тоже). И все равно:

>открыть большой сундук
Что ты хочешь открыть?

>сундук
Я не знаю как открыть большой сундук.

>открыть сундук
Открыт.


печально. я в непонятках...

Отредактировано fireton (10.01.2008 18:54)

Неактивен

   #10
10.01.2008 18:58

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ошибки в openable

На свете есть только три "магических" суффикса:
Первый "#t"- указатель творительного падежа, выявляющий скрытую связку "с помощью".   
Второй "#d" - дательного, дарующий глупому англоязычному ТАДСу предлог "to"
Третий, самый образный и красочный - "#r", который встречается лишь в прилагательных, следующих за существительным. Без него не потекут "реки времени" и не прорастет "древо жизни".

В твоем случае нужно лишь удалить 'большой#t' - потому, что это не творительный падеж. Остальные маркеры оставь, они могут пригодиться игрокам.

Неактивен

   #11
10.01.2008 19:01

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Удалил все суффиксы. Оставил единственный объект в локации (тот самый злосчастный сундук). Выбросил все объекты из инвентори (на всякий случай). И все равно не работает! Ну что за хреновина такая?!

Неактивен

   #12
10.01.2008 19:22

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Нашел проблему. У меня в игре есть "большой ключ". Даже, если этот ключ не присутствует в локации, начинается фигня с "открыть большой сундук". У ключа есть "большой#t", но, как я понимаю, его удалять нельзя - ведь ключом мы отпираем дверь... Есть ли способ это как-то обойти? Я, конечно, могу сделать ключ другим (бронзовым, например), но ведь это не выход...

Неактивен

   #13
10.01.2008 19:42

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 136
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: ошибки в openable

fireton написал:

Нашел проблему. У меня в игре есть "большой ключ". Даже, если этот ключ не присутствует в локации, начинается фигня с "открыть большой сундук". У ключа есть "большой#t", но, как я понимаю, его удалять нельзя - ведь ключом мы отпираем дверь... Есть ли способ это как-то обойти? Я, конечно, могу сделать ключ другим (бронзовым, например), но ведь это не выход...

А зачем нужно значение 'большой#t'? Если это творительный падеж, то нужно 'большим#t'.

Неактивен

   #14
10.01.2008 20:02

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

А зачем нужно значение 'большой#t'? Если это творительный падеж, то нужно 'большим#t'.

Не важно. Почему объекты, которых нет даже в комнате, влияют на парсинг?
У меня еще есть "большая кухонная плита" и там "большой#t" уже совершенно к месту...

В общем, я считаю, это бага именно в openable и реализации глагола openVerb. Это надо как-то разрулить, однозначно...

Просто в русском языке "открыть дверь ключом" и "открыть дверь", хоть и подразумевают разные действия, но совершенно правомерны. Как это разрулить, я не слишком хорошо понимаю...

Неактивен

   #15
10.01.2008 20:21

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ошибки в openable

openable и openVerb совершенно не при чем. Просто учет падежей происходит без учета доступности объекта. Причем, как выходит, даже если метка есть у другого предмета с такой лексемой! Есть над чем подумать. Также пугает случай неизменяемых слов.

fireton - Метка #t должна быть только у лексем с творительным падежом, остальные удали и будет тебе счастье.

Неактивен

   #16
10.01.2008 20:55

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

GrAndrey написал:

openable и openVerb совершенно не при чем. Просто учет падежей происходит без учета доступности объекта. Причем, как выходит, даже если метка есть у другого предмета с такой лексемой! Есть над чем подумать. Также пугает случай неизменяемых слов.

А нельзя таки учитывать доступность объекта?

fireton - Метка #t должна быть только у лексем с творительным падежом, остальные удали и будет тебе счастье.

Ну вот. Есть "большая плетка" и "большой сундук" (например). У плетки есть форма творительного падежа "большой#t". И чего? Как обойти данный казус?

Неактивен

   #17
10.01.2008 21:07

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

fireton - Метка #t должна быть только у лексем с творительным падежом, остальные удали и будет тебе счастье.

Не поверишь, удалил все большой#t по всему квесту (ну, по-хорошему, можно без них обойтись). "Открыть большой сундук" все так же не работает. Похоже слово "большой" вообще не должно быть в adjective, чтобы "мне было счастье"...

sad

Неактивен

   #18
11.01.2008 05:18

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ошибки в openable

Шли код, выясним.

Неактивен

   #19
11.01.2008 09:06

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

После конкурса. smile

На самом деле, я так изменил локацию, что ошибка "не вылезает".
В смысле, убрал остальные сундуки из комнаты. smile

Неактивен

   #20
16.06.2008 13:34

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 107

Re: ошибки в openable

fireton, в чем проблема-то была? Если еще помнишь:)

Неактивен

   #21
28.06.2008 18:40

fireton
некто с бородой (+209, -52)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1047
Вебсайт

Тон

Re: ошибки в openable

Не знаю. sad
Код я Андрею выслал, но ответа не получил. Вероятно в новой версии все исправлено (я надеюсь).

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru