A powerful GUI tool for compiling Lua scripts to bytecode (.luac files), specially designed for FiveM and MTA:SA script development.
- Multi-Platform Support: FiveM, MTA:SA, and Generic Lua compilation
- Batch Processing: Compile single files, multiple files, or entire folders
- Advanced Options: Strip debug information, optimize code, handle compilation errors
- Error Handling: Ignore compilation errors and copy failed files as .lua
- Progress Tracking: Real-time compilation progress with detailed status updates
- Configuration Management: Save and load compiler settings
- User-Friendly Interface: Clean, intuitive GUI built with tkinter
- Download the latest
LuaCompilerX.exefrom the Releases page - Place the executable in your desired folder
- Double-click to run - no installation required!
- Python 3.7 or higher
- tkinter (usually included with Python)
- Clone the repository:
git clone https://github.com/teaminfinitydev/LuaCompilerX.git
cd LuaCompilerX- Install required dependencies:
pip install -r requirements.txt- Run the application:
python main.py-
Configure Compiler Path:
- Go to
Tools > Configure Compiler Path - Select your
luac.exeorluac54.exefile - The compiler will be automatically detected if it's in your PATH
- Go to
-
Test Compiler:
- Use
Tools > Test Compilerto verify your setup
- Use
- Select Target Platform: Choose between FiveM, MTA:SA, or Generic Lua
- Choose Compilation Mode: Single file, multiple files, or batch folder
- Select Files: Use "Select File(s)" or "Select Folder" buttons
- Set Output Directory: Choose where compiled files will be saved
- Configure Options: Set compiler options as needed
- Compile: Click "Compile Selected Files"
- Strip Debug Information: Removes debug symbols for smaller file size
- Optimize Code: Enables code optimization (recommended)
- Ignore Compilation Errors: Skip files with syntax errors instead of stopping
- Copy Failed Files as .lua: Copy original files when compilation fails
The application automatically saves your settings in luacompiler_config.json:
{
"luac_path": "luac54.exe",
"last_output_dir": "C:/your/output/path",
"compiler_options": {
"strip_debug": false,
"optimize": true,
"ignore_errors": false,
"copy_failed": true
}
}- Optimized for FiveM server-side and client-side scripts
- Compatible with Lua 5.4
- Multi Theft Auto: San Andreas compatibility
- Handles MTA-specific Lua extensions
- Standard Lua compilation
- Works with any Lua 5.x version
"Compiler not found" error:
- Ensure
luac.exeis installed and accessible - Configure the correct path in
Tools > Configure Compiler Path - For Windows: Download Lua binaries from lua.org
Files not compiling:
- Check if your Lua files have syntax errors
- Enable "Ignore Compilation Errors" to skip problematic files
- Use "Copy Failed Files as .lua" to preserve original files
Permission errors:
- Run as administrator if needed
- Ensure write permissions to output directory
- Check the Issues page for known problems
- Use
Tools > Test Compilerto diagnose setup issues - Enable "Ignore Compilation Errors" for batch processing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the Lua development community
- Designed with FiveM and MTA:SA developers in mind
- Thanks to all contributors and testers
- 🐛 Report bugs
- 💡 Request features
- 📖 View documentation
- ⭐ Star this repository if you find it useful!