Moonloader is a mod for GTA San Andreas, aiming to be a complete modern replacement for CLEO. It brings the ability to load Lua scripts into the game, has all the functionality of the game's opcodes, the CLEO library, the SAMPFUNCS plugin and adds its own set of new features for development.
Moonloader will be useful for both developers and non-developers. Since Lua scripts do not require mandatory compilation, anyone can change the source code of the script with any text editor. For example, you can change the button or command to activate the script without knowing how to program at all and without asking for help. In addition, Moonloader can be loaded into an already running game using any injector, this feature can be useful for those who do not want to keep scripts and the plugin itself in the game directory. Moonloader does not depend on the presence of CLEO installed, does not depend on the SA:MP multiplayer modification and the SAMPFUNCS plugin (only scripts that use certain features depend), and it is also compatible with any version of CLEO, SA:MP and SAMPFUNCS.
The Lua programming language is one of the most popular scripting languages in the field of game development, and in this regard, there are a huge number of ready-made solutions for certain tasks for it, many ready-made modules on Lua itself, using FFI and in the form of dynamic libraries will help save time looking for a solution. Lua will greatly simplify development and increase its quality and efficiency, while the scripts themselves will work more stable and faster. Due to the fact that Moonloader does not use ordinary Lua, but LuaJIT, which is widely known for its tremendous performance and incredibly powerful FFI library, you can achieve the best results in implementing the task in the most efficient way.