From 9021d98dc20130e7c54bd9f6bf74d1bec4e53e95 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Tue, 12 Mar 2024 15:01:34 +0300 Subject: [PATCH] =?UTF-8?q?Updated=20=D0=A1=D0=BA=D1=80=D0=B8=D0=BF=D1=82?= =?UTF-8?q?=D0=B8=D0=BD=D0=B3=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Скриптинг.md | 119 +++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 56 deletions(-) diff --git a/Скриптинг.md b/Скриптинг.md index db4a1b9..851d20d 100644 --- a/Скриптинг.md +++ b/Скриптинг.md @@ -116,7 +116,7 @@ inventory.bind_block(invid: integer, x: integer, y: integer, z: integer) Привязывает указанный инвентарь к блоку. -```lua +```python inventory.unbind_block(x: integer, y: integer, z: integer) ``` @@ -125,8 +125,8 @@ inventory.unbind_block(x: integer, y: integer, z: integer) > [!WARNING] > Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира. -```lua -inventory.clone(invid: integer) -> integer +```python +inventory.clone(invid: int) -> int ``` Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0. @@ -145,20 +145,20 @@ block.index(name: str) -> int Возвращает числовой id блока, принимая в качестве агрумента строковый -```lua -block.get(x: integer, y: integer, z: integer) -> integer +```python +block.get(x: int, y: int, z: int) -> int ``` Возвращает числовой id блока на указанных координатах. Если чанк на указанных координатах не загружен, возвращает -1. -```lua -block.get_states(x: integer, y: integer, z: integer) -> integer +```python +block.get_states(x: int, y: int, z: int) -> int ``` Возвращает состояние (поворот + доп. информация) в виде целого числа -```lua -block.set(x: integer, y: integer, z: integer, id: integer, states: integer) +```python +block.set(x: int, y: int, z: int, id: int, states: int) ``` Устанавливает блок с заданным числовым id и состоянием (0 - по-умолчанию) на заданных координатах. @@ -223,48 +223,48 @@ block.set_user_bits(x: int, y: int, z: int, offset: int, bits: int, value: int) ## Библиотека item -```lua -item.name(itemid: integer) -> string +```python +item.name(itemid: int) -> str ``` Возвращает строковый id предмета по его числовому id (как block.name) -```lua -item.index(name: string) -> integer +```python +item.index(name: str) -> int ``` Возвращает числовой id предмета по строковому id (как block_index) -```lua -item.stack_size(itemid: integer) -> integer +```python +item.stack_size(itemid: int) -> int ``` Возвращает максимальный размер стопки для предмета. -```lua -item.defs_count() -> integer +```python +item.defs_count() -> int ``` Возвращает общее число доступных предметов (включая сгенерированные) ## Библиотека hud -```lua +```python hud.open_inventory() ``` -Открывает инвентарь - -```lua -hud.close_inventory() -``` - Возвращает id инвентаря блока (при inventory-size=0 создаётся виртуальный инвентарь, который удаляется после закрытия), и id макета UI. +Открывает инвентарь + +```python +hud.close_inventory() +``` + Закрывает инвентарь -```lua -hud.open_block(x, y, z) -> integer, string +```python +hud.open_block(x: int, y: int, z: int) -> int, str ``` > [!NOTE] @@ -272,45 +272,51 @@ hud.open_block(x, y, z) -> integer, string Открывает инвентарь и UI блока. Если блок не имеет макета UI - бросается исключение. -```lua -hud.open_permanent(layoutid: string) +```python +hud.open_permanent(layoutid: str) ``` Добавляет постоянный элемент на экран. Элемент не удаляется при закрытии инвентаря. Чтобы не перекрывать затенение в режиме инвентаря нужно установить z-index элемента меньшим чем -1. В случае тега inventory, произойдет привязка слотов к инвентарю игрока. -```lua -hud.close(layoutid: string) +```python +hud.close(layoutid: str) ``` + Удаляет элемент с экрана ## События блоков ```lua function on_placed(x, y, z, playerid) ``` + Вызывается после установки блока игроком ```lua function on_broken(x, y, z, playerid) ``` + Вызывается после разрушения блока игроком ```lua function on_interact(x, y, z, playerid) ``` + Вызывается при нажатии на блок ПКМ. Предотвращает установку блоков, если возвращает `true` ```lua function on_update(x, y, z) ``` + Вызывается при обновлении блока (если изменился соседний блок) ```lua function on_random_update(x, y, z) ``` + Вызывается в случайные моменты времени (рост травы на блоках земли) ```lua -function on_blocks_tick(tps) +function on_blocks_tick(tps: int) ``` Вызывается tps (20) раз в секунду @@ -319,19 +325,19 @@ function on_blocks_tick(tps) (v0.20+) ```lua -function on_use(playerid) +function on_use(playerid: int) ``` Вызывается при нажатии ПКМ не на блок. ```lua -function on_use_on_block(x, y, z, playerid) +function on_use_on_block(x: int, y: int, z: int, playerid: int) ``` Вызывается при нажатии ПКМ на блок. Предотвращает установку блока, прописанного в `placing-block` если возвращает `true` ```lua -function on_block_break_by(x, y, z, playerid) +function on_block_break_by(x: int, y: int, z: int, playerid: int) ``` Вызывается при нажатии ЛКМ на блок (в т.ч неразрушимый). Предотвращает разрушение блока, если возвращает `true` @@ -363,7 +369,7 @@ function on_world_quit() События прописываются в файле `layouts/имя_макета.xml.lua`. ```lua -function on_open(invid, x, y, z) +function on_open(invid: int, x: int, y: int, z: int) ``` Вызывается при добавлении элемента на экран. @@ -371,7 +377,7 @@ function on_open(invid, x, y, z) При отсутствии привязки к блоку x, y, z так же будут равны 0. ```lua -function on_close(invid) +function on_close(invid: int) ``` Вызывается при удалении элемента с экрана. @@ -381,13 +387,13 @@ function on_close(invid) События связанные с игровым интерфейсом прописываются в файле `scripts/hud.lua` ```lua -function on_hud_open(playerid) +function on_hud_open(playerid: int) ``` Вызывается после входа в мир, когда становится доступна библиотека hud. Здесь на экран добавляются постоянные элементы. ```lua -function on_hud_close(playerid) +function on_hud_close(playerid: int) ``` Вызывается при выходе из мира, перед его сохранением. @@ -398,8 +404,8 @@ function on_hud_close(playerid) Библиотека функций для работы с файлами -```lua -file.resolve(путь: string) -> string +```python +file.resolve(путь: str) -> str ``` Функция приводит запись `точка_входа:путь` (например `user:worlds/house1`) к обычному пути. (например `C://Users/user/.voxeng/worlds/house1`) @@ -408,53 +414,54 @@ file.resolve(путь: string) -> string Возвращаемый путь не является каноническим и может быть как абсолютным, так и относительным. -```lua -file.read(путь: string) -> string +```python +file.read(путь: str) -> str ``` Читает весь текстовый файл и возвращает в виде строки -```lua -file.write(путь: string, текст: string) -> nil +```python +file.write(путь: str, текст: str) -> nil ``` Записывает текст в файл (с перезаписью) -```lua -file.length(путь: string) -> integer +```python +file.length(путь: str) -> int ``` Возвращает размер файла в байтах, либо -1, если файл не найден -```lua -file.exists(путь: string) -> boolean +```python +file.exists(путь: str) -> bool ``` Проверяет, существует ли по данному пути файл или директория -```lua -file.isfile(путь: string) -> boolean +```python +file.isfile(путь: str) -> bool ``` Проверяет, существует ли по данному пути файл -```lua -file.isdir(путь: string) -> boolean +```python +file.isdir(путь: str) -> bool ``` Проверяет, существует ли по данному пути директория -```lua -file.mkdir(путь: string) -> boolean +```python +file.mkdir(путь: str) -> bool ``` Создаёт директорию. Возвращает true если была создана новая директория ### time -```lua -time.uptime() -> number +```python +time.uptime() -> float ``` + Возвращает время с момента запуска движка в секундах ## Доступные модули