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> |