steed/doc/modules/xact.txt

59 lines
2.8 KiB
Plaintext
Raw Normal View History

2011-02-28 11:04:59 +02:00
====== Модуль 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>