почему так. ренденфортдравтекст

joumey

Активный
Автор темы
194
44
Версия MoonLoader
.026-beta
1681316110817.png

Почему так.
renderFontDrawText(font, u8:decode(v), settings.config.stringsPos[1], settings.config.stringsPos[2], settings.colors[k])
u8:decode(v) = "text\\\\ntext2\\ntext\\ttext"
settings.config.stringsPos = {1053,548}
settings.colors[k] = "0xFFFF2B2B"
https://wiki.blast.hk/ru/moonloader/lua/renderFontDrawText говорит :
** Поддерживает цветовые теги в формате {RRGGBB} и {AARRGGBB}, и символ переноса строки \n.

только что заметил что форум изменил сtроку, там где \\\\ должно быть\ n
 
Последнее редактирование:

joumey

Активный
Автор темы
194
44

CaJlaT

07.11.2024 14:55
Модератор
2,848
2,697
у меня так тоже получается, а с переменной - нет, вот я и спросил..
1681319108103.png

Вот в точности как у тебя, с кодировкой
Lua:
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local text = u8'Text\nДругая строка'
function main()
    local font = renderCreateFont('Arial', 22, 6)
    while true do
        wait(0)
        renderFontDrawText(font, u8:decode(text), 10, 200, -1)
    end
end
Проблема в тексте
 

joumey

Активный
Автор темы
194
44
Посмотреть вложение 197428
Вот в точности как у тебя, с кодировкой
Lua:
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local text = u8'Text\nДругая строка'
function main()
    local font = renderCreateFont('Arial', 22, 6)
    while true do
        wait(0)
        renderFontDrawText(font, u8:decode(text), 10, 200, -1)
    end
end
Проблема в тексте
В чем может быть проблема? выводиться все хорошо в консоль. Текст беру из JSON файла (декодирую, если что)
 

CaJlaT

07.11.2024 14:55
Модератор
2,848
2,697
В чем может быть проблема? выводиться все хорошо в консоль. Текст беру из JSON файла (декодирую, если что)
1681319786759.png


Lua:
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
function json(filePath)
    local f = {}
    function f:read()
        local file = io.open(filePath, 'r')
        local jsonInString = file:read("*a")
        file:close()
        local jsonTable = decodeJson(jsonInString)
        return jsonTable
    end
    function f:write(t)
        file = io.open(filePath, "w")
        file:write(encodeJson(t))
        file:flush()
        file:close()
    end
    return f
end
local settingsDir = getWorkingDirectory()..'/config/test.json'
if not doesFileExist(settingsDir) then json(settingsDir):write({text = u8'Text\nДругая строка\nТретья строка'}) end
local settings = json(settingsDir):read()
function main()
    local font = renderCreateFont('Arial', 22, 6)
    while true do
        wait(0)
        renderFontDrawText(font, u8:decode(settings.text), 10, 200, -1)
    end
end
Проблема в кривых руках...
 

Вложения

  • render multiline.lua
    849 байт · Просмотры: 4

joumey

Активный
Автор темы
194
44
Посмотреть вложение 197430

Lua:
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
function json(filePath)
    local f = {}
    function f:read()
        local file = io.open(filePath, 'r')
        local jsonInString = file:read("*a")
        file:close()
        local jsonTable = decodeJson(jsonInString)
        return jsonTable
    end
    function f:write(t)
        file = io.open(filePath, "w")
        file:write(encodeJson(t))
        file:flush()
        file:close()
    end
    return f
end
local settingsDir = getWorkingDirectory()..'/config/test.json'
if not doesFileExist(settingsDir) then json(settingsDir):write({text = u8'Text\nДругая строка\nТретья строка'}) end
local settings = json(settingsDir):read()
function main()
    local font = renderCreateFont('Arial', 22, 6)
    while true do
        wait(0)
        renderFontDrawText(font, u8:decode(settings.text), 10, 200, -1)
    end
end
Проблема в кривых руках...
Я разобрался, спасибо (проблема вообще в другом была, и руки мои тут ни при чем(( )