LUA | Monetloader Samp Mobile

Lenox

Новичок
Автор темы
2
0
Версия MoonLoader
Другое
Приветики всем кароче хотелось бы задать вопрос вот я играю на Arizona Mobile и хочу начать изучать луа для мобайла monetloader можете пожалуйста дать обучалку какую нибудь и ещё объяснить пожалуйста как можно добавить свою картинку на мобайл скрипт у меня не получается крашит спасибо огромное если поможете!
 

SNAPE

Участник
88
4
Чтобы писать под Монетлоадер, качай на телефон текстовый редактор 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 в папку и тестируй


Lua:
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