- 4,919
- 6,617
В последнем обновлении мы изменили сигнатуру RPC для диалогов: теперь добавлен новый параметр, позволяющий задавать плейсхолдер (текст-подсказку) в поле ввода. Это используется, например, в новых квестах, где требуется ввод координат или кода.

скриншот диалога с плейсхолдером
Параметр:
Что нужно изменить в скриптах:
1. Перезапишите сигнатуру RPC в начале скрипта
(не раньше строки с
2. Обновите сигнатуру обработчика:
После этих изменений скрипт будет работать корректно.
---
P.S. Мы рассматривали создание PR в
---

скриншот диалога с плейсхолдером
Параметр:
- Имя: placeholder
- Тип: string8
- Находится в конце списка параметров RPC диалога
- Не обязателен — сервер может не присылать плейсхолдер
Что нужно изменить в скриптах:
1. Перезапишите сигнатуру RPC в начале скрипта
(не раньше строки с
require 'samp.events'):
Lua:
sampev.INTERFACE.INCOMING_RPCS[raknet.RPC.SHOWDIALOG] = {
'onShowDialog',
{dialogId = 'int16'},
{style = 'int8'},
{title = 'string8'},
{button1 = 'string8'},
{button2 = 'string8'},
{text = 'encodedString4096'},
{placeholder = 'string8'}
}
2. Обновите сигнатуру обработчика:
Lua:
sampev.onShowDialog(id, style, title, button1, button2, text, placeholder)
После этих изменений скрипт будет работать корректно.
---
P.S. Мы рассматривали создание PR в
samp.events, но отказались от идеи — менять библиотеку для всех ради одной ARZ нецелесообразно. Однако правки уже внесены (или скоро будут) в ту версию samp.events, которая устанавливается лаунчером вместе с moonloader из модов. В таком случае будет достаточно только обновить сигнатуру обработчика, без переписывания структуры RPC.---
Последнее редактирование: