диалоговое окно

Dmitriy Makarov

25.05.2021
Автор темы
Проверенный
2,484
1,114
Lua:
function test()
    sampShowDialog(424, "Test", "Test1\nTest2\nTest3", "Button1", "Button2", DIALOG_STYLE_LIST)
    local result, button, list, input = sampHasDialogRespond(424)
    if button == 1 and list == 0 then
    sampAddChatMessage("test2", 0xFFFFFF)
    end
end
при открывании диалога в чат отправляется "test2", а не при нажатии на строку
как фиксануть?
 

ImPasha

Software Developer & System Administrator
Друг
1,789
2,136

AnWu

https://t.me/anwublog
Всефорумный модератор
4,708
5,249
Плохой совет, реализация может быть своеобразная.

Создать поток и запускать цикл. В основном потоке лучше такое не мутить.
А что мешает делать это в основном потоке? Он какой-то особенный?
 

ImPasha

Software Developer & System Administrator
Друг
1,789
2,136
А что мешает делать это в основном потоке? Он какой-то особенный?
Это иногда мешает - стопорит другие процессы. У меня часы на рендере были, а диалог их останавливал - больше в основном потоке не использую.
 

AnWu

https://t.me/anwublog
Всефорумный модератор
4,708
5,249
Это иногда мешает - стопорит другие процессы. У меня часы на рендере были, а диалог их останавливал - больше в основном потоке не использую.
сколько юзал эту функцию ничего не останавливалось, это что-то вы не то намутили.
 

ImPasha

Software Developer & System Administrator
Друг
1,789
2,136
сколько юзал эту функцию ничего не останавливалось, это что-то вы не то намутили.
Пологаю, проблема в wait'ах была. Ну не суть, использую функцию с потоком, который обрабатывает response.
 

AnWu

https://t.me/anwublog
Всефорумный модератор
4,708
5,249
Пологаю, проблема в wait'ах была. Ну не суть, использую функцию с потоком, который обрабатывает response.
есть фишка что такой поток так и будет ждать response, и не дождется. Показываешь локальный диалог -> Сервер присылает другой -> Твой диалог остается без ответа. Проверка на id активного диалога решает проблему.
 
  • Нравится
Реакции: ImPasha