Отсутсвует кодировка

турбодизельный унитаз2012

Участник
Автор темы
137
9
Версия MoonLoader
.026-beta
Всем здарова.
Проблемка на скринах ниже. Как решить?
1716396023160.png

1716396050798.png


Lua:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local new = imgui.new
local ffi = require 'ffi'
local str, sizeof = ffi.string, ffi.sizeof
local set = new.bool(false)

local input_name = imgui.new.char[128]()
local input_namemp = imgui.new.char[128]()
local input_priz = imgui.new.char[128]()


local newFrame = imgui.OnFrame(
    function() return set[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(285, 135), imgui.Cond.FirstUseEver)
        imgui.Begin(u8'Победитель МП', set)
        imgui.Text(u8'Введите ник:') imgui.SameLine()
        imgui.InputTextWithHint(u8'##1', u8'', input_name, sizeof(input_name))
        imgui.Text(u8'Введите название МП:') imgui.SameLine()
        imgui.InputTextWithHint(u8'##2', u8'', input_namemp, sizeof(input_namemp))
        imgui.Text(u8'Введите название приза:') imgui.SameLine()
        imgui.InputTextWithHint(u8'##3', u8'Пример: 5.000.000$', input_priz, sizeof(input_priz))
        if imgui.Button(u8"Оповестить##1") then
            local name = str(input_name)
            local mp = str(input_namemp)
            local priz = str(input_priz)
            sampAddChatMessage('/ao Победитель мероприятия "'..mp..'" на '..priz..' — '..name..'. Поздравляем!',-1)
        end
        imgui.End()
    end
)

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('win', function()
        set[0] = not set[0]
    end)
    wait
 
Решение
Код:
if imgui.Button(u8"Оповестить##1") then
    sampAddChatMessage('/ao Победитель мероприятия "'..u8:decode(ffi.string(input_namemp))..'" на '..u8:decode(ffi.string(input_priz))..' — '..u8:decode(ffi.string(input_name))..'. Поздравляем!',-1)
end

Milloy

Участник
9
4
Кодировка была выбрана изначально Windows-1251.
Тебе нужно сделать, чтобы текст который ты писал - перекодировался в UTF-8. Если нужен пример, отпиши в теме

Извиняюсь, чтобы из UTF-8 перекодировался в win-1251. Потому что mimgui понимает киррилицу только в UTF-8
 

Masayuki

Участник
33
13
Код:
if imgui.Button(u8"Оповестить##1") then
    sampAddChatMessage('/ao Победитель мероприятия "'..u8:decode(ffi.string(input_namemp))..'" на '..u8:decode(ffi.string(input_priz))..' — '..u8:decode(ffi.string(input_name))..'. Поздравляем!',-1)
end