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)
Неактивен