Столкнулся с такой проблемой: сесть и встать и лечь фактически синонимы. В результате в игре "встать на стул" и "сесть на стул" приводят игрока в одно и то же положение. В итоге может возникнуть ситуация, когда стоя на полу герой не достает книжку с полки, а сидя на стуле - достает. Кто-что думает по этому поводу?
Неактивен
Вероятно нужно добавить ГГ еще один флаг:
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) для сброса флага.
Неактивен