MoonLoader — это загрузчик Lua-скриптов и фреймворк для игры GTA: San Andreas. 1 Он предоставляет возможности для создания скриптовых модов на языке программирования Lua, которые могут изменять любой аспект игры. 1
Некоторые особенности работы скриптового движка MoonLoader:
- Автоматическое выполнение скриптов. 1 Все установленные скрипты запускаются автоматически при старте игры и выполняются во время игры, пока не завершат свою работу сами или до завершения работы игры. 1
- Перезагрузка скриптов. 1 Скрипты могут быть перезагружены автоматически — при начале новой игры или загрузке сохранения, или программно — посредством скриптового API, например, пользователем вручную, с помощью вспомогательных скриптов. 1
- Обработка ошибок. 2 MoonLoader обрабатывает как можно больше ошибок. 2 Если Lua-скрипт умирает из-за ошибки, он просто выводит её в лог и останавливает выполнение скрипта. 2
- Взаимодействие скриптов. 2 Скрипты могут обмениваться данными и взаимодействовать друг с другом через функцию экспорта и импорта. 2
MoonLoader самостоятельно не влияет на игру, всю работу выполняют пользовательские скрипты. 1 Они бывают двух форматов: в виде исходного кода на Lua с расширением файла .lua и в виде бинарного байткода LuaJIT с расширением .luac. 1