eyes: fixeditem, floatingItem
noun = 'глаза' 'глаз' 'глазам' 'глазами' 'глазах' 'глазою' 'глазам#d' 'глазами#t' 'глазою#t'
sdesc = "глаза"
rdesc = "глаз"
ddesc = "глазам"
vdesc = "глаза"
tdesc = "глазами"
pdesc = "глазах"
ldesc = "Поблизости нет зеркала"
;Я проверял дебаггером, объект eyes присутствует в списке global.floatingList, наряду с Me и theFloor. Но те объекты откликаются, а на команду "осм глаза" я получаю "Я не вижу здесь объект "глаза".
![]()
Я так понимаю, ошибку возвращает сам интерпретатор TADS, как это исправить я вообще не понимаю... ![]()
Помогите!
Неактивен
fireton написал:
Хрень какая-то. По идее, все
floatingItemдолжны автоматом добавляться к списку видимых объектов, иначе зачем они нужны?
fireton написал:
(только вот в библиотеке я не увидел где используется этот самый
validDoList)
validDo и validIo - методы, осуществляющие предварительную валидацию соответственно "прямого" и "косвенного" объекта, а validDoList и validIoList - их аналоги, осуществляющие "предвалидацию". validDoList и validIoList введены были в свое время, собственно, для повышения производительности (правда, я не уверен, что эта проблема осталась актуальной при современных вычислительных мощностях). Подробнее см. в мануале - глава "Последовательностьсинтаксического анализа). Можно попробовать поэкспериментировать - определить объект с методом
location={return parserGetMe().locationи проверить, работает ли он в этом случае.
fireton написал:
Тогда floatingList становится нафик не нужен. Зачем он тогда?
В принципе действительно можно без него обойтись. В свое время, когда я только начинал работать в TADS и у меня не хватило терпения разбираться с floatingItem, я просто перемещал нужные объекты в помещение в методе enterRoom;).
Неактивен
GrAndrey написал:
Кстати, кто знает, что выдает parserGetMe(), когда команду выполняет NPC?
Все равно текущего ГП.
Неактивен