SAMP | Ответ в диалог

Mashra

Новичок
Автор темы
17
2
Версия MoonLoader
.026-beta
Всем привет,

У меня есть диалог, я знаю его ID, он серверный. В нём есть поле для ввода текста.

Вопрос: возможно ли сделать так, что если этот диалог появляется, то текст вводится туда автоматически, но при этом диалог не закрывается?

Нужно ли использовать onShowDialog или onDialogResponse? Или, быть может, у .lua есть функция простого вывода сообщения? Условно, если есть некое поле для ввода (будь то чат или что-то иное), то он просто вставляет заданное значение? Типа как "send" в AHK

Благодарю за помощь.

Upd.: Разобрался, что больше всего по функционалу подходит функция "sampSendDialogResponse", но можно ли избегать нажатия кнопки?
 
Последнее редактирование:

Mashra

Новичок
Автор темы
17
2
хукай onShowDialog, и отправляй sampSendDialogResponse
Да, я пробовал делать нечто подобное:

Lua:
 function sampev.onShowDialog(dialogId, style, title, button1, button2, text)

          if dialogId == 443 then
            sampSendDialogResponse(443, 1 , 0, "тест")
          end

 end

Но проблема в том, что диалог сразу отправляется, а мне надо, чтобы он не отправлялся, мне нужно просто ввести текст.
 

ARMOR

kjor32 is legend
Модератор
4,847
6,100
Да, я пробовал делать нечто подобное:

Lua:
 function sampev.onShowDialog(dialogId, style, title, button1, button2, text)

          if dialogId == 443 then
            sampSendDialogResponse(443, 1 , 0, "тест")
          end

 end

Но проблема в том, что диалог сразу отправляется, а мне надо, чтобы он не отправлялся, мне нужно просто ввести текст.
Я тебе сверху скинул вариант решения, чё ж ты не проверяешь?
хукай onShowDialog, и отправляй sampSendDialogResponse
Он же сказал что ему ненадо отправлять диалог, надо просто в поле ввода ввести текст, но не отправлять
 
  • Вау
Реакции: krim

Mashra

Новичок
Автор темы
17
2
Да, кажется это то, что нужно:

Lua:
 function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
          sampAddChatMessage(dialogId, main_color)
          if dialogId == 443 then
            sampSetCurrentDialogEditboxText("Тест")
          end

 end

Проблема такого рода сейчас: даже если открывается диалог 443, то не записывается текст (но если привязать запись текста на, скажем, Ф3, то текст появится в окне). Нужно ли поставить задержку в функции?

Извиняюсь: не увидел ответ, потому поспешил ответить на предыдущий.
 

ARMOR

kjor32 is legend
Модератор
4,847
6,100
Да, кажется это то, что нужно:

Lua:
 function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
          sampAddChatMessage(dialogId, main_color)
          if dialogId == 443 then
            sampSetCurrentDialogEditboxText("Тест")
          end

 end

Проблема такого рода сейчас: даже если открывается диалог 443, то не записывается текст (но если привязать запись текста на, скажем, Ф3, то текст появится в окне). Нужно ли поставить задержку в функции?

Извиняюсь: не увидел ответ, потому поспешил ответить на предыдущий.
Да, попробуй установить задержку, если не поможет то напишу тебе вариант без хука onShowDialog, и ебашить говнокодом немного