Как сделать в нужной комнате что бы ходы сами шли,то есть как,например,находясь под водой выводилось без ввода команд 2-3 сообщение о том,что мол нехватает воздуха и после смерть?
Да к стати,сейчас работаю над дебютной игрой.
MUD вечно жив!
Неактивен
Я так понял, что, находясь в определенной комнате, вне зависимости от того
что делает ГП, его ходы должны быть там ограничены...
Делать это мы будем при помощи "демонов". Добавь в комнату:
firstroom : room {
started = nil // просто переменная
i = 0 // для демона
enterRoom( actor ) = { // при входе в комнату срабатывает эта функция
if ( !self.started ) {
self.started = true;
setdaemon( DyingMsg, nil ); // старт демона
} else
pass enterRoom;
}
}
На все выходы из комнаты повесь:
east = { // идти на восток
self.started = nil;
self.i = 0;
remdaemon( DyingMsg, nil ); // останока демона
Me.travelTo( Another_room ); // переход в другую комнату
}
Конечно должен быть и демон:
DyingMsg : function( parm ) {
firstroom.i++;
if ( firstroom.i == 1 )
"Воздух выходит из твоих легких.";
if ( firstroom.i == 3 ) {
"Ты задохнулся.";
die();
}
}
Неактивен