Ситуация следующая:
есть диван (chairitem), рядом с ним стоит столик (fixeditem, surface), на столике лежит газета (item, readable).
Сидя на диване, при попытке взять (именно взять) газету со столика выдает фразу - "Ты не дост%ать% газета с диванчика." и газету не удается взять. Если газета уже есть с собой, то, сидя на диване, можно успешно положить ее на столик.
Столик есть в списке reachable для дивана. Не могу понять почему нельзя именно взять газету
Приведу сразу кусок своего кода, чтобы не быть голословным:
stolik: fixeditem, surface // журнальный столик [декорация, поверхность] location = room2 sdesc = "журнальный столик" rdesc = "журнального столика" ddesc = "журнальному столику" vdesc = "журнальный столик" tdesc = "журнальным столиком" pdesc = "журнальном столике" adjective = 'журнальный' 'журнальный#t' 'журнального' 'журнальному' 'журнальному#d' 'журнальным' 'журнальным#t' 'журнальном' noun = 'столик' 'столика' 'столику' 'столиком' 'столике' 'столику#d' 'столиком#t' ldesc = "\tЖурнальный столик" isHim = true ; gazyeta: item, readable // газета [предмет, читаемый предмет] location = stolik sdesc = "газета" rdesc = "газеты" ddesc = "газете" vdesc = "газету" tdesc = "газетой" pdesc = "газете" noun = 'газета' 'газеты' 'газете' 'газету' 'газетой' 'газетою' 'газете#d' 'газетой#t' 'газетою#t' ldesc = "\t\"Вестник Н-ска\". Единственная пресса в этом городе. Издается в ближайшем райцентре. " readdesc = "\tНикаких особенных статей нет. Все как обычно: у Марьванны увели корову, драка на дискотеке и т.п. Единственное более-менее интересное сообщение находится в разделе \"Объявления\" - \"Куплю антиквариат\". В контактах указан адрес этого дома." isHer = true bulk = 2 ; divanchik: chairitem //диван [декорация, объект стул] location = room2 sdesc = "диванчик" rdesc = "диванчика" ddesc = "диванчику" vdesc = "диванчик" tdesc = "диванчиком" pdesc = "диванчике" noun = 'диванчик' 'диванчика' 'диванчику' 'диванчиком' 'диванчике' 'диванчику#d' 'диванчиком#t' 'диван' 'дивана' 'дивану' 'диваном' 'диване' 'дивану#d' 'диваном#t' ldesc = "\tКлассический образчик кованой мебели - на хитро выкованных ножках, с деревянным сиденьем и ажурной спинкой." isHim = true reachable = [pyepyelnitsa, stolik] ;
Неактивен
1. Преобразовал код к виду с использованием генератора.
2. Не забывайте дабавлять в список доступного и сам предмет (выделено голубым)
3. Нужно прописать canReachContents = true, потому что:
/*
* For compatibility with past versions of adv.t, we do not allow
* the player to reach objects that are inside objects that are in
* the reachable list. This behavior probably doesn't make a lot of
* sense in most cases, and isn't consistent with other types of
* nested rooms, so many games will probably want to modify
* chairItem and set canReachContents = true. However, since it
* worked this way in the past, the default is still nil, so that
* any games that (intentionally or otherwise) depended on this
* behavior will continue to work the same way they used to.
*/
canReachContents = nil
Пожалуй, избавлюсь от этой тяжелой наследственности.
Вот итоговый код:
stolik: fixeditem, surface // журнальный столик [декорация, поверхность]
location = room2
desc = 'журнальный/1am столик/1m'
noun = 'стол/1m'
ldesc = "\tЖурнальный столик"
isHim = true
;
gazyeta: item, readable // газета [предмет, читаемый предмет]
location = stolik
desc = 'газета/1f'
ldesc = "\t\"Вестник Н-ска\". Единственная пресса в этом городе. Издается в ближайшем райцентре. "
readdesc = "\tНикаких особенных статей нет. Все как обычно: у Марьванны увели корову, драка на дискотеке и т.п. Единственное более-менее интересное сообщение находится в разделе \"Объявления\" - \"Куплю антиквариат\". В контактах указан адрес этого дома."
isHer = true
bulk = 2
;
divanchik: chairitem //диван [декорация, объект стул]
location = room2
desc = 'диванчик/1m'
noun = 'диван/1m'
ldesc = "\tКлассический образчик кованой мебели - на хитро выкованных ножках, с деревянным сиденьем и ажурной спинкой."
isHim = true
reachable = [pyepyelnitsa stolik divanchik]
canReachContents = true
;
Неактивен
О, большое спасибо за оперативную помощь
Генератор я правда пока не стал подключать. Лучше сначала разобраться с основами.
По поводу canReachContents в мануале вроде нет упоминания, по крайней мере я не нашел. Поэтому и встрял
Неактивен