Сбивается кодировка?

#NoViKoV

Известный
Автор темы
56
9
Версия MoonLoader
.026-beta
Подскажите, почему кодировка слетает тут? Или куда впихнуть u8? Делал по уроку champguess, код 1в1. У него символы отображаются русскими буквами, у меня ?????. Проблема видимо в кодировке Imgui? Но куда впихнуть? Помогите, пожалуйста.

Мой скрин с игры:
Посмотреть вложение 75288

Скрин с игры автора:
Посмотреть вложение 75289

theme color:
function imgui.OnDrawFrame()
    if not main_window_state.v then
        imgui.Process = false
    end
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(510, 600), imgui.Cond.FirstUseEver)
        imgui.Begin('Imgui Themes', main_window_state, imgui.WindowFlags.NoCollapse)
        if imgui.Button(u8'Кнопка') then
            themes.SwitchColorTheme(2)
        end
        imgui.BeginChild("Theme", imgui.ImVec2(300, 200), true)
            for i, value in ipairs(themes.colorThemes) do
                if imgui.RadioButton(value, checked_radio, i) then
                    themes.SwitchColorTheme(i)
                end
            end
        imgui.EndChild()
        imgui.End()
    end
end
 
Решение
Подскажите, почему кодировка слетает тут? Или куда впихнуть u8? Делал по уроку champguess, код 1в1. У него символы отображаются русскими буквами, у меня ?????. Проблема видимо в кодировке Imgui? Но куда впихнуть? Помогите, пожалуйста.

Мой скрин с игры:
Посмотреть вложение 75288

Скрин с игры автора:
Посмотреть вложение 75289

theme color:
function imgui.OnDrawFrame()
    if not main_window_state.v then
        imgui.Process = false
    end
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(510, 600), imgui.Cond.FirstUseEver)
        imgui.Begin('Imgui Themes', main_window_state...

#NoViKoV

Известный
Автор темы
56
9
Lua:
local encoding = require "encoding" --К переменным

encoding.default = 'CP1251'
u8 = encoding.UTF8 -- перед main можешь пихнуть

imgui.Text(u8"Привет") --Пример использования
Кодировку я прописал в начале скрипта, с ней работать умею. Как видишь, кнопка на русском выводится через u8 нормально, а названия тем нормально не переносятся. В themes.lua они у меня прописаны на русском языке. В основном коде видимо нужно использовать u8, но куда прописать его, чтобы выводились на русском языке?
 

корбус

Известный
434
108
Подскажите, почему кодировка слетает тут? Или куда впихнуть u8? Делал по уроку champguess, код 1в1. У него символы отображаются русскими буквами, у меня ?????. Проблема видимо в кодировке Imgui? Но куда впихнуть? Помогите, пожалуйста.

Мой скрин с игры:
Посмотреть вложение 75288

Скрин с игры автора:
Посмотреть вложение 75289

theme color:
function imgui.OnDrawFrame()
    if not main_window_state.v then
        imgui.Process = false
    end
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(510, 600), imgui.Cond.FirstUseEver)
        imgui.Begin('Imgui Themes', main_window_state, imgui.WindowFlags.NoCollapse)
        if imgui.Button(u8'Кнопка') then
            themes.SwitchColorTheme(2)
        end
        imgui.BeginChild("Theme", imgui.ImVec2(300, 200), true)
            for i, value in ipairs(themes.colorThemes) do
                if imgui.RadioButton(value, checked_radio, i) then
                    themes.SwitchColorTheme(i)
                end
            end
        imgui.EndChild()
        imgui.End()
    end
end
Lua:
function imgui.OnDrawFrame()
    if not main_window_state.v then
        imgui.Process = false
    end
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(510, 600), imgui.Cond.FirstUseEver)
        imgui.Begin('Imgui Themes', main_window_state, imgui.WindowFlags.NoCollapse)
        if imgui.Button(u8'Кнопка') then
            themes.SwitchColorTheme(2)
        end
        imgui.BeginChild("Theme", imgui.ImVec2(300, 200), true)
            for i, value in ipairs(themes.colorThemes) do
                if imgui.RadioButton(u8(value), checked_radio, i) then
                    themes.SwitchColorTheme(i)
                end
            end
        imgui.EndChild()
        imgui.End()
    end
end
сохрани скрипт в windows 1251
 
  • Нравится
Реакции: #NoViKoV

#NoViKoV

Известный
Автор темы
56
9
Lua:
function imgui.OnDrawFrame()
    if not main_window_state.v then
        imgui.Process = false
    end
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(510, 600), imgui.Cond.FirstUseEver)
        imgui.Begin('Imgui Themes', main_window_state, imgui.WindowFlags.NoCollapse)
        if imgui.Button(u8'Кнопка') then
            themes.SwitchColorTheme(2)
        end
        imgui.BeginChild("Theme", imgui.ImVec2(300, 200), true)
            for i, value in ipairs(themes.colorThemes) do
                if imgui.RadioButton(u8(value), checked_radio, i) then
                    themes.SwitchColorTheme(i)
                end
            end
        imgui.EndChild()
        imgui.End()
    end
end
сохрани скрипт в windows 1251
Скрипт и themes сохранены в 1251 формате. Когда пробовал поставить u8(value) не получилось, крашнуло.
Сейчас вставил, заработало. Спасибо
 
  • Нравится
Реакции: корбус