Информация [ARZ] Фикс обработчика onShowDialog

SR_team

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

1756158682183.png
скриншот диалога с плейсхолдером

Параметр:
  • Имя: 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.

---
 
Последнее редактирование:

BaronKelon

Активный
164
137
2025 год, в умирающем сампе додумались сделать плейсхолдеры для диалоговых окон с вводом текста
 
  • Клоун
Реакции: Tema05

chromiusj

модерирую шмодерирую
Модератор
5,952
4,284
менять библиотеку для всех ради одной ARZ нецелесообразно
Думаем...
Я хоть и не думаю, что появившиеся темы выше появились из намеренных действий разработчиков, но что будет в будущем?
 

SR_team

like pancake
Автор темы
BH Team
4,919
6,617
Думаем...
Я хоть и не думаю, что появившиеся темы выше появились из намеренных действий разработчиков, но что будет в будущем?
Про 3D тексты скорее всего просто забыли. Потому что сообщения в чате тоже по другому прилетают - мы их урезаем и записываем в дефолтный пул (вырезаем несовместимые символы и длину). Так же с другими системами - мы например заполняем дефолтный пул моделей,‌который не используется игрой из-за FLA.

Фикс ввода текста, что ты скинул - там же просто вызов дефолт метода из сампа. Хз через что оно у вас раньше работало в муне, но по идее дефолт функцию и должно было дергать, что бы все работало корректно.
 

Cosmo

Известный
Друг
661
2,821
Передавали баг, что когда впервые диалог с плейсхолдером появляется, то он рендериться в неправильном месте до момента пока не начнешь что-то вводить?
jkmIKtpbEQ.png
 

abibusie1

Новичок
2
0
а в каком скрипте изменить и что просто не понимаю ну у ме money separator от ярикаvl