SA:MP в чём проблема кода?

NewCoder

Новичок
Автор темы
16
1
Всех приветствую! Не понимаю в чём проблема кода? Когда чекбокс включён должен спамить текст в чат, пример обычного флудера, но не работает


код:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local ffi = require 'ffi'
local renderWindow = imgui.new.bool(true)
local checkstate =  imgui.new.bool(false)
local inputText = imgui.new.char[256]()

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)
local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        local resX, resY = getScreenResolution()
        local sizeX, sizeY = 300, 300
        imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
        if imgui.Begin('Main Window', renderWindow) then
            imgui.Checkbox('Check State', checkstate)
            imgui.InputText(u8'Текст для флуда', inputText, 256)
            
            imgui.End()
        end
    end
)









function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('mimgui', function()
        renderWindow[0] = not renderWindow[0]
    end)
    while true do
        while checkstate[0] do
            sampAddChatMessage(u8:decode(ffi.string(inputText)), -1)
            wait (15000)
        end
        wait(0)
    end

end
 

-legacy.

Участник
66
26
Код:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local ffi = require 'ffi'

local renderWindow = imgui.new.bool(false)
local checkstate = imgui.new.bool(false)
local inputText = imgui.new.char[256]('')

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

imgui.OnFrame(function() return renderWindow[0] end,
    function(player)
        local resX, resY = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(350, 150), imgui.Cond.FirstUseEver)
       
        if imgui.Begin(u8'Настройки флудера', renderWindow) then
            imgui.Checkbox(u8'Включить флуд', checkstate)
            imgui.InputText(u8'Текст сообщения', inputText, 256)
            imgui.End()
        end
    end)

function main()
    while not isSampAvailable() do wait(0) end  
    sampRegisterChatCommand('mimgui', function()
        renderWindow[0] = not renderWindow[0]
    end)

    lua_thread.create(function()
        while true do
            wait(0)
            if checkstate[0] then
                local message = u8:decode(ffi.string(inputText))
                sampSendChat(message) -- в чат 
                sampAddChatMessage(u8' {FFFF00}[Flooder]: {FFFFFF}' .. message, -1) -- сообщение от скрипта типо что загружен т.д .тп           
                wait(15000)
            end
        end
    end)
    wait(-1)
end
 

NewCoder

Новичок
Автор темы
16
1
Код:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local ffi = require 'ffi'

local renderWindow = imgui.new.bool(false)
local checkstate = imgui.new.bool(false)
local inputText = imgui.new.char[256]('')

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

imgui.OnFrame(function() return renderWindow[0] end,
    function(player)
        local resX, resY = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(350, 150), imgui.Cond.FirstUseEver)
      
        if imgui.Begin(u8'Настройки флудера', renderWindow) then
            imgui.Checkbox(u8'Включить флуд', checkstate)
            imgui.InputText(u8'Текст сообщения', inputText, 256)
            imgui.End()
        end
    end)

function main()
    while not isSampAvailable() do wait(0) end 
    sampRegisterChatCommand('mimgui', function()
        renderWindow[0] = not renderWindow[0]
    end)

    lua_thread.create(function()
        while true do
            wait(0)
            if checkstate[0] then
                local message = u8:decode(ffi.string(inputText))
                sampSendChat(message) -- в чат
                sampAddChatMessage(u8' {FFFF00}[Flooder]: {FFFFFF}' .. message, -1) -- сообщение от скрипта типо что загружен т.д .тп          
                wait(15000)
            end
        end
    end)
    wait(-1)
end
чортовы thread, спасибо

решено!