текстура имгуи

Savchik Blazer

Но я, мечту свою лелея...
Автор темы
Проверенный
671
293
как сделать чтобы в getWorkingDirectory() выбиралась в конце пути разная картинка в зависимости от
Lua:
local weapons = getCurrentCharWeapon
как-то так
Lua:
img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\ .. weapon .. .png")
 
Решение
как сделать чтобы в getWorkingDirectory() выбиралась в конце пути разная картинка в зависимости от
Lua:
local weapons = getCurrentCharWeapon
как-то так
Lua:
img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\ .. weapon .. .png")
Лично я делаю вот так:
Lua:
-- на верхнем уровне, чтобы не было проблем с областью видимости
local textures = {}
local holdingGun

function imgui.OnDrawFrame()
    --[[ засирать это подобными проверками плохо, но иначе есть риск, что код будет пытаться
    отрисовать несуществующую текстуру. как вариант можно просто задать дефолтные значения
    textures.gun и holdingGun с рассчетом, что изначально id0 ]]
    if holdingGun ~= getCurrentCharWeapon(PLAYER_PED)...

Savchik Blazer

Но я, мечту свою лелея...
Автор темы
Проверенный
671
293

Вложения

  • Снимок экрана 2022-05-08 191316.jpg
    Снимок экрана 2022-05-08 191316.jpg
    3.7 KB · Просмотры: 14

sat0ry

Известный
1,089
290
объясняю. Названия оружий могут не совпадать с теми, что получаешь с помощью функции.Поэтому лучше прописывать путь вручную.
img = imgui.CreateTextureFromFile(getWorkingDirectory().."\resource\blazer'shchud\"..weapon..".png")
как сделать чтобы в getWorkingDirectory() выбиралась в конце пути разная картинка в зависимости от
Lua:
local weapons = getCurrentCharWeapon
как-то так
Lua:
img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\ .. weapon .. .png")
Ты используешь переменную weapons, а в путь прописал weapon.

1652029494762.png

lua:
local weapons = getCurrentCharWeapon
local img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\"..weapons..".png")
--[[
    Вот правильный вариант, тоесть сама проблемы была в переменной, в ее использовании.
]]
 
Последнее редактирование:

Savchik Blazer

Но я, мечту свою лелея...
Автор темы
Проверенный
671
293
объясняю. Названия оружий могут не совпадать с теми, что получаешь с помощью функции.Поэтому лучше прописывать путь вручную.


Ты используешь переменную weapons, а в путь прописал weapon.

Посмотреть вложение 147105
lua:
local weapons = getCurrentCharWeapon
local img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\"..weapons..".png")
--[[
    Вот правильный вариант, тоесть сама проблемы была в переменной, в ее использовании.
]]
все равно появляется белый квадрат
 

Sidney31

Известный
1,132
385
GetWorkingDIrectory возращает путь к папке мунлоадер.
У тебя получается путь .\moonloader\moonloader\resource\...
Используй либо
local img = imgui.CreateTextureFromFile(getGameDirectory() .. "\\moonloader\\resource\\blazer'shchud\\"..weapons..".png")
либо
local img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "\\resource\\blazer'shchud\\"..weapons..".png")
 

Sidney31

Известный
1,132
385
значит имя картинки не совпадает с полученным названием через функцию.
потому-что потому
GetWorkingDIrectory возращает путь к папке мунлоадер.
У тебя получается путь .\moonloader\moonloader\resource\...
Используй либо
local img = imgui.CreateTextureFromFile(getGameDirectory() .. "\\moonloader\\resource\\blazer'shchud\\"..weapons..".png")
либо
local img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "\\resource\\blazer'shchud\\"..weapons..".png")
 

sat0ry

Известный
1,089
290
GetWorkingDIrectory возращает путь к папке мунлоадер.
У тебя получается путь .\moonloader\moonloader\resource\...
Используй либо
А когда это GetWorkingDirectory стал получать путь к папке moonloader, а не к папке гта?
 

Sidney31

Известный
1,132
385
А когда это GetWorkingDirectory стал получать путь к папке moonloader, а не к папке гта?
с момента её появления, хз.
мб ты путаешь working и game
 

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
как сделать чтобы в getWorkingDirectory() выбиралась в конце пути разная картинка в зависимости от
Lua:
local weapons = getCurrentCharWeapon
 

shrug228

Активный
212
75
как сделать чтобы в getWorkingDirectory() выбиралась в конце пути разная картинка в зависимости от
Lua:
local weapons = getCurrentCharWeapon
как-то так
Lua:
img = imgui.CreateTextureFromFile(getWorkingDirectory() .. "moonloader\\resource\\blazer'shchud\\ .. weapon .. .png")
Лично я делаю вот так:
Lua:
-- на верхнем уровне, чтобы не было проблем с областью видимости
local textures = {}
local holdingGun

function imgui.OnDrawFrame()
    --[[ засирать это подобными проверками плохо, но иначе есть риск, что код будет пытаться
    отрисовать несуществующую текстуру. как вариант можно просто задать дефолтные значения
    textures.gun и holdingGun с рассчетом, что изначально id0 ]]
    if holdingGun ~= getCurrentCharWeapon(PLAYER_PED) then
        holdingGun = getCurrentCharWeapon(PLAYER_PED)
        textures.gun = imgui.CreateTextureFromFile(getGameDirectory() .. '\\moonloader\\resource\\blazer 'schud\\' .. holdingGun .. '.png')
    end
    imgui.Image(textures.gun, imgui.ImVec2(100, 100))
end
Плюс: не засоряет память всеми картинками сразу.