Все знают CLEO. Почти каждый знает о многочисленных проблемах со скриптами, использующими CLEO: нестабильность работы, проблемы совместимости на разных версиях, низкая скорость работы и вследствие большая нагрузка от масштабных модификаций, а разработчикам известно о сложности и неудобстве разработки на встроенном скриптовом языке игры. Безусловно, CLEO - легендарная модификация, внёсшая громадный вклад в моддинг GTA San Andreas, благодаря чему эта игра и является одной из самых популярных игр в сфере моддинга. Но библиотека CLEO устарела, хоть и поддерживается разработчиками по сей день. Скриптовый движок игры тоже стар и имеет множество изъянов, а достойной альтернативы до сих пор не существовало. До пор, пока не появился Moonloader.
Moonloader - это мод для игры GTA San Andres, стремящийся стать полной современной заменой CLEO. Он вносит возможность загрузки Lua-скриптов в игру, имеет всю функциональность опкодов игры, библиотеки CLEO, плагина SAMPFUNCS и добавляет свой набор новых функций для разработки.
Moonloader будет полезен как разработчикам, так и пользователям, не занимающимся разработкой. Поскольку Lua скрипты не требуют обязательной компиляции, каждый может изменить исходный код скрипта любым текстовым редактором. Например, можно поменять кнопку или команду для активации скрипта, совсем не умея программировать и не обращаясь за помощью. Кроме этого, Moonloader можно загружать в уже запущенную игру с помощью любого инжектора, эта возможность может быть полезна тем, кто не хочет держать скрипты и сам плагин в директории игры. Нельзя не упомянуть, что стабильность Lua-скриптов на порядок выше, благодаря встроенным средствам скриптового движка и плагина, а также повышенному качеству разработки, что тоже играет важную роль для любого пользователя. Moonloader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Язык программирования Lua является одним из самых популярных скриптовых языков в сфере разработки игр, и в связи с этим для него существует огромное количество готовых решений тех или иных задач, множество готовых модулей на самом Lua, с использованием FFI и в виде динамических библиотек помогут сэкономить время на поиске решения. Lua значительно упростит разработку и повысит её качество и эффективность, а сами скрипты будут работать стабильнее и быстрее. Благодаря тому, что Moonloader использует не обычный Lua, а LuaJIT, который широко известен своей колоссальной производительностью и невероятно мощной библиотекой FFI, можно добиться наилучших результатов в реализации задачи наиболее эффективным путём.