вопрос по имгуи

kwzInside

Участник
Автор темы
65
7
Версия MoonLoader
.027.0-preview
помогите пж, как сделать так чтоб в имгуи функции main() работали 2 функции, незнаю как вписать чтоб работало. скрипт просто перестает работат

Код:
function main()
    while not isSampAvailable() do wait(50) end
    sampRegisterChatCommand('aad', function() WinState[0] = not WinState[0] end)
    while true do wait(0)
        while true do wait(0)
            if narko.v then
                if isKeyJustPressed(VK_Z) then
                    sampSendChat('/usedrugs 3')
                end
            end
        end
    end
    while true do
        if status then
            wait((sec[0])*1000)
            wait(min[0]*60000)
            if vra[0] and status then
                sampSendChat('/vr '..u8:decode(str(inputField)))
            end
            if schat[0] and status then
                sampSendChat('/s '..u8:decode(str(inputField)))
            end
            if jchat[0] and status then
                sampSendChat('/j ' ..u8:decode(str(inputField)))
            end
            if dep[0] and status then
                sampSendChat('/d ' ..u8:decode(str(inputField)))
            end
        end
        wait(0)
    end
end
 
  • Вау
Реакции: percheklii

MLycoris

Режим чтения
Проверенный
1,803
1,851
там в примерах есть
 

percheklii

Известный
718
263
три while true do wait(0) в main? Что-то новое. Конечно оно не будет работать. Или я ошибаюсь?)

не проверял, но должно работать с вероятностью 50 процентов :D

Lua:
function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('aad', function()
        WinState[0] = not WinState[0]
    end)

    while true do wait(0)
        if narko.v then
            if isKeyJustPressed(VK_Z) then
                sampSendChat('/usedrugs 3')
            end
        end

        if status then
            wait((sec[0])*1000)
            wait(min[0]*60000)
            if vra[0] and status then
                sampSendChat('/vr '..u8:decode(str(inputField)))
            end
            if schat[0] and status then
                sampSendChat('/s '..u8:decode(str(inputField)))
            end
            if jchat[0] and status then
                sampSendChat('/j ' ..u8:decode(str(inputField)))
            end
            if dep[0] and status then
                sampSendChat('/d ' ..u8:decode(str(inputField)))
            end
        end
    end
end
 

kwzInside

Участник
Автор темы
65
7
три while true do wait(0) в main? Что-то новое. Конечно оно не будет работать. Или я ошибаюсь?)

не проверял, но должно работать с вероятностью 50 процентов :D

Lua:
function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('aad', function()
        WinState[0] = not WinState[0]
    end)

    while true do wait(0)
        if narko.v then
            if isKeyJustPressed(VK_Z) then
                sampSendChat('/usedrugs 3')
            end
        end

        if status then
            wait((sec[0])*1000)
            wait(min[0]*60000)
            if vra[0] and status then
                sampSendChat('/vr '..u8:decode(str(inputField)))
            end
            if schat[0] and status then
                sampSendChat('/s '..u8:decode(str(inputField)))
            end
            if jchat[0] and status then
                sampSendChat('/j ' ..u8:decode(str(inputField)))
            end
            if dep[0] and status then
                sampSendChat('/d ' ..u8:decode(str(inputField)))
            end
        end
    end
end
мб так в /usedrugs 3?
Lua:
if narko[0] and wasKeyPressed(VK_Z) and not sampIsCursorActive() then
                    sampSendChat("/usedrugs 3")
                end

не не работает, что с скриптом не так может быть? взял для теста скрипт авто ad
Lua:
--==--libs--==--
require 'moonloader'
local imgui = require 'mimgui'
local sampev = require 'lib.samp.events'
local ffi = require 'ffi'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local new, str = imgui.new, ffi.string
local inputField = new.char[256]()
local sizeX, sizeY = getScreenResolution()
imgui.OnInitialize(function()
    theme()
end)
local list = {
    commands = {[[Разработчик скрипта kwzInside.
Версия скрипта 1.0 BETA.]]}
}
local WinState, sec, min, vra, schat, jchat, dep, narko = new.bool(), new.int(0), new.int(0), new.bool(), new.bool(), new.bool(), new.bool(), new.bool()
local status = false
local newFrame = imgui.OnFrame(
    function() return WinState[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 4, sizeY / 4), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(370, 190), imgui.Cond.Always)
        imgui.Begin('AutoAD', WinState, imgui.WindowFlags.NoResize)
        if imgui.CollapsingHeader(u8'Информация') then
            imgui.TextWrapped(u8(table.concat(list.commands, '\n')), imgui.GetWindowSize())
        end
        imgui.Separator()
        imgui.PushItemWidth(250)
        imgui.InputTextWithHint(u8' - Enter the text', u8'Любой текст', inputField, 256)
        imgui.Separator()
        imgui.PopItemWidth()
        if imgui.Button(u8"Запустить") and inputField ~= nil and status == false then
            if sec[0] ~= 0 or min[0] ~= 0 then
                status = true
            end
        end
        imgui.SameLine()
        if imgui.Button(u8"Остановить") then status = false end
        imgui.SameLine()
        imgui.Checkbox('/vr', vra)
        imgui.SameLine()
        imgui.Checkbox('/s', schat)
        imgui.SameLine()
        imgui.Checkbox('/j', jchat)
        imgui.SameLine()
        imgui.Checkbox('/d', dep)
        imgui.SliderInt(u8'Секунды', sec, 0, 60)
        imgui.SliderInt(u8'Минуты', min, 0, 60)
        imgui.Separator()
        imgui.SameLine()
        imgui.Checkbox('Нарко на Z', narko)
        imgui.End()
    end
)
function main()
    repeat wait(0) until isSampAvailable()
        sampRegisterChatCommand('ghelp', function()
            WinState[0] = not WinState[0]
        end)
   
        while true do wait(0)
            if narko.v then
                if narko[0] and wasKeyPressed(VK_Z) and not sampIsCursorActive() then
                    sampSendChat("/usedrugs 3")
                end
            end
   
            if status then
                wait((sec[0])*1000)
                wait(min[0]*60000)
                if vra[0] and status then
                    sampSendChat('/vr '..u8:decode(str(inputField)))
                end
                if schat[0] and status then
                    sampSendChat('/s '..u8:decode(str(inputField)))
                end
                if jchat[0] and status then
                    sampSendChat('/j ' ..u8:decode(str(inputField)))
                end
                if dep[0] and status then
                    sampSendChat('/d ' ..u8:decode(str(inputField)))
                end
            end
        end
    end
function sampev.onShowDialog(id, style, title, button1, button2, text)
    if status and vra[0] then
        if text:match('Ваше сообщение является рекламой') then
            sampSendDialogResponse(id,1,0,'')
            return false
        end
    end
end
function theme()
    imgui.SwitchContext()
    local ImVec4 = imgui.ImVec4
    imgui.GetStyle().WindowPadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().FramePadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemSpacing = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemInnerSpacing = imgui.ImVec2(2, 2)
    imgui.GetStyle().TouchExtraPadding = imgui.ImVec2(0, 0)
    imgui.GetStyle().IndentSpacing = 0
    imgui.GetStyle().ScrollbarSize = 10
    imgui.GetStyle().GrabMinSize = 10
    imgui.GetStyle().WindowBorderSize = 1
    imgui.GetStyle().ChildBorderSize = 1
    imgui.GetStyle().PopupBorderSize = 1
    imgui.GetStyle().FrameBorderSize = 1
    imgui.GetStyle().TabBorderSize = 1
    imgui.GetStyle().WindowRounding = 8
    imgui.GetStyle().ChildRounding = 8
    imgui.GetStyle().FrameRounding = 8
    imgui.GetStyle().PopupRounding = 8
    imgui.GetStyle().ScrollbarRounding = 8
    imgui.GetStyle().GrabRounding = 8
    imgui.GetStyle().TabRounding = 8
    imgui.GetStyle().Colors[imgui.Col.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.TextDisabled]           = ImVec4(1.00, 1.00, 1.00, 0.43);
    imgui.GetStyle().Colors[imgui.Col.WindowBg]               = ImVec4(0.00, 0.00, 0.00, 0.90);
    imgui.GetStyle().Colors[imgui.Col.ChildBg]                = ImVec4(1.00, 1.00, 1.00, 0.07);
    imgui.GetStyle().Colors[imgui.Col.PopupBg]                = ImVec4(0.00, 0.00, 0.00, 0.94);
    imgui.GetStyle().Colors[imgui.Col.Border]                 = ImVec4(1.00, 1.00, 1.00, 0.00);
    imgui.GetStyle().Colors[imgui.Col.BorderShadow]           = ImVec4(1.00, 0.00, 0.00, 0.32);
    imgui.GetStyle().Colors[imgui.Col.FrameBg]                = ImVec4(1.00, 1.00, 1.00, 0.09);
    imgui.GetStyle().Colors[imgui.Col.FrameBgHovered]         = ImVec4(1.00, 1.00, 1.00, 0.17);
    imgui.GetStyle().Colors[imgui.Col.FrameBgActive]          = ImVec4(1.00, 1.00, 1.00, 0.26);
    imgui.GetStyle().Colors[imgui.Col.TitleBg]                = ImVec4(0.19, 0.00, 0.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.TitleBgActive]          = ImVec4(0.46, 0.00, 0.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.TitleBgCollapsed]       = ImVec4(0.20, 0.00, 0.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.MenuBarBg]              = ImVec4(0.14, 0.03, 0.03, 1.00);
    imgui.GetStyle().Colors[imgui.Col.ScrollbarBg]            = ImVec4(0.19, 0.00, 0.00, 0.53);
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrab]          = ImVec4(1.00, 1.00, 1.00, 0.11);
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabHovered]   = ImVec4(1.00, 1.00, 1.00, 0.24);
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabActive]    = ImVec4(1.00, 1.00, 1.00, 0.35);
    imgui.GetStyle().Colors[imgui.Col.CheckMark]              = ImVec4(1.00, 1.00, 1.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.SliderGrab]             = ImVec4(1.00, 0.00, 0.00, 0.34);
    imgui.GetStyle().Colors[imgui.Col.SliderGrabActive]       = ImVec4(1.00, 0.00, 0.00, 0.51);
    imgui.GetStyle().Colors[imgui.Col.Button]                 = ImVec4(1.00, 0.00, 0.00, 0.19);
    imgui.GetStyle().Colors[imgui.Col.ButtonHovered]          = ImVec4(1.00, 0.00, 0.00, 0.31);
    imgui.GetStyle().Colors[imgui.Col.ButtonActive]           = ImVec4(1.00, 0.00, 0.00, 0.46);
    imgui.GetStyle().Colors[imgui.Col.Header]                 = ImVec4(1.00, 0.00, 0.00, 0.19);
    imgui.GetStyle().Colors[imgui.Col.HeaderHovered]          = ImVec4(1.00, 0.00, 0.00, 0.30);
    imgui.GetStyle().Colors[imgui.Col.HeaderActive]           = ImVec4(1.00, 0.00, 0.00, 0.50);
    imgui.GetStyle().Colors[imgui.Col.Separator]              = ImVec4(1.00, 0.00, 0.00, 0.41);
    imgui.GetStyle().Colors[imgui.Col.SeparatorHovered]       = ImVec4(1.00, 1.00, 1.00, 0.78);
    imgui.GetStyle().Colors[imgui.Col.SeparatorActive]        = ImVec4(1.00, 1.00, 1.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.ResizeGrip]             = ImVec4(0.19, 0.00, 0.00, 0.53);
    imgui.GetStyle().Colors[imgui.Col.ResizeGripHovered]      = ImVec4(0.43, 0.00, 0.00, 0.75);
    imgui.GetStyle().Colors[imgui.Col.ResizeGripActive]       = ImVec4(0.53, 0.00, 0.00, 0.95);
    imgui.GetStyle().Colors[imgui.Col.Tab]                    = ImVec4(1.00, 0.00, 0.00, 0.27);
    imgui.GetStyle().Colors[imgui.Col.TabHovered]             = ImVec4(1.00, 0.00, 0.00, 0.48);
    imgui.GetStyle().Colors[imgui.Col.TabActive]              = ImVec4(1.00, 0.00, 0.00, 0.60);
    imgui.GetStyle().Colors[imgui.Col.TabUnfocused]           = ImVec4(1.00, 0.00, 0.00, 0.27);
    imgui.GetStyle().Colors[imgui.Col.TabUnfocusedActive]     = ImVec4(1.00, 0.00, 0.00, 0.54);
    imgui.GetStyle().Colors[imgui.Col.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00);
    imgui.GetStyle().Colors[imgui.Col.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00);
    imgui.GetStyle().Colors[imgui.Col.PlotHistogram]          = ImVec4(0.90, 0.70, 0.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.PlotHistogramHovered]   = ImVec4(1.00, 0.60, 0.00, 1.00);
    imgui.GetStyle().Colors[imgui.Col.TextSelectedBg]         = ImVec4(1.00, 1.00, 1.00, 0.35);
    imgui.GetStyle().Colors[imgui.Col.DragDropTarget]         = ImVec4(1.00, 1.00, 0.00, 0.90);
    imgui.GetStyle().Colors[imgui.Col.NavHighlight]           = ImVec4(0.26, 0.59, 0.98, 1.00);
    imgui.GetStyle().Colors[imgui.Col.NavWindowingHighlight]  = ImVec4(1.00, 1.00, 1.00, 0.70);
    imgui.GetStyle().Colors[imgui.Col.NavWindowingDimBg]      = ImVec4(0.80, 0.80, 0.80, 0.20);
    imgui.GetStyle().Colors[imgui.Col.ModalWindowDimBg]       = ImVec4(0.80, 0.80, 0.80, 0.35);
end
 
Последнее редактирование модератором:
  • Грустно
Реакции: percheklii