1) Каким образом можно "осмотреть себя"?
2) Как всучить глав.герою предмет в начале игры (т.е. чтобы игра начиналась уже с этим предметом в инвентаре)?
2.1) Как вообще что-либо вручать герою?
3) Как на RTADS'е написать что-то вроде
если (БатареяЗаряжена=ложь, то сказать "эй, заряди батарею!") иначе (сказать "батарея уже заряжена")
4) Как в одной локации осуществить следующее:
взять книгу со стола -стол слишком далеко подойти к столу -ты стоишь возле стола взять книгу -ты взял книгу
Или для этого нужно создавать несколько локаций?
5) Как избавиться от
ты стоишь в северной комнате ты видишь на столе книгу
хотя в
someroom:room ldesc="ты стоишь в северной комнате";
Заранее немерено благодарен.
Неактивен
IO написал:
Код:
someitem:item /* это индикатор заряда батрей*/ ldesc={"Заряд батарей - "; if(Battery.IsCharge) {"100%\n";} else {"17%\n";} } ;Работает.
Но когда я делаю вот так:Код:
someitem:item /* это индикатор заряда батрей*/ ldesc="<b>строка 1</b>\n строка 2\n строка 3\n" {"Заряд батарей - "; if(Battery.IsCharge) {"100%\n";} else {"17%\n";} } ;То:
Код:
error TADS-301: expected a symbolМозги отказываются это понимать.
Работает, когда я делаю вот так:
someitem:item /* это индикатор заряда батрей*/
ldesc={"<b>строка 1</b>\n
строка 2\n
строка 3\n"
"Заряд батарей - ";
if(Battery.IsCharge)
"100%\n";
else
"17%\n";
}
;Неактивен
IO написал:
Вчера, когда я ставил фигурную скобку после ldesc=, вылезала та же ошибка. Сегодня работает. Мне страшно.
на самом деле ЭТО не страшно - быстро привыкнешь, спросишь, помогут. Страшно, когда ты с системой один бьешься, без помощи. Но этот ужастик достался на наше счастье Гранду. И этот путь им уже пройден - по большей части. В общем "ужас", но не "УЖАС, УЖАС!"
Неактивен
Правильно так:
Chest : qcontainer, fixeditem, openable
isopen=nil
location = startroom
sdesc = "железный шкафчик"
rdesc = "железного шкафчика"
ddesc = "железному шкафчику"
vdesc = "железный шкафчик"
tdesc = "железным шкафчиком"
pdesc = "железном шкафчике"
adjective = 'железный' 'железный#t' 'железного' 'железному' 'железному#d' 'железным' 'железным#t' 'железном'
noun = 'шкафчик' 'шкафчика' 'шкафчику' 'шкафчиком' 'шкафчике' 'шкафчику#d' 'шкафчиком#t'
ldesc = "Железный шкафчик, в нем хранятся твои невеликие пожитки."
isHim = true
;
Uniform : clothingItem
isworn = nil
location = Chest
sdesc = "униформа"
rdesc = "униформы"
ddesc = "униформе"
vdesc = "униформу"
tdesc = "униформой"
pdesc = "униформе"
noun = 'униформа' 'униформы' 'униформе' 'униформу' 'униформой' 'униформою' 'униформе#d' 'униформой#t' 'униформою#t'
ldesc =
{
"Твоя униформа курьера. Из-за того, что на ней не предусмотрены карманы, тебе приходится везде таскать с собой рюкзак. ";
if (Bag.location<>parserGetMe()) {"Кстати, где он? ";}
}
isHer=true
;Это на глаз. В коде извини, не проверял. Но должно работать.
Неактивен
IO написал:
Необходимо:
игрок может выйти из комнаты только если одет в униформу, несет с собой рюкзак и батарейка заряжена. При чем если не соблюдено какое-то из требований, то текст разный для каждого.
У меня получилось что-то невразумительное (и естественно не рабочее):
Я бы написал это так:
CellDoor : Doorway
closed = true
location = startroom
ldesc = "красивый текст"
verDoOpen(actor)={}
doOpen(actor) =
{
if (Bag.location <> parserGetMe()) "текст1";
else if (Uniform.IsWear = nil) "текст2";
else if (Battery.IsCharge = nil) "текст3";
else {"Красивый текст";pass doOpen;}
}
;Но возможны и другие варианты.
Отредактировано Korwin (11.01.2009 18:58)
Неактивен