Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
11.12.2008 16:52

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Сесть и встать и лечь

Столкнулся с такой проблемой: сесть и встать и лечь фактически синонимы. В результате в игре "встать на стул" и "сесть на стул" приводят игрока в одно и то же положение. В итоге может возникнуть ситуация, когда стоя на полу герой не достает книжку с полки, а сидя на стуле - достает. Кто-что думает по этому поводу?

Неактивен

0    0    #2
11.12.2008 17:43

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Сесть и встать и лечь

Вероятно нужно добавить ГГ еще один флаг:

Код:

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)

Неактивен

0    0    #3
12.12.2008 12:39

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Сесть и встать и лечь

Хуже всего с глаголом standVerb, для него вероятно нужно модифицировать метод action(actor) для сброса флага.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru