Чтобы писать под Монетлоадер, качай на телефон текстовый редактор Acode или QuickEdit, создавай файл с окончанием .lua и кидай его по пути Android/data/com.arizona.game/monetloader/. Весь код там пишется один в один как на ПК в Мунлоадере 0.26, база одинаковая.
Твой краш с картинкой происходит потому, что ты скорее всего загружаешь её в самом верху скрипта до того, как игра успела полностью прогрузиться, либо неправильно прописал путь. На Андроиде движок ImGui капризный, если картинки нет на месте или скрипт попытался прочесть её слишком рано игра сразу ловит вылет.
Чтобы всё работало без крашей, саму картинку в формате .png закидывай прямо в папку monetloader. В коде сначала обязательно жди загрузку игры через isSampAvailable(), и только после этого загружай текстуру функцией renderLoadTextureFromFile("monetloader/имя.png"). Помни, что на телефоне буквы в названии файла чувствительны к регистру, то есть Pic.png и pic.png это разные вещи для системы.
На готовый рабочий шаблон скрипта с выводом картинки в меню по команде /mmenu, закинь картинку с именем pic.png в папку и тестируй
local imgui = require 'imgui'
local main_window_state = imgui.ImBool(false)
local my_texture = nil
function main()
while not isSampAvailable() do wait(100) end
my_texture = renderLoadTextureFromFile("monetloader/pic.png")
sampRegisterChatCommand("mmenu", function()
main_window_state = not main_window_state
end)
while true do
wait(0)
imgui.Process = main_window_state
end
end
function imgui.OnDrawFrame()
if main_window_state then
imgui.Begin("Menu", main_window_state)
imgui.Text("Текст перед картинкой")
if my_texture ~= nil then
imgui.Image(my_texture, imgui.ImVec2(150, 150))
else
imgui.Text("Файл pic.png не найден в папке!")
end
imgui.End()
end
end