add doc/ru/scripting/core_components.md

This commit is contained in:
MihailRis 2025-09-20 11:29:34 +03:00
parent 1c54de2d76
commit e46d83e092
2 changed files with 90 additions and 0 deletions

View File

@ -45,6 +45,7 @@
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
- [Модуль core:data_buffer](scripting/modules/core_data_buffer.md)
- [Модули core:vector2, core:vector3](scripting/modules/core_vector2_vector3.md)
- [Встроенные компоненты сущностей](scripting/core_components.md)
## Аннотации типов данных

View File

@ -0,0 +1,89 @@
# Встроенные компоненты
## *core:pathfinding*
Компонент для построение путей движения мобов.
```lua
local pathfinding = entity:require_component("core:pathfinding")
-- Устанавливает цель движения, не сбрасывая текущий маршрут
pathfinding.set_target(target: vec3)
-- Возвращает текущую цель движения
pathfinding.get_target() --> vec3
-- Устанавливает высоту преодолимого прыжком препятствия
pathfinding.set_jump_height(height: number)
-- Возвращает текущий построенный маршрут или nil
pathfinding.get_route()
-- Сбрасывает текущий построенный маршрут
pathfinding.reset_route()
-- Возвращает следующую точку маршрута, по текущим координатам.
-- (следует использовать компонент core:mob - функция mob.follow_waypoints)
pathfinding.next_waypoint() --> vec3 или nil
-- Устанавливает интервал перестройки маршрута в тактах обновления.
pathfinding.set_refresh_interval(interval: number)
```
## *core:mob*
Компонент для управления движением (включая полёт) и вращением мобов.
```lua
local mob = entity:require_component("core:mob")
-- Выполняет прыжок с силой jump_force * multiplier
mob.jump([опционально] multiplier: number = 1.0)
-- Вертикальное движение (работает в полёте или в плавании (в будущем))
mob.move_vertical(
-- Скорость вертикального движения
speed: number,
-- Текущая скорость сущности (для минимизации вызовов rigidbody:get_vel())
[опционально] current_velocity
)
-- Горизонтальное движение
mob.go(
-- 2D вектор направления движения
dir: vec2,
-- Множитель скорости
speed_multiplier: number,
-- Бег
sprint: bool,
-- Присядь
crouch: bool,
-- Текущая скорость сущности (для минимизации вызовов rigidbody:get_vel())
[опционально] current_velocity
)
-- Меняет направление взгляда сущности, направляя на указанную точку
mob.look_at(
-- Целевая точка
point: vec3,
-- Менять ли направление всей сущности
change_dir: bool = false
)
-- Движение по построенному маршруту.
-- Если не указан pathfinding, требуется наличие у сущности компонента core:pathfinding
mob.follow_waypoints(
-- Возможная замена компонента pathfinding
[опционально] pathfinding
)
-- Устанавливает направление всей сущности
mob.set_dir(dir: vec3)
-- Проверяет, включён ли режим полёта
mob.is_flight() --> bool
-- Включает/выключает режим полёта
mob.set_flight(flag: bool)
```