Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
01.06.2006 20:12

Davarg
Участник
Зарегистрирован: 01.06.2006
Сообщений: 8

Написание Демонов...

Добрый вечер(ну или что там у вас)всем читающим.
1.Подскажите как написать Демон для вывода простеньких сообщений в процессе игры (например "Вы чихнули" и так далее).
2.Как реализовать возможность броска некоторых предметов с последующими событиями(например бросок ножа в стену,при этом будут потом происходит определенные последствия).
3.Как отключить вывод сообщений после большого описания комнаты,что в комнате присутсвует некоторый предмет,при этом не пряча этот предмет никуда.

Неактивен

0    0    #2
11.06.2006 09:52

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

меньше слов

Re: Написание Демонов...

Очень рад, что сложилось самоподдерживающееся коммьюнити.

1.Подскажите как написать Демон для вывода простеньких сообщений в процессе игры (например "Вы чихнули" и так далее).

setdaemon(Daemon, nil);
Пример из моего неоконченного творения:

Код:

setdaemon(lifeDaemon, nil);                       // start the life daemon
lifeDaemon: function(parm)
{
local o;
o := firstobj(living); 
 while (o <> nil)
 {
  o.live;
  o := nextobj(o, living);
 }
}

Находит все живое и заставляет его действовать (ходить, сражаться, регенерировать и т.п.)

2.Как реализовать возможность броска некоторых предметов с последующими событиями(например бросок ножа в стену,при этом будут потом происходит определенные последствия).

zerrr ответил.

3.Как отключить вывод сообщений после большого описания комнаты,что в комнате присутсвует некоторый предмет,при этом не пряча этот предмет никуда.

В extendr.t есть класс unlisteditem. Думаю, он оптимален. Если человек взял эту вещь, то прятать её больше нельзя, т.к. игрок где-нибудь её кинет и забудет.

Код:

class unlisteditem:item
      isListed=nil
      doTake(actor)={self.isListed:=true; pass doTake;}
;

Неактивен

Powered by PunBB
© copyright 2001–2026 iFiction.Ru