59 lines
2.8 KiB
Plaintext
59 lines
2.8 KiB
Plaintext
|
====== Модуль xAct ======
|
|||
|
|
|||
|
^ Подключение | require %%"%%xact%%"%% |
|
|||
|
^ Тип | расширение кода |
|
|||
|
^ Зависимости | нет |
|
|||
|
|
|||
|
===== Описание =====
|
|||
|
Модуль позволяет делать ссылки на объекты из других объектов, реакций и life методов в форме: {объект(параметры):текст}.
|
|||
|
|
|||
|
Начиная с версии 1.2.2 (instead_version "1.2.2") символ разделителя задается stead.delim и по-умолчанию содержит '|'. То-есть формат записи выглядит так: {объект(параметры)|текст}.
|
|||
|
|
|||
|
Где 'объект' это сам объект или атрибут nam объекта. При этом, чтобы ссылка работала, объект должен
|
|||
|
присутствовать в сцене.(Начиная с 1.2.2 -- не обязательно).
|
|||
|
|
|||
|
(параметры) -- необязательные параметры в виде: (текст, текст, ...)
|
|||
|
|
|||
|
'текст' -- то, как ссылка выглядит в игре для игрока.
|
|||
|
|
|||
|
Модуль содержит в себе функцию xact, которая создает объект - простейшую реакцию.
|
|||
|
Первый параметр функции -- имя, второй -- реакция, которая может быть строкой, функцией или code.
|
|||
|
|
|||
|
Модуль содержит в себе реализацию комнаты с расширенным описанием: xroom. Если в такой комнате задать
|
|||
|
атрибут xdsc, то он будет выведен в области описаний объектов.
|
|||
|
|
|||
|
Функция xdsc позволяет более гибко управлять выводом текста в области предметов. См. примеры.
|
|||
|
===== Примеры использования =====
|
|||
|
<code lua>
|
|||
|
main = room {
|
|||
|
forcedsc = true;
|
|||
|
dsc = [[От автора. Эту игру я писал очень {note1|долго}.]];
|
|||
|
obj = {
|
|||
|
xact('note1', [[Больше 10 лет.]]);
|
|||
|
}
|
|||
|
}
|
|||
|
</code>
|
|||
|
|
|||
|
<code lua>main = room {
|
|||
|
forcedsc = true;
|
|||
|
dsc = [[Я в комнате.]];
|
|||
|
xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]];
|
|||
|
other = [[ Еще здесь лежат {chain|цепь} и {tool|пила}.]];
|
|||
|
obj = {
|
|||
|
xdsc(), -- 'xdsc method by default'
|
|||
|
xdsc 'other',
|
|||
|
'apple', 'knife', 'chain', 'tool',
|
|||
|
}
|
|||
|
}
|
|||
|
</code>
|
|||
|
|
|||
|
<code lua>
|
|||
|
main = xroom {
|
|||
|
forcedsc = true;
|
|||
|
dsc = [[Я в комнате.]];
|
|||
|
xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]];
|
|||
|
obj = {
|
|||
|
'apple', 'knife', 'chain', 'tool',
|
|||
|
}
|
|||
|
}
|
|||
|
</code>
|