> For the complete documentation index, see [llms.txt](https://docs.nursultan.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nursultan.fun/scripting-api-ru/interfeis/soobsheniya.md).

# Сообщения

## Чат

```kotlin
chat.print("привет")                       // только тебе, с префиксом клиента
chat.printPrefixed("[AutoJump]", "готово") // со своим префиксом
chat.sendToServer("привет всем")           // отправить в чат сервера
chat.runCommand("spawn")                   // выполнить команду сервера
```

`print` видишь только ты — сервер про это сообщение не знает. `sendToServer` и `runCommand` уходят на сервер по-настоящему.

У `runCommand` слэш в начале не нужен: `runCommand("spawn")` отправит `/spawn`.

## Уведомления

Всплывашка в углу — когда сообщение важное, но чат для него слишком многословен:

```kotlin
notify("готово")
notify("мало здоровья", NotifyKind.WARN)
notify("не получилось", NotifyKind.FAIL)
notify("нашёл цель", NotifyKind.ACCENT)
```

| Вид      | Для чего              |
| -------- | --------------------- |
| `OK`     | обычное, по умолчанию |
| `WARN`   | предупреждение        |
| `FAIL`   | ошибка                |
| `ACCENT` | просто выделить       |

## Лог

Лог идёт в консоль скриптов и не мешается в чате. Туда пишут отладку и всё, что игроку видеть незачем:

```kotlin
log.info("загрузился")
log.warn("цель пропала")
log.error("не смог разобрать ответ")
log.error("упало", exception)
```

Ошибки самого скрипта попадают туда же автоматически, вместе с файлом и строкой.

## Консоль

Меню → **Скрипты** → кнопка с терминалом рядом с поиском. В каждой строке — время, уровень и скрипт, от которого она пришла:

```
[15:03:20] [INFO] [auto-jump] загрузился
[15:03:25] [WARN] [auto-jump] цель пропала
[15:03:31] [ERROR] [auto-jump] failed - auto-jump.kts:12: NullPointerException
```

`[INFO]` красится акцентом клиента, а текст остаётся белым; `[WARN]` и `[ERROR]` красят строку целиком, чтобы проблему нельзя было пролистать мимо.

Кроме твоих вызовов `log` туда пишет и сам клиент: загрузился, перезагрузился, удалён, включён, выключен, и каждая ошибка компиляции со своим текстом.

Иконка-булавка оставляет консоль на экране после закрытия меню — это тот режим, который нужен, когда правишь скрипт и смотришь, как он подхватывается на лету. Корзина очищает. Консоль держит последнюю 1000 строк и сама едет за хвостом, пока не прокрутишь вверх что-нибудь прочитать.

## Что где писать

| Куда              | Когда                                    |
| ----------------- | ---------------------------------------- |
| `notify`          | коротко и важно: сработало, не сработало |
| `chat.print`      | нужен текст, который можно перечитать    |
| `log`             | отладка и подробности, игроку не нужные  |
| `reply` в команде | ответ на то, что игрок сам ввёл          |

Не пиши в чат каждый тик — это первое, из-за чего скрипт хочется удалить. Если нужно показывать состояние постоянно, рисуй его на HUD: Рендер 2D.
