диалоги

Oki_Bern

Участник
Автор темы
171
6
Версия MoonLoader
Другое
как сделать проверку на номер диалога
Типо если диалог равен числу, то действие
 
Решение
айди диалога(в данном случае 11)
Он созданный скриптом или сервером ?

Если скриптом

Скриптом:
while true do
        wait(1)
        local result, button, list, input = sampHasDialogRespond(11)
            if result then
                if button == 1 then
                      sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
                else
                     sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
                end
            end
    end
Если сервером
server:
local events = require('lib.samp.events') -- подключение библиотек

function events.onSendDialogResponse(dialogId, button, list, input)
    if dialogId == 11 then
        if button == 1 then...

хуега)

РП игрок
Модератор
2,574
2,278
как сделать проверку на номер диалога
Типо если диалог равен числу, то действие

либо что-то такое
Lua:
local sampev = require("samp.events")



function sampev.onShowDialog(dialogId, titile, button1, button2, text)
    if dialogId == 1337 then
        print("SHOW")
    end
end
 
  • Нравится
Реакции: Oki_Bern и MLycoris

Oki_Bern

Участник
Автор темы
171
6

либо что-то такое
Lua:
local sampev = require("samp.events")



function sampev.onShowDialog(dialogId, titile, button1, button2, text)
    if dialogId == 1337 then
        print("SHOW")
    end
end
Спасибо, но чет я как то попытался все совместить и у меня не вышло, поможете?
Lua:
local result, button, list, input = sampHasDialogRespond(11) -- /dialog1 (InputBox)
function debil()
  sampShowDialog(11, "Диалог с типом ID 1 (InputBox)", "Введите какую-либо строку", "Выбрать", "Закрыть", 1)
  sampev.onShowDialog(dialogId)
end

function sampev.onShowDialog(dialogId, titile, button1, button2, text)
    if result then -- если диалог открыт
      if dialogId == 11 then     
      if button == 1 then -- если нажата первая кнопка (Выбрать)
          sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
      else -- если нажата вторая кнопка (Закрыть)
          sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
      end
    end
  end
end
 
  • Грустно
Реакции: MLycoris

KandySr

Участник
10
6

Спасибо, но чет я как то попытался все совместить и у меня не вышло, поможете?
Lua:
local result, button, list, input = sampHasDialogRespond(11) -- /dialog1 (InputBox)
function debil()
  sampShowDialog(11, "Диалог с типом ID 1 (InputBox)", "Введите какую-либо строку", "Выбрать", "Закрыть", 1)
  sampev.onShowDialog(dialogId)
end

function sampev.onShowDialog(dialogId, titile, button1, button2, text)
    if result then -- если диалог открыт
      if dialogId == 11 then   
      if button == 1 then -- если нажата первая кнопка (Выбрать)
          sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
      else -- если нажата вторая кнопка (Закрыть)
          sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
      end
    end
  end
end
Держи как пример код
сode:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end

    sampRegisterChatCommand("reg_dialog", function()
        sampShowDialog(11, "Диалог с типом ID 1 (InputBox)", "Введите какую-либо строку", "Выбрать", "Закрыть", 1)
    end)
  
    while true do
        wait(1)
        local result, button, list, input = sampHasDialogRespond(11)
            if result then
                if button == 1 then
                      sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
                else
                     sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
                end
            end 
    end
end
 
  • Нравится
Реакции: Oki_Bern и MLycoris

Oki_Bern

Участник
Автор темы
171
6


Держи как пример код
сode:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end

    sampRegisterChatCommand("reg_dialog", function()
        sampShowDialog(11, "Диалог с типом ID 1 (InputBox)", "Введите какую-либо строку", "Выбрать", "Закрыть", 1)
    end)
 
    while true do
        wait(1)
        local result, button, list, input = sampHasDialogRespond(11)
            if result then
                if button == 1 then
                      sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
                else
                     sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
                end
            end
    end
end
А можете добавить проверку на номер диалога? А то я чето туплю
 

KandySr

Участник
10
6
айди диалога(в данном случае 11)
Он созданный скриптом или сервером ?

Если скриптом

Скриптом:
while true do
        wait(1)
        local result, button, list, input = sampHasDialogRespond(11)
            if result then
                if button == 1 then
                      sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
                else
                     sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
                end
            end
    end
Если сервером
server:
local events = require('lib.samp.events') -- подключение библиотек

function events.onSendDialogResponse(dialogId, button, list, input)
    if dialogId == 11 then
        if button == 1 then
            sampAddChatMessage("Вы нажали кнопку выбора в диалоге с ID 11, и ввели туда: {FFFFFF}" .. input, -1)
        else
             sampAddChatMessage("Вы закрыли диалог с ID 11", -1)
        end
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: MLycoris и Oki_Bern