Skip to content

Download

The current release is v1.3.1.

Nexus Mods Direct link (MEGA) Discord

Where the builds are published

The source repository is private, so there is no public Releases page on GitHub. LuaModLoader is distributed through three channels instead, all carrying the same files:

Channel Notes
Nexus Mods The main page. Its address never changes, so this is the one to bookmark.
MEGA Direct link to the archive, if you would rather not sign in anywhere.
Discord Announcements, support, and early builds.

Before you download

Game GTA IV: The Complete Edition
Build 1.2.0.59 (Steam / Rockstar Launcher, 2020 re-release)
Architecture 32-bit (x86)
Disk space A few megabytes

This build only

LuaModLoader targets the Complete Edition specifically. Older GTA IV builds (1.0.4.0, 1.0.7.0, 1.0.8.0…) already have ScriptHookIV and the classic ASI Loader, which work fine there. LuaModLoader exists precisely because those do not work on 1.2.0.59.

Check yours in the pause menu, or right-click GTAIV.exe → Properties → Details.


What is in the archive

Four files and one empty folder, all of which go into the GTA IV folder:

Entry Role
dinput8.dll Loads LuaModLoader with the game, loads your .asi plugins, and serves streamed mod content to the engine
LuaModLoader.dll The engine: Lua 5.4, the natives, rendering and input hooks
Scintilla.dll The in-game F6 code editor
Lexilla.dll Lua syntax highlighting for that editor
mods/ Empty, ready for your first mod. Keep your own if you already have one

All four files are required, and they must come from the same archive. Nothing of the game is renamed or replaced: see Installation.


Upgrading

v1.3.0 replaces the binkw32.dll proxy with dinput8.dll

Coming from v1.2.0 or earlier, delete the binkw32.dll that came from the LuaModLoader archive and give binkw32_orig.dll its original name back, then copy the new files. The steps are in Upgrading from v1.2.0. The rest of the upgrade is a plain copy: nothing is renamed any more.

v1.2.0 renames the whole Lua API

Scripts written for v1.1.x stop working until they are updated: natives are now called in PascalCase, and everything the loader provides moved into namespaces. The old bare globals (print, msgbox, is_key_down, call_native, CreateThread, Wait…) are all nil on purpose, so an old script fails loudly instead of silently misbehaving.

The complete old-to-new mapping table is at the bottom of the API reference. If you only install mods, make sure the ones you use are updated for v1.2.0 too.

To upgrade, replace dinput8.dll, LuaModLoader.dll, Scintilla.dll and Lexilla.dll with the new ones. The four files must come from the same archive.

Your mods/ folder is not affected by an upgrade.


Getting help