не выводятся русские символы в чат, не отображается цвет

johnnysins

Участник
Автор темы
29
1

сделал мимгуи окно в функции которого есть checkbox по нажатию которого включается и выключается​

игнорирование RemovePlayerFromVehicle​


1741460012716.png

столкнулся с ошибкой, не выводятся русские символы, а еще не знаю как сделать чтобы строка была белого цвета куда -1 запихнуть ?

Lua:
local imgui = require 'mimgui'
local sampev = require "lib.samp.events"
local ffi = require 'ffi'
local vkeys = require 'vkeys'
local encoding = require 'encoding'
                                    

encoding.default = 'CP1251'       
                                      
local u8 = encoding.UTF8           

local wm = require 'windows.message'
local new, str, sizeof = imgui.new, ffi.string, ffi.sizeof

local renderWindow, rpcpacket = new.bool(), new.bool()
local inputField = new.char[256](--[[Здесь также следует кодировать информацию!]])
local sizeX, sizeY = getScreenResolution()

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

local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(220, 200), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window", renderWindow)
        imgui.Text("Hello")
        imgui.Text(string.format("Current render mode: %s", renderWindow[0]))
        if imgui.InputText(u8"вводить текст сюда", inputField, sizeof(inputField)) then
            -- Кодируем название инпута
            print(u8:decode(str(inputField))) -- Декодируем в Windows-1251
        end
        if imgui.Button(u8"Вывести сообщение") then
            sampAddChatMessage(u8:decode(str(inputField)), -1)
        end
        if imgui.Checkbox(u8"Игнорирование RPC пакета", rpcpacket) then
            sampAddChatMessage(u8:decode('состояние RPC пакета переключено на: ') .. (rpcpacket[0] and "Включено" or "Выключено")
        )
        end
        imgui.End()
    end
)

function main()
    addEventHandler('onWindowMessage', function(msg, wparam, lparam)
        if msg == wm.WM_KEYDOWN or msg == wm.WM_SYSKEYDOWN then
            if wparam == vkeys.VK_J and not sampIsChatInputActive() and not sampIsDialogActive() then
            renderWindow[0] = not renderWindow[0]
        end
        end
    end)
    wait(-1)
end

function sampev.onRemovePlayerFromVehicle()
    if rpcpacket[0] then
    return false
    end
end
 

plalkeo

Известный
827
329
  • Нравится
Реакции: johnnysins