Избранное Lua ASI MoonLoader

Статус
В этой теме нельзя размещать новые ответы.

FYP

Известный
Автор темы
Администратор
1,757
5,684
ладно, ещё одно обновление с исправлениями. теперь у меня есть дополнительная точка с числом в версии, так что буду выпускать по несколько обновлений ежедневно.
  • Исправлен баг, из-за которого создание и уничтожение потоков изнутри других потоков приводило к непредсказуемым последствиям
 
Последнее редактирование:

FYP

Известный
Автор темы
Администратор
1,757
5,684
.026.3-beta
  • Исправлен баг с обработкой шестизначных цветовых тегов в функциях рендера
  • Устранена проблема с некорректными возвращаемыми значениями некоторых функций рендера при вызове до отрисовки текста/текстуры
 

FYP

Известный
Автор темы
Администратор
1,757
5,684
фикс сброса настроек микшера. закинуть в корень игры с заменой.
 

Вложения

  • bass.dll
    124.7 KB · Просмотры: 1,508

FYP

Известный
Автор темы
Администратор
1,757
5,684
Предварительный релиз версии .027.
Я не успел завершить работу над реконструкцией системы импорта и системой сборки до начала работы над форумом, и теперь сложно сказать, когда смогу вернуться к работе над мунлоадером, т.к. работы по сайту оказалось много. Но поскольку обновление уже давно ждут, было решено выложить его предварительно без этих изменений. Версия .027 должна была включать ещё перенос всех опкодов на луа и расширение стандартной библиотеки луа, но это пришлось отложить для следующих обновлений.
Итак, изменения перечислю только основные, полный список изменений будет при релизе.
Ключевым изменением в этой версии стало добавление установщика зависимостей на основе пакетного менеджера Lua - Luarocks. Все подробности о менеджере зависимостей пока что здесь (позже будут на вики): https://blast.hk/threads/26945/. Установщик зависимостей был значительно улучшен с момента его тестового релиза, теперь он не создаёт процессов (поэтому работает быстрее), журналирует все действия, предотвращает возможность поломки из-за переустановки необходимых для его работы библиотек и т.д.
Все предустановленные библиотеки теперь располагаются в отдельном каталоге moonloader/libstd - настоятельно рекомендуется ничего не удалять/не менять/не добавлять внутри него, а также не распространять его отдельно от дистрибутива MoonLoader, пользовательские библиотеки, как и раньше, находятся в moonloader/lib.
Модули inicfg и memory переписаны на луа, скорость взаимодействия с памятью через модуль memory возросла в десятки раз!
Изменения в работе скриптов и API: при ошибке в скрипте в нём гарантировано не выполнится больше никакой код, кроме события onScriptTerminate (ранее могли выполниться другие события), функция isPlayerPlaying встроена и теперь проверяет существование игрока, благодаря чему можно проверять внутри событий, началась ли игра (раньше такое использование вызывало краш), убрана возможность ставить скрипт на паузу, соответственно script.frozen, script:pause(), script:resume больше не имеют эффекта, но оставлены для обратной совместимости, consumeWindowMessage теперь позволяет скипать оконные сообщения для событий onWindowMessage в других скриптах.
Многочисленные исправления: вылет игры при завершении скрипта, выполняющего скачивание файлов, окна с ошибками при старте игры, сброс настроек микшера, функции получения/изменения кватерниона игровых сущностей, возвращена возможность инжекта (была нарушена в версии .023) и другие мелкие исправления.
Множество внутренних изменений: переписана система логирования с целью повысить производительность, обновлены все библиотеки, в числе которых глобальное обновление sol2(3), улучшен хук DirectX, переделана система информации о скриптах с целью снизить расход ресурсов и повысить производительность, и прочее.
Несколько новых функций: isCursorActive, getPickupModel, getPickupType, getPickupPointer, getPickupPointerHandle, getAllPickups, logdebug.

Также прошу обратить внимание на mimgui - аналог уже не обновляющегося Moon ImGui. Релиз ещё не состоялся, но библиотека работает совершенно стабильно. Она реализует новейшую версию dear imgui и предоставляет возможности, которых не было ранее. Примеры использования есть на гитхабе: https://github.com/THE-FYP/mimgui/tree/master/examples
Установите через менеджер зависимостей, добавив в свой скрипт строку require 'deps' {'fyp:mimgui'}!

Скачать MoonLoader: https://blast.hk/moonloader/files/moonloader-027.0-preview3.zip
Установить: разархивировать содержимое в папку с игрой.
Для работы теперь необходим Microsoft Visual C++ Redistributable for Visual Studio 2017 x86 (предустановлен в большинстве систем, но не во всех).
 
Последнее редактирование:

FYP

Известный
Автор темы
Администратор
1,757
5,684
v.027.0-preview3
  • Устранены проблемы с чтением и записью строк в JSON, не соответствующих кодировке UTF-8. Функции encodeJson, decodeJson по прежнему имеют полную совместимость только с UTF-8 (как было всегда), но как было до предыдущих обновлений .027, смогут кодировать и декодировать строки с любым содержимым независимо от кодировки
  • Пустые таблицы при преобразовании в JSON сохраняются в виде пустого объекта, а не null
  • Улучшено определение таблицы-массива при сериализации в JSON (и вероятно исправлен возможный баг, связанный с этим)
  • Добавлена возможность явно указать как таблица будет сериализована в JSON - в виде объекта или массива. Делается это путём указания булевого поля __json_array метатаблицы требуемой таблицы. Пример: encodeJson({arr = setmetatable({1,2,3}, {__json_array = true})})
  • Добавлена специальная константа null, отличающаяся от nil тем, что является нулевым значением типа lightuserdata и может быть сохранена в таблице. На данный момент используется в MoonLoader только для работы с JSON
  • Новый необязательный параметр bool compact для функции encodeJson(obj, compact) позволяет сохранить JSON без форматирования

 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.