Меню и рисование HUD
samp.ui.menu.register(page)
Требует ui.menu, регистрирует или заменяет страницу и ничего не возвращает.
| Поле страницы | Правила |
|---|---|
id | Обязательная строка до 64 байт. |
title | Обязательная строка до 128 байт. |
controls | До 32 элементов с уникальными ID. |
До 8 страниц на плагин. Каждый control требует type, id до 64 байт и title до 128 байт.
| Тип | Дополнительные поля |
|---|---|
section | Нет. |
text | text, допускается пустой, до 512 байт. |
button | Нет. |
switch | Обязательный value: boolean. |
slider | min=0, max=1, step=0.1, value=min; конечные числа до 1 000 000 по модулю; max>min, step>0. |
choice | value и 1–32 уникальных {value,label}; выбранное значение должно существовать. |
text_input | value="", placeholder="", max_length=512 (целое 1..512). |
Изменения создают ui.control_changed; поля см. в событиях.
Фаза HUD
Все samp.draw требуют ui.draw, работают только синхронно в draw.hud и ограничены 512 командами за кадр. Цвет — ARGB 0xAARRGGBB. При normalized=true координаты находятся в 0..1; обычные конечные координаты не превышают 100 000 по модулю.
| Функция | Поля options |
|---|---|
draw.text | x=0, y=0, обязательный text до 1024 байт, size=16 (>0..512), color=0xFFFFFFFF, normalized=false. |
draw.line | x1,y1,x2,y2=0, thickness=1 (>0..100), color, normalized. |
draw.rect | Как line, плюс filled=false. |
draw.circle | x,y=0, radius=1 (>0..100000, до 1 в normalized), thickness, color, filled, normalized. |
draw.progress_bar | x1,y1,x2,y2, value=0 в 0..1, color, background_color=0x66000000, normalized; x2>x1, y2>y1. |
draw.image | x1,y1,x2,y2, обязательный безопасный resource до 256 байт, alpha=1 в 0..1, normalized; x2>x1, y2>y1. |
Изображения: PNG/WebP/JPEG/JPG, файл до 16 МиБ, размер до 1024×1024; на плагин 16 изображений и 16 МиБ декодированных данных, глобально 64 МиБ. За кадр начинается загрузка не более одного нового изображения.
samp.draw.world_to_screen(Vector3) возвращает nil или {x,y,depth,width,height}.