Аналог опкода 0B3B
sampShowDialog(int id, zstring caption, zstring text, zstring button1, zstring button2, int style)
Показывает игроку диалоговое окно
int id id диалога
zstring caption заголовок окна
zstring text текст самого диалога. Можно использовать \n для перевода строки и \t для табуляции
zstring button1 название первой (левой) кнопки диалога
zstring button2 название второй (правой) кнопки диалога
int style стиль диалогового окна (0-5)
Отсутствует.
lua_thread.create(function() -- Нужен для цикла (while на 3-й строке)
sampShowDialog(6405, "Список", "Россия\nУкраина\nБелоруссия", "Выбрать", "Отмена", 2) -- Показываем диалог
while sampIsDialogActive(6405) do wait(100) end -- Ожидание закрытия диалога
local _, button, list, _ = sampHasDialogRespond(6405) -- Получаем ответ на диалог
if button == 1 then -- Если нажата 1-я кнопка ("Выбрать"), тогда
if list == 0 then
sampAddChatMessage("Вы выбрали Россию",-1)
elseif list == 1 then
sampAddChatMessage("Вы выбрали Украину",-1)
elseif list == 2 then
sampAddChatMessage("Вы выбрали Белорусию",-1)
end
else -- Если нажата 2-я кнопка ("Отмена"), тогда
sampAddChatMessage('Вы нажали кнопку "Отмена"',-1)
end
end)
lua_thread.create(function() -- Нужен для цикла (while на 3-й строке)
sampShowDialog(6406, "Ввод текста", "Я еду в Сочи, поздравьте меня", "ОК", "Отмена", DIALOG_STYLE_INPUT) -- Пример с инпутом
while sampIsDialogActive(6406) do wait(100) end -- Ожидание закрытия диалога
local result, button, _, input = sampHasDialogRespond(6406)
sampAddChatMessage("Содержимое диалога - " .. input, -1)
end)