Исходник [1.2.1] moonly / MoonLoader project manager

kyrtion

Известный
1,187
438
Привет, давно столкнулся с названием скрипта для инициализации сурса (src/init.lua). Я подумал может стоит указать src/init.lua с полным пути? Или такой нет способа исправить?

Вот пример: [string "script_name('inferno-tools')..."]:9
JavaScript:
[ML] (system) Loading script 'C:\Users\nikolay\AppData\Local\Temp\moonly\moonly_inferno-tools.lua'...
[ML] (system) inferno-tools: Loaded successfully.
[ML] (script) inferno-tools: [INFO] [EventService] initialized.
[ML] (script) inferno-tools: [INFO] [PluginService] Plugin FlyHack initialized.
[ML] (script) inferno-tools: [INFO] Script loaded.
[ML] (error) inferno-tools: [string "script_name('inferno-tools')..."]:30: Ticked!
stack traceback:
    [C]: in function 'error'
    [string "script_name('inferno-tools')..."]:30: in function <[string "script_name('inferno-tools')..."]:9>
[ML] (script) inferno-tools: [WARN] [PluginService] Service called method remove all plugins.
[ML] (script) inferno-tools: [INFO] [PluginService] Plugin FlyHack terminated.
[ML] (error) inferno-tools: Script died due to an error. (1066B00C)
 

Musaigen

ihatemyself
Автор темы
Проверенный
1,676
1,514
Релиз 1.1.0.
1. Новая система подгрузки проектов. Раньше подгрузка проектов вне директории игры была реализована через костыль. Теперь она происходит полностью из директорий указанных в JSON конфигурации. (Директория игры будет туда добавлена автоматически при первом запуске)
2. Переделана логика встраивания moonly функционала в скрипт. Теперь такого не должно происходить.
3. Система логов для дебагинга, получения инфо.
4. Система пользовательских модулей. AutoReboot вынесен теперь именно как модуль, но встроенный. В теории, через них можно реализовать загрузку библиотек из интернета на этапе инициализации проекта, не прибегая к модификации moonly, но такой функционал будет очевидно недоступен при бандлинге.
5. Встроен модуль dkjson для базового форматирования JSON файлов.
6. Убран лимит на тип файла у AutoReboot, теперь он захватывает любые файлы.

В планах переписать cli на C++, добавить туда бандлинг .DLL-ок и прочей дичи, что в теории могут прикрыть из-за проблем с модерацией.

Скачать: клик
 
Последнее редактирование:

Musaigen

ihatemyself
Автор темы
Проверенный
1,676
1,514
Релиз V1.2.0.
1. В связи с новым CLI, в скрипт встроена библиотека LuaFileSystem.
2. Улучшена обработка выгрузки скрипта.
3. Убрано создание потоков при выгрузке / перезагрузке скрипта, за счёт этого улучшена стабильность.
4. Откат генератора скриптов к предыдущей реализации.
5. Улучшена стрессоустойчивость скрипта при отсутствующих параметрах в JSON конфигурации.
6. В логгер добавлен вывод миллисекунд.
7. Исправлено поведение модуля AutoReboot, когда он убирал из сканирования проекты, что завершились по ошибке.
8. Таблица "build" в project.json удалена и больше не используется. Также добавлены новые параметры, но об этом всём ниже.

Релиз Moonly CLI V2.0.0.
1. Миграция на С++. Уменьшен вес бинарника в 10 раз по сравнению с Python. (С 7.7 Мбайт до 769 Кбайт)
1. В команде init, создание конфигурации для vscode заменено с флага -vs на -e vscode
2. Команда build переименована в pack.
3. Бандлер теперь бандлит любые файлы, от текстовых (они будут добавлены именно как текстовые файлы) до бинарных. Пока что без сжатия. Подобные файлы будут иметь что-то вроде ленивой инициализации, то есть, будут созданы только если их не существует. Отличие от LuBu в том, что скрипт именно распаковывает из себя DLL файлы создавая их физическую копию на диске. Насколько это лучше, чем создавать временный файл, загружать его и удалять я не думал, если понадобится, метод будет изменен.
4. Добавлен бандлинг констант (json: distribute/constants). Поддерживается null, буль, числа, строки, для указания timestamp можно указать <$date> как строку.
5. Добавлено новое поле additionalFiles в таблицу distribute в JSON конфигурации проекта. Позволяет указывать конкретные файлы для бандлинга.
Скачать: клик (бинарник рекомендуется прописать в PATH, чтобы не копирывать его по проектам).
 
  • Нравится
Реакции: bfix и kyrtion

Musaigen

ihatemyself
Автор темы
Проверенный
1,676
1,514
Обновление Moonly CLI V2.1.0! Скачать (клик).
1. Улучшена загрузка бинарных ресурсов. Теперь они грузятся чанками по 64Кбайт.
2. За счет этого, исправлена проблема, когда бинарный ресурс создавался с размером 0 байт и больше не изменялся.
3. Исправлено поведение, когда ресурс не мог быть создан из-за отсутствующих вложенных директорий.
4. Исправлено поведение, когда бандлер мог зажевать последнюю строчку, если в конце не было новой строки.
5. Улучшен вывод байт в файл.

moonly.lua был перебандлен под это обновление CLI, других изменений нет.
 
  • Нравится
Реакции: kyrtion

Musaigen

ihatemyself
Автор темы
Проверенный
1,676
1,514
Bugfix V1.2.1! Скачать (клик)
Исправлено поведение, когда скрипт падал, если проект, загруженный из внешней директории (т.е не из %gtasa_dir%/moonly"), пытался подгрузить библиотеку через ffi.load (чаще всего это могло происходит при загрузке mimgui).
 
  • Нравится
Реакции: kyrtion