Ситуация следующая:
есть диван (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 в мануале вроде нет упоминания, по крайней мере я не нашел. Поэтому и встрял ![]()
Неактивен