не выводит текст в мимгуи окно

boy next door

Участник
Автор темы
219
18
Версия MoonLoader
.026-beta
здаров.
помогите сделать этот говно код рабочим, пожалуйста
Lua:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local new = imgui.new

local renderWindow = new.bool(false)
local chatMessages = {} -- Таблица для хранения сообщений

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 = 900, 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)
        imgui.Begin('VIP ADV render', renderWindow)
        
        for i, message in ipairs(chatMessages) do
            imgui.TextUnformatted(u8(message))
        end

        imgui.End()
    end
)

function onServerMessage(color, text)
    if string.match(text, "^%[VIP ADV%] .*") then
        table.insert(chatMessages, text)
        if #chatMessages > 10 then
            table.remove(chatMessages, 1)
        end
    end
end

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

   lua_thread.create(function()
        while true do
            wait(0)
            local result, color, text = sampGetChatString(1)
            if result then
                onServerMessage(color, text)
            end
        end
    end)
end

оно ищет в чате вип адв и должно выводить текст в мимгуи.
 
  • Ха-ха
  • Bug
Реакции: chapo и MLycoris

wojciech?

Известный
Проверенный
355
237
Из чатлога не пробовал доставать сообщения? Да и ты неправильно используешь функцию, она другое возвращает:
zstring text, zstring prefix, uint color, uint pcolor = sampGetChatString(int id)

И если бы оно работало, тебе очень вероятно зафлудило бы таблицу одним и тем же сообщением, используй лучше samp.events для этого

p.s. и поток с бекс цикла убери