props
This commit is contained in:
parent
6cf21b2c5d
commit
25f8657734
|
@ -79,7 +79,7 @@ tabl = obj {
|
|||
|
||||
dsc -- описатель объекта. Он будет выведен в динамической части сцены. Фигурными скобками отображается фрагмент текста, который будет являться ссылкой в графическом интерпретаторе.
|
||||
|
||||
act -- это обработчик, который вызывается при действии пользователя (действие на объект сцены). Его задача -- возвращение строки текста, которая станет частью событий сцены.
|
||||
act -- это обработчик, который вызывается при действии пользователя (действие на объект сцены). Его задача -- возвращение строки текста, которая станет частью событий сцены, или логического значения (см. раздел 5).
|
||||
|
||||
ВНИМАНИЕ: в пространстве имен lua уже существуют некоторые объекты (таблицы), например: table, io, string... Будьте внимательны, при создании объекта. Например, в приведенном примере используется tabl, а не table.
|
||||
|
||||
|
@ -188,6 +188,22 @@ function isForSave(k)
|
|||
return string.find(k, '_') == 1 or string.match(k,'^%u')
|
||||
}}}
|
||||
|
||||
Иногда может понадобиться обработчик, который совершал бы некоторое действие, но не выводил никакого описания. Например:
|
||||
{{{
|
||||
button = obj {
|
||||
nam = "кнопка",
|
||||
dsc = "На стене комнаты видна большая красная {кнопка}.",
|
||||
act = function (s)
|
||||
here().dsc = [[После того как я нажал на кнопку, комната преобразилась. Книжный шкаф куда-то исчез вместе со столом и комодом, а на его месте появился странного вида аппарат.]];
|
||||
return true;
|
||||
end,
|
||||
}
|
||||
}}}
|
||||
В данном случае обработчик `act` нужен для того, чтобы поменять описание комнаты, и не нужно, чтобы чтобы он выводил результат действия. Для отключения результата можно вернуть из обработчика значение true -- это будет означать, что действие успешно выполнено, но не требует дополнительного описания.
|
||||
|
||||
Если необходимо показать, что действие невыполнимо, можно вернуть из обработчика `act` значение false или nil. При этом будет отображено описание по умолчанию, заданное с помощью обработчика `game.act`. Обычно описание по умолчанию содержит описание невыполнимых действий.
|
||||
|
||||
|
||||
== 6. Инвентарь ==
|
||||
|
||||
Простейший вариант сделать объект, который можно брать -- определить обработчик tak.
|
||||
|
|
Reference in a new issue