Столкнулся с такой проблемой: сесть и встать и лечь фактически синонимы. В результате в игре "встать на стул" и "сесть на стул" приводят игрока в одно и то же положение. В итоге может возникнуть ситуация, когда стоя на полу герой не достает книжку с полки, а сидя на стуле - достает. Кто-что думает по этому поводу?
Неактивен
Вероятно нужно добавить ГГ еще один флаг:
Me: basicMe isSitting = nil //true - сидит ; MyChairitem: chairitem doSiton(actor) = { actor.isSitting = true; pass doSiton; } doLieon(actor) = { actor.isSitting = true; pass doLieon; } doStandon(actor) = { actor.isSitting = nil; pass doStandon; } ; Book: item verDoTake(actor) = { if (actor.isSitting) "Сидя ты не достаешь до <<self.rdesc>>. "; else pass verDoTake; } ;
P.S. Возможно допустил ошибки в синтаксисе - сам в рТАДС не пишу...
Update 12.12.08 еще подумал и исправил...
Отредактировано ASBer (12.12.2008 12:43)
Неактивен
Хуже всего с глаголом standVerb, для него вероятно нужно модифицировать метод action(actor) для сброса флага.
Неактивен