74 lines
3.4 KiB
Markdown
74 lines
3.4 KiB
Markdown
# Библиотека *rules*
|
||
|
||
```lua
|
||
rules.create(
|
||
-- имя правила
|
||
name: str,
|
||
-- значение по-умолчанию
|
||
default: bool,
|
||
-- функция-обработчик изменения значения
|
||
[опционально] handler: function
|
||
) -> int
|
||
```
|
||
|
||
Создаёт правило. Если указан обработчик, возвращает id для возможности удаления.
|
||
|
||
> [!NOTE]
|
||
> Созданием правила считается вызов rules.create с назначением значения по-умолчанию.
|
||
> Не созданные правила могут быть использованы, но сброс через rules.reset приведёт
|
||
> к установке значения nil.
|
||
|
||
```lua
|
||
rules.listen(
|
||
-- имя правила
|
||
name: str,
|
||
-- функция-обработчик изменения значения
|
||
handler: function
|
||
) -> int
|
||
```
|
||
|
||
Добавляет обработчик изменения значения правила.
|
||
Возвращает id для возможности удаления.
|
||
Также позволяет подписаться на правило до его создания.
|
||
|
||
```lua
|
||
rules.unlisten(name: str, id: int)
|
||
```
|
||
|
||
Удаляет обработчик правила по id, если он существует.
|
||
|
||
```lua
|
||
rules.get(name: str) -> bool | nil
|
||
```
|
||
|
||
Возвращает значение правила или nil, если оно ещё не было создано.
|
||
|
||
```lua
|
||
rules.set(name: str, value: bool)
|
||
```
|
||
|
||
Устанавливает значение правила, вызывая обработчики. Может использоваться и
|
||
до создания правила.
|
||
|
||
```lua
|
||
rules.reset(name: str)
|
||
```
|
||
|
||
Сбрасывает значение правила к значению по-умолчанию.
|
||
|
||
|
||
## Стандартные правила
|
||
|
||
|
||
| Имя | Описание | По-умолчанию |
|
||
| ---------------------- | --------------------------------------------------------------- | ------------ |
|
||
| cheat-commands | Разрешить команды, имена которых есть в массиве console.cheats. | true |
|
||
| allow-content-access | Разрешить панель доступа к контенту. | true |
|
||
| allow-flight | Разрешить полёт | true |
|
||
| allow-noclip | Разрешить включение noclip. | true |
|
||
| allow-attack | Разрешить атаковать сущности. | true |
|
||
| allow-destroy | Разрешить разрушение блоков. | true |
|
||
| allow-cheat-movement | Разрешить специальные клавиши быстрого перемещения. | true |
|
||
| allow-debug-cheats | Разрешить нечестные элементы управления на дебаг-панели. | true |
|
||
| allow-fast-interaction | Разрешить быстрое взаимодействие. | true |
|