Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
07.01.2009 21:03

IO
Участник
Зарегистрирован: 07.01.2009
Сообщений: 15

Новичок. Несколько вопросв.

1) Каким образом можно "осмотреть себя"?
2) Как всучить глав.герою предмет в начале игры (т.е. чтобы игра начиналась уже с этим предметом в инвентаре)?
2.1) Как вообще что-либо вручать герою?
3) Как на RTADS'е написать что-то вроде

Код:

если (БатареяЗаряжена=ложь, то сказать "эй, заряди батарею!")
иначе
(сказать "батарея уже заряжена")

4) Как в одной локации осуществить следующее:

Код:

взять книгу со стола
-стол слишком далеко
подойти к столу
-ты стоишь возле стола
взять книгу
-ты взял книгу

Или для этого нужно создавать несколько локаций?
5) Как избавиться от

Код:

ты стоишь в северной комнате
ты видишь на столе книгу

хотя в

Код:

someroom:room
ldesc="ты стоишь в северной комнате";

Заранее немерено благодарен.

Неактивен

0    0    #2
08.01.2009 16:41

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

меньше слов

Re: Новичок. Несколько вопросв.

отойти в тот угол, идти в середину комнаты, go to the шкаф - совершенно ненужные замороки и их практически никогда не реализуют и не используют. Спрятаться в углу, выйти на сцену, залезть в шкаф - часто.
Приведенный пример имеет право на жизнь в таком варианте:

взять книгу со стола
- ты не дотянешься до туда, пока прикован к батарее!

Неактивен

0    0    #3
10.01.2009 21:22

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

меньше слов

Re: Новичок. Несколько вопросв.

кхе-кхе. А где в твоей функции doOpen(actor) собственно открывается шкафчик? wink
Либо добавь
self.setIsopen(true);
либо вообще убери эту функцию. Тогда програма будет отвечать так:
"Открыв шкафчик, ты обнаружил униформу. "

Неактивен

0    0    #4
12.01.2009 04:57

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

меньше слов

Re: Новичок. Несколько вопросв.

Правильный рабочий код таков:

Код:

CellDoor : Doorway

    closed = true
    location = startroom
    ldesc = "красивый текст"

    verDoOpen(actor)=
    {
       if (not actor.isCarrying(Bag)) "текст1";
       else if (Uniform.IsWear = nil) "текст2";
       else if (Battery.IsCharge = nil) "текст3";
    }  
 
    doOpen(actor) =
   {
      "Красивый текст";
      pass doOpen;
   }
;

verDoOpen(actor) предназначен для проверки допустимости действия и выводит всевозможные отговорки (при этом менять значения каких-либо свойств в нем категорически запрещено). Поэтому все напоминалки и запрещалки нужно перенести туда. Код исполнения будет уже в doOpen.
В принципе, код приведенный Корвином тоже должен быть рабочим, но верификация пустая и система неполную команду "открыть" без зазрений совести дополнит: (дверь), после чего выведет отговорку.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru