> For the complete documentation index, see [llms.txt](https://expensive-client.gitbook.io/expensive/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://expensive-client.gitbook.io/expensive/dokumentaciya/sobytiya.md).

# События 🎉

* `init()` - Вызывается один раз при загрузке клиента.

```lua
function init()
  -- Ваш код при запуске клиента
  -- Например, можно инициализировать сеттинг
  setting.addNumber(mod, "Offset", 2, 1, 10, 1) -- сеттинг с оффсетом
end
```

* `onEnable()` - Вызывается, когда модуль включили.
* `onDisable()` - Вызывается, когда модуль выключили.

```lua
function onEnable()
    -- Ваш код при включении модуля
end

function onDisable()
    -- Ваш код при выключении модуля
end
```

* `onPlayerUpdate()` - Событие обновления. Вызывается 20 раз в секунду.

```lua
function onPlayerUpdate()     
     local health = player.getHealth()
    if health < 10 then
        print("Здоровье ниже 10!")
    end
end
```

* `onDisplayDrawing(matrix)` - В этом событии происходит отрисовка на дисплее.&#x20;

  * *`matrix` - Это параметр, представляющий собой матрицу или контекст отрисовки для дисплея. Матрица - это структура данных, которая предоставляет доступ к функциям рисования и управления отображением на экране.*
    * *Функции, доступные через `matrix`, позволяют рисовать графические элементы, такие как текст, фигуры и изображения, на экране игры.*
    * *Через `matrix` можно устанавливать параметры рисования, такие как цвет, шрифт, размер шрифта и многое другое.*
    * *`matrix` предоставляет множество методов для отображения информации на экране, что делает его мощным инструментом для создания пользовательского интерфейса и визуальных эффектов в игре.*

  *Используя `matrix`, вы можете создавать разнообразные элементы интерфейса, отображать информацию о состоянии игры и делать игровой процесс более интересным и информативным.*

```lua
function onDisplayDrawing(matrix)
    -- Рисуем текст на экране
    display.drawText(matrix, 20, "Привет, игрок!", 50, 50)

    -- Рисуем прямоугольник
    display.rectangle(100, 100, 200, 100, display.rgb(0, 0, 255, 255))
end
```

* `onMouseTick(button)` - Событие `onMouseTick()` обрабатывает события нажатия на кнопки мыши и возвращает целое число (int) `button`, представляющее кнопку мыши, которая была нажата.

```lua
function onMouseTick(button)
    if button == 0 then
        -- Выполнить действие при нажатии левой кнопки мыши (код для левой кнопки мыши)
    elseif button == 1 then
        -- Выполнить действие при нажатии правой кнопки мыши (код для правой кнопки мыши)
    end
end
```

* `onWorldDrawing()` - Событие `onWorldDrawing()` представляет собой событие 3D рендеринга, которое позволяет вам взаимодействовать с процессом рендеринга игрового мира. Это событие может использоваться для создания пользовательских визуальных эффектов или взаимодействия с элементами мира.

```lua
function onWorldDrawing()
    -- Ваш код для 3D рендеринга здесь
end
```

* `onWalkingPlayerUpdate(rotations)` - В этом событии можно установить угол поворота игрока с использованием списка `rotations`, где `rotations[0]` - это yaw, а `rotations[1]` - это pitch. В конце данного события необходимо вернуть параметр `rotations`.

```lua
function onWalkingPlayerUpdate(rotations)
    -- Устанавливаем yaw и pitch игрока
    rotations[0] = 90  -- Угол поворота горизонтально (yaw)
    rotations[1] = 45  -- Угол наклона вертикально (pitch)

    -- Возвращаем обновленные углы
    return rotations
end
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://expensive-client.gitbook.io/expensive/dokumentaciya/sobytiya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
