From 55815a53f01cb002a2eebb864c1e6c06153994cf Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 3 Jun 2024 16:54:03 +0300 Subject: [PATCH] =?UTF-8?q?update=20doc/ru/8.=D0=A1=D0=BA=D1=80=D0=B8?= =?UTF-8?q?=D0=BF=D1=82=D0=B8=D0=BD=D0=B3.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/ru/8.Скриптинг.md | 103 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 96 insertions(+), 7 deletions(-) diff --git a/doc/ru/8.Скриптинг.md b/doc/ru/8.Скриптинг.md index ec066f4a..91e1159b 100644 --- a/doc/ru/8.Скриптинг.md +++ b/doc/ru/8.Скриптинг.md @@ -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 +``` + +Возвращает дельту времени (время прошедшее с предыдущего кадра)