File: xact.txt

package info (click to toggle)
instead 1.6.0-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 6,220 kB
  • sloc: ansic: 26,619; makefile: 247; sh: 207; cpp: 93
file content (59 lines) | stat: -rw-r--r-- 2,900 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
====== Модуль 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>