как узнать версию мунлоадера самп
MoonLoader
Moonloader будет полезен как разработчикам, так и пользователям, не занимающимся разработкой.
Поскольку Lua скрипты не требуют обязательной компиляции, каждый может изменить исходный код скрипта любым текстовым редактором. Например, можно поменять кнопку или команду для активации скрипта, совсем не умея программировать и не обращаясь за помощью. Кроме этого, Moonloader можно загружать в уже запущенную игру с помощью любого инжектора, эта возможность может быть полезна тем, кто не хочет держать скрипты и сам плагин в директории игры.
Нельзя не упомянуть, что стабильность Lua-скриптов на порядок выше, благодаря встроенным средствам скриптового движка и плагина, а также повышенному качеству разработки, что тоже играет важную роль для любого пользователя.
Moonloader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Язык программирования Lua является одним из самых популярных скриптовых языков в сфере разработки игр, и в связи с этим для него существует огромное количество готовых решений тех или иных задач, множество готовых модулей на самом Lua, с использованием FFI и в виде динамических библиотек помогут сэкономить время на поиске решения.
Lua значительно упростит разработку и повысит её качество и эффективность, а сами скрипты будут работать стабильнее и быстрее. Благодаря тому, что Moonloader использует не обычный Lua, а LuaJIT, который широко известен своей колоссальной производительностью и невероятно мощной библиотекой FFI, можно добиться наилучших результатов в реализации задачи наиболее эффективным путём.
Разработчики:
FYP, hnnssy, EvgeN 1137
Отдельная благодарность:
DK22Pac, MISTER_GONWIK, 4el0ve4ik, EXPORT, Garrus, CLEO 4
MoonLoader для SA:MP 0.3.7
Описание и загрузка:
MoonLoader призван полноценно заменить CLEO в Сан Андреас. Модификация будет полезна как разработчикам, так и игрокам. Исходный код скрипта доступен для редактирования каждому. Для того чтобы изменить кнопку или команду для активации, совсем не обязательно разбираться в программировании.
MoonLoader можно подгружать в уже запущенную игру с помощью инжектора. Эта функция полезна для тех, кто предпочитает не размещать плагин и скрипты в папке с игрой.
Одно из достоинств данной модификации – ее хорошая совместимость с SA:MP 0.3.7.
Как установить
После запуска setup-moonloader.exe нужно следовать инструкции, предлагаемой программой установки. Для того чтобы MoonLoader заработал, необходима ГТА: SA версия US1.0.
Дополнение полезно не только для игроков, но и для разработчиков. Им просто необходимо воспользоваться для творчества, а затем продемонстрировать единомышленникам результаты своей работы.
Скачать
ManiaMods.ru – ваш верный гид по миру последних новостей, новейших модов и самой разнообразной информации по GTA 4, GTA 5 и GTA Online.
Наши новости пишутся на основе первоисточников, в том числе официального сайта RockstarGames.com, и попадают на сайт через считаные часы после публикации оригинала.
Коллекция тщательно отобранных файлов включает сотни наиболее интересных модификаций с подробными инструкциями и демонстрационными видео, патчи, сохранения и многое другое.
И, разумеется, на нашем сайте вы сможете найти подробную информацию по наиболее популярным играм серии Grand Theft Auto. А если останутся вопросы – милости просим на наш форум.
MoonLoader v.026.5b для GTA San Andreas
Описание
MoonLoader – плагин, который приходит на замену устаревшему CLEO. Он добавляет возможность загружать Lua-скрипты в игре. Такие скрипты гораздо стабильнее и более современные, благодаря им сокращается количество вылетов игры.
Ещё одной особенностью такого загрузчика то, что каждый может редактировать загруженные скрипты в обычном текстовом редакторе. Будь это разработчик или игрок без особых навыков, любой может изменять исходный код скриптовой модификации (например, изменить клавишу управления).
Moon Loader отлично работает в SAMP 0.3.7 и SAMPFUNCS, поддерживает старые версии КЛЕО библиотек, но может работать и без них.
Разработчики утверждают, что на новой версии плагина, старые скрипты работать не будут. Нужно либо переустановить заново модификацию, либо установить Мун Лоадер v.25b и старше.
Как установить MoonLoader для GTA San Andreas?
Скопировать файлы из архива в папку с игрой, подтверждая замену.
Скачать МунЛоадер для ГТА Сан Андреас с автоустановкой без ожидания и без вирусов можно у нас. Прямая ссылка на скачивание ниже:
Moon ImGui — Dear ImGui for MoonLoader
Это работает, но что-то не впечатляет, согласитесь. Окно изначально маленькое, показывается сразу при старте и его нельзя закрыть.
Сделаем его побольше, добавим активацию и какое-нибудь действие:
Разница между C++ API и Lua API
Описание | В C++ | В Lua |
---|---|---|
Все функции из пространства имён ImGui, как и все типы, и все перечисления находятся в таблице, возвращаемой модулем | ImGui::Text(«text»); ImVec2(0.1f, 2.3f); | imgui.Text(«text»); imgui.ImVec2(0.1, 2.3); |
Названия перечислений (enum) и их значений лишились префиксов и символа «_» в конце | ImGuiWindowFlags_NoTitleBar | imgui.WindowFlags.NoTitleBar |
Значения базовых типов, которые в ImGui записываются по указателю, должны быть использованы через специальные типы: ImBool для bool, ImFloat для float, ImInt для int и unsigned int, ImFloat2-4 для float2, ImInt2-4 для int4 | static bool win = false; ImGui::Begin(«window», &win); win = false; | local win = imgui.ImBool(false) imgui.Begin(«window», win) win.v = false |
Функции с переменным количеством аргументов для форматирования текста не поддерживают форматирование, используйте string.format | ImGui::Text(«hey, %s», name) | imgui.Text(string.format(‘hey, %s’, name)) |
Функции InputText и InputTextMultiline принимают ImBuffer вместо char* buf + size_t buf_size | char buf[256]<>; ImGui::InputText(‘input’, buf, sizeof(buf)) | local buf = imgui.ImBuffer(256); imgui.InputText(‘input’, buf) |
Динамические массивы в виде массива указателей + количество элементов заменены таблицами | const char* items[] = <"1", "2", "3">; ImGui::ListBox(«list», &lb_cur, items, 3) | imgui.ListBox(‘list’, lb_cur, <'1', '2', '3'>) |
Функции с аргументами const char* str_start, const char* str_end, идущими подряд, принимают обычную строку | ImGui::TextUnformatted(some_str, some_str + 24) | imgui.TextUnformatted(some_str) |
Все функции, принимающие калбэк + user_data, принимают ImCallback | void swszCb(ImGuiSizeConstraintCallbackData*) <>; ImGui::SetNextWindowSizeConstraints(size_min, size_max, &swszCb, (void*)&my_data) | local swszCb = imgui.ImCallback(function(data) end) imgui.SetNextWindowSizeConstraints(size_min, size_max, swszCb) |
ImFont::CalcTextSizeA, ImFontAtlas::CustomRect::CalcCustomRectUV, ImFontAtlas::GetTexDataAsRGBA32, ImFontAtlas::GetTexDataAsAlpha8, ImFontAtlas::GlyphRangesBuilder::BuildRanges, ImGui::ColorConvertRGBtoHSV и ImGui::ColorConvertHSVtoRGB возвращают значения вместо изменения по ссылке | float r, g, b; ImGui::ColorConvertHSVtoRGB(h, s, v, r, g, b); | local r, g, b = imgui.ColorConvertHSVtoRGB(h, s, v) |
ImGuiIO::IniFilename и ImGuiIO::LogFilename принимают ImBuffer вместо указателя на строку | const char ini_path[] = «my/path.ini»; ImGui::GetIO().IniFilename = ini_path; | local ini_path = imgui.ImBuffer(‘my/path.ini’) imgui.GetIO().IniFilename = ini_path |
Изменение ImGuiTextEditCallbackData::Buf автоматически обновляет длину и задаёт значение BufDirty | s.copy(data.Buf, data.BufSize); data.BufTextLen = s.length(); data.BufDirty = true; | data.Buf = ‘text’ |
Но это ещё не всё. Вся работа с текстом в ImGui основана на UTF-8, т.е. текст не ограничен лишь стандартным набором символов. Но т.к. GTA, SAMP и MoonLoader не поддерживают юникод, кодировки необходимо конвертировать.
Работа с другими языками на примере русского
В MoonLoader v.025 были добавлены библиотеки lua-iconv и encoding, они призваны помочь в работе с разными кодировками текста.
Следующий пример показывает как использовать текст на русском в ImGui:
Скрипт должен быть сохранён в кодировке Windows-1251
Остальные особенности
В Moon ImGui есть несколько дополнительных возможностей. В частности, они реализуют взаимодействие с игрой и управление интерфейсом.
На этом всё. Во вложениях есть пример с демонстрацией использования всех этих фич, рекомендую посмотреть код и пощупать его в игре. Вот скриншот: