mimgui drawlist & text

Lance_Sterling

Известный
Автор темы
801
282
Версия MoonLoader
.026-beta
кароче пытаюсь сделать второй вариант AddText т.е.
dl:AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL);
чота не получается
у меня
dl:AddText('Tahoma', 10.0, imgui.ImVec2(X2 - 30, Y2 - 30), imgui.GetColorU32Vec4(imgui.ImVec4(1, 1, 1, 1)), sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(v)))..'['..select(2, sampGetPlayerIdByCharHandle(v))..']')
ошибка
[ML] (error) test.lua: E:\by.ryunosuke\moonloader\test.lua:32: bad argument #1 to 'AddText' (cannot convert 'string' to 'struct ImVec2')
stack traceback:
[C]: in function 'AddText'
E:\by.ryunosuke\moonloader\test.lua:32: in function '_draw'
E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:107: in function <E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:91>
[ML] (error) test.lua: Script died due to an error. (01B63554)
чо делать
 
Решение
Падажи что именно как у чапо надо скинь скрин фулл
так это скрин чапо он обрезан, кароче я сам нашол
спизжено отсюда https://www.blast.hk/threads/150299/
чапо спасибо большое хоть тебя тут и нет в теме :>
Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    for size = 10, 20 do
        Font[size] = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', size, nil, glyph_ranges)
    end
end)
Lua:
function imgui.AddTextColoredHex(DL, pos, color, text, out, outcol, fontsize, font)
    local function explode_argb(argb)
        local a = bit.band(bit.rshift(argb, 24), 0xFF)
        local r = bit.band(bit.rshift(argb...

хуега)

РП игрок
Модератор
2,566
2,262
кароче пытаюсь сделать второй вариант AddText т.е.
dl:AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL);
чота не получается
у меня
dl:AddText('Tahoma', 10.0, imgui.ImVec2(X2 - 30, Y2 - 30), imgui.GetColorU32Vec4(imgui.ImVec4(1, 1, 1, 1)), sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(v)))..'['..select(2, sampGetPlayerIdByCharHandle(v))..']')
ошибка
[ML] (error) test.lua: E:\by.ryunosuke\moonloader\test.lua:32: bad argument #1 to 'AddText' (cannot convert 'string' to 'struct ImVec2')
stack traceback:
[C]: in function 'AddText'
E:\by.ryunosuke\moonloader\test.lua:32: in function '_draw'
E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:107: in function <E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:91>
[ML] (error) test.lua: Script died due to an error. (01B63554)
чо делать
я так понимаю, что тебе надо не указывать название шрифта, а подгружать его
 

sdfy

Известный
349
230
Lua:
imgui.OnInitialize(function()
  imgui.GetIO().IniFilename = nil
  local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
  font = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 10.0, _, glyph_ranges)
end)
 
  • Нравится
Реакции: хуега)

Lance_Sterling

Известный
Автор темы
801
282
Lua:
imgui.OnInitialize(function()
  imgui.GetIO().IniFilename = nil
  local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
  font = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 10.0, _, glyph_ranges)
end)
[ML] (error) test.lua: E:\by.ryunosuke\moonloader\test.lua:41: bad argument #1 to 'AddText' (cannot convert 'struct ImFont *' to 'struct ImVec2')
stack traceback:
[C]: in function 'AddText'
E:\by.ryunosuke\moonloader\test.lua:41: in function '_draw'
E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:107: in function <E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:91>
[ML] (error) test.lua: Script died due to an error. (0AA9CF9C)
 

de_clain

Активный
208
47
[ML] (error) test.lua: E:\by.ryunosuke\moonloader\test.lua:41: bad argument #1 to 'AddText' (cannot convert 'struct ImFont *' to 'struct ImVec2')
stack traceback:
[C]: in function 'AddText'
E:\by.ryunosuke\moonloader\test.lua:41: in function '_draw'
E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:107: in function <E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:91>
[ML] (error) test.lua: Script died due to an error. (0AA9CF9C)
(cannot convert 'struct ImFont *' to 'struct ImVec2') - бро вот ошибка
 
  • Эм
Реакции: sdfy

sdfy

Известный
349
230
[ML] (error) test.lua: E:\by.ryunosuke\moonloader\test.lua:41: bad argument #1 to 'AddText' (cannot convert 'struct ImFont *' to 'struct ImVec2')
stack traceback:
[C]: in function 'AddText'
E:\by.ryunosuke\moonloader\test.lua:41: in function '_draw'
E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:107: in function <E:\by.ryunosuke\moonloader\lib\mimgui\init.lua:91>
[ML] (error) test.lua: Script died due to an error. (0AA9CF9C)
Функция шрифта возвращает ImFont
1678124310091.png


Первый аргумент в функции принимает ImFont
1678124292162.png

Но функции две, по этому первый аргумент оно считает координатой.

Что-то мне подсказывает что это баг, хотя не отрицаю что можно вызвать вторую функцию
 

Lance_Sterling

Известный
Автор темы
801
282
Функция шрифта возвращает ImFont
Посмотреть вложение 192444

Первый аргумент в функции принимает ImFont
Посмотреть вложение 192443
Но функции две, по этому первый аргумент оно считает координатой.

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

Andrinall

Известный
681
532
Но функции две, по этому первый аргумент оно считает координатой.
в mimgui это выглядит чуть иначе.
C++:
void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);

Lua:
dl:AddTextFontPtr(font, 16, imgui.ImVec2(50, 450), 0xFFFFFFFF, "Test")
 
  • Нравится
Реакции: хуега) и sdfy

Lance_Sterling

Известный
Автор темы
801
282
в mimgui это выглядит чуть иначе.
C++:
void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);

Lua:
dl:AddTextFontPtr(font, 16, imgui.ImVec2(50, 450), 0xFFFFFFFF, "Test")
два вопроса где ты был раньше и что это за хуйня
1678125113528.png
 
  • Ха-ха
Реакции: Andrinall

sdfy

Известный
349
230
в mimgui это выглядит чуть иначе.
C++:
void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);

Lua:
dl:AddTextFontPtr(font, 16, imgui.ImVec2(50, 450), 0xFFFFFFFF, "Test")
Да, действительно, смотрел imgui api вместо mimgui
1678125100144.png
 
  • Нравится
Реакции: Andrinall