Изменение содержимого диалогового окна.

Sidney31

Известный
Автор темы
1,132
385
Приветствую! Хочу сделать активацию/деактивацию скрипта в диалоге, как реализовано в скрипте trmap:
Grand Theft Auto  San Andreas 2022.02.20 - 17.25.33.41.gif

Но чёт не получается:
Grand Theft Auto  San Andreas 2022.02.20 - 17.25.33.41_1.gif


Код ниже.

Lua:
local dialogArr = {'{FFFFFF}Статус скрипта {708090}выключен.'}
local dialogStr = ''
for i, value in ipairs(dialogArr) do
    dialogStr = dialogStr .. value .. '\n'
end

--------------------------------------------------------------------------------------------------------------------------------------------------------------

function main()
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand('pr', pr)

    while true do
        wait(0)
        
        local result, button, list = sampHasDialogRespond(10)

        if result then
            if button == 1 then
                if list == 0 then
                    if dialogArr[1] == '{FFFFFF}Статус скрипта {708090}выключен.' then
                        dialogArr[1] = '{FFFFFF}Статус скрипта {7CFC00}включен.'
                        pr()
                    elseif dialogArr[1] == '{FFFFFF}Статус скрипта {7CFC00}включен.' then
                        dialogArr[1] = '{FFFFFF}Статус скрипта {708090}выключен.'
                        pr()
                    end
                end
            end
        end   
    end
end

function pr()
    sampShowDialog(10,'Меню скрипта', dialogStr,'Далее','Закрыть', 2)
end
 
Решение
как пример
Lua:
local dialogArr = {'{FFFFFF}Статус скрипта {708090}выключен.'}
local dialogStr = ''
for i, value in ipairs(dialogArr) do
    dialogStr = dialogStr .. value .. '\n'
end

--------------------------------------------------------------------------------------------------------------------------------------------------------------

function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('pr', pr)
    while true do
        wait(0)
        local result, button, list = sampHasDialogRespond(10)
        if result and button == 1 then
            if list == 0 then act1 = not act1
                pr()
            elseif list == 1 then act2 = not act2
                pr()
            end
        end...

barjik

Известный
464
190
как пример
Lua:
local dialogArr = {'{FFFFFF}Статус скрипта {708090}выключен.'}
local dialogStr = ''
for i, value in ipairs(dialogArr) do
    dialogStr = dialogStr .. value .. '\n'
end

--------------------------------------------------------------------------------------------------------------------------------------------------------------

function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('pr', pr)
    while true do
        wait(0)
        local result, button, list = sampHasDialogRespond(10)
        if result and button == 1 then
            if list == 0 then act1 = not act1
                pr()
            elseif list == 1 then act2 = not act2
                pr()
            end
        end 
    end
end

function pr()
    sampShowDialog(10,'Меню скрипта', 'status: ' ..(act1 and 'on' or 'off')..'\nstatus2: '..(act2 and 'on' or 'off'), 'Далее', 'Закрыть', 2)
end
 
Последнее редактирование:
  • Нравится
Реакции: Sidney31