update doc/ru/8.Скриптинг.md

This commit is contained in:
MihailRis 2024-06-03 16:54:03 +03:00
parent 3650e33f4c
commit 55815a53f0

View File

@ -2,11 +2,7 @@
В качестве языка сценариев используется LuaJIT
## Функции, доступные в скриптах
```lua
load_script("контентпак:scripts/имя_скрипта.lua") -- загружает скрипт, если ещё не загружен
load_script("контентпак:scripts/имя_скрипта.lua", true) -- перезагружает скрипт
require "контентпак:имя_модуля" -- загружает lua модуль из папки modules (расширение не указывается)
```
@ -77,8 +73,23 @@ player.set_noclip(bool)
Геттер и сеттер noclip режима (выключенная коллизия игрока)
```python
player.get_selected_block(playerid: int) -> x,y,z
```
Возвращает координаты выделенного блока, либо nil
## Библиотека world
```python
world.get_list() -> массив таблиц {
name: str,
icon: str
}
```
Возвращает информацию о мирах: название и предпросмотр (автоматически загружаемая текстура).
```python
world.get_day_time() -> number
```
@ -103,6 +114,12 @@ world.get_seed() -> int
Возвращает зерно мира.
```python
world.exists() -> bool
```
Проверяет существование мира по имени.
## Библиотека pack
```python
@ -123,6 +140,38 @@ pack.get_installed() -> массив строк
Возращает id всех установленных в мире контент-паков
```python
pack.get_available() -> массив строк
```
Возвращает id всех доступных, но не установленных в мире контент-паков
```python
pack.get_base_packs() -> массив строк
```
Возвращает id всех базовых паков (неудаляемых)
```python
pack.get_info(packid: str) -> {
id: str,
title: str,
creator: str,
description: str,
version: str,
icon: str,
dependencies: опциональный массив строк
}
```
Возвращает информацию о паке (не обязательно установленном).
- icon - название текстуры предпросмотра (загружается автоматически)
- dependencies - строки в формате `{lvl}{id}`, где lvl:
- `!` - required
- `?` - optional
- `~` - weak
например `!teal`
## Библиотека gui
Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex:
@ -134,6 +183,12 @@ indentory_doc.some_button.text = "new text"
В скрипте макета `layouts/файл_макета.xml` - `layouts/файл_макета.xml.lua` уже доступна переменная **document** содержащая объект класса Document
```python
gui.str(text: str, context: str) -> str
```
Возращает переведенный текст.
## Библиотека inventory
Библиотека функций для работы с инвентарем.
@ -211,6 +266,18 @@ block.index(name: str) -> int
Возвращает числовой id блока, принимая в качестве агрумента строковый
```python
block.material(blockid: int) -> str
```
Возвращает id материала блока.
```python
block.caption(blockid: int) -> str
```
Возвращает название блока, отображаемое в интерфейсе.
```python
block.get(x: int, y: int, z: int) -> int
```
@ -373,14 +440,36 @@ hud.close(layoutid: str)
hud.get_block_inventory() -> int
```
Получить ID инвентаря открытого блока или 0
Дает ID инвентаря открытого блока или 0
## Библиотеки движка
```python
hud.get_player() -> int
```
### time
Дает ID игрока, к которому привязан пользовательский интерфейс
```python
hud.pause()
```
Открывает меню паузы
```python
hud.resume()
```
Закрывает меню паузы.
## Библиотека time
```python
time.uptime() -> float
```
Возвращает время с момента запуска движка в секундах
```python
time.delta() -> float
```
Возвращает дельту времени (время прошедшее с предыдущего кадра)