Aller au contenu

Installation

Vous n'avez rien à compiler pour utiliser LuaModLoader. Récupérez la dernière build sur la page Téléchargement, puis suivez les étapes ci-dessous.

Build supportée

build 1.2.0.59 « Complete Edition »


Installer

L'archive contient quatre fichiers, dinput8.dll, LuaModLoader.dll, Scintilla.dll et Lexilla.dll, ainsi qu'un dossier mods/ vide.

  1. Ouvrez le dossier racine de GTA IV, celui qui contient GTAIV.exe.
  2. Copiez tout le contenu de l'archive dans ce même dossier, les quatre fichiers comme le dossier mods/. Si vous avez déjà un dossier mods/, gardez le vôtre : celui de l'archive est vide et n'apporte rien.

C'est tout. Rien n'est renommé et aucun fichier du jeu n'est remplacé : le jeu ne livre pas de dinput8.dll, donc celui de l'archive est simplement ramassé au lancement, exactement comme le fait Ultimate ASI Loader.

Lancez le jeu. Appuyez sur F6 à tout moment pour ouvrir l'éditeur Lua intégré.

Vous utilisez déjà Ultimate ASI Loader ?

Son dinput8.dll et le nôtre occupent le même créneau, donc le nôtre le remplace. Acceptez quand Windows propose d'écraser. Vos plugins .asi continuent de fonctionner : LuaModLoader les charge lui-même, depuis le dossier du jeu, plugins/ et scripts/, et il parle le même protocole, donc FusionFix et les autres plugins écrits pour Ultimate ASI Loader s'initialisent comme ils l'attendent.

Pour désinstaller : supprimez les quatre fichiers copiés. Remettez le dinput8.dll d'Ultimate ASI Loader si vous en aviez un.


Mettre à jour depuis la v1.2.0

Jusqu'à la v1.2.0 le proxy s'appelait binkw32.dll, et l'installation vous faisait renommer le fichier du jeu en binkw32_orig.dll. Ce créneau ne tient pas sur Complete Edition : le wrapper d'intégrité de Rockstar restaure le binkw32.dll du jeu une quinzaine de secondes après le lancement, donc le proxy ne fonctionnait qu'une seule session après chaque copie. Défaites d'abord cette installation :

  1. Supprimez le binkw32.dll venu de l'archive LuaModLoader.
  2. Rendez à binkw32_orig.dll son nom binkw32.dll. Si le jeu a déjà remis un binkw32.dll neuf de lui-même, supprimez simplement binkw32_orig.dll.
  3. Copiez les quatre fichiers de la nouvelle archive comme décrit ci-dessus.

Votre dossier mods/ n'est pas affecté.


Où atterrissent les fichiers

📁 Grand Theft Auto IV/
├── 📄 GTAIV.exe
├── 📄 dinput8.dll          <-- de l'archive
├── 📄 LuaModLoader.dll
├── 📄 Scintilla.dll
├── 📄 Lexilla.dll
├── 📄 LuaModLoader.log     <-- créé à l'exécution
├── 📄 asi_loader.log       <-- créé à l'exécution
├── 📁 plugins/             <-- facultatif, vos plugins .asi
└── 📁 mods/
    └── 📁 MonPremierMod/
        ├── 📄 manifest.lua
        └── 📄 main.lua

Tout vit dans le dossier du jeu, vos mods compris. Prêt à en écrire un ? Direction Votre premier mod Lua.

Quand le dossier du jeu est en lecture seule

Certaines installations (Rockstar Games Launcher sous Program Files, par exemple) refusent l'écriture sans droits administrateur. LuaModLoader le vérifie une fois au lancement et, si le dossier du jeu n'est pas inscriptible, garde ses journaux et son cache sous %LOCALAPPDATA%\LuaModLoader\. Regardez là quand vous ne trouvez pas de journal à côté de GTAIV.exe.


Plugins ASI

LuaModLoader fait aussi office d'ASI loader, ce dont le classique n'est plus capable sur cette build. Déposez n'importe quel fichier .asi à côté de GTAIV.exe, dans plugins/ ou dans scripts/ : il est chargé au démarrage, avant le moteur Lua. Les plugins qui patchent la mémoire tôt, comme le fastman92 limit adjuster, les correctifs et les trainers ASI, s'installent donc en premier.

Chaque chargement, réussi ou non, est écrit dans asi_loader.log avec son code d'erreur Windows. C'est le premier endroit à consulter quand un plugin ne fait rien.


Journaux et dépannage

Fichier Contenu
LuaModLoader.log Démarrage, hooks, scan des mods, erreurs Lua
asi_loader.log Le proxy : redirections de fichiers, archives de streaming, une ligne par .asi trouvé, chargé ou en échec
asi_loader_crash.log Écrit seulement quand le jeu meurt : chaque violation d'accès avec son module et son décalage

LuaModLoader.log utilise des niveaux [info] / [warn] / [error]. Les traces périodiques et par frame sont en [debug] et n'écrivent rien par défaut. Elles noyaient les vraies erreurs sous des centaines de kilo-octets par session.

Rallumer les traces de debug

Posez un fichier vide nommé LuaModLoader.debug à côté du journal. LuaModLoader le cherche une seule fois, au premier appel de log, et le signale dans le journal quand il le trouve. Les fichiers témoins sont toujours cherchés à côté du journal : si le vôtre vit sous %LOCALAPPDATA%\LuaModLoader\, c'est là que va le témoin.

Symptômes courants :

  • Rien ne se passe, aucun fichier de log. LuaModLoader n'a jamais été chargé. Vérifiez que dinput8.dll est bien juste à côté de GTAIV.exe, pas dans un sous-dossier, et cherchez les journaux sous %LOCALAPPDATA%\LuaModLoader\ avant de conclure.
  • Ça a marché une fois, puis plus jamais. Vous êtes encore sur le proxy binkw32.dll de la v1.2.0, que le jeu restaure après chaque lancement. Suivez Mettre à jour depuis la v1.2.0.
  • Input.IsKeyDown renvoie toujours false. C'est volontaire : la lecture des touches renvoie false tant que la fenêtre du jeu n'est pas au premier plan. GTA IV doit avoir le focus.
  • Un mod ne démarre pas tout seul. Vérifiez son manifest.lua, décrit dans Structure d'un mod. Les mods démarrent au premier tick réellement en jeu, jamais pendant l'écran de chargement.
  • Le jeu plante au lancement avec le contenu d'épisode. Posez un LuaModLoader.noepisodes vide à côté du journal pour couper le pont d'épisode le temps d'un lancement, et envoyez asi_loader_crash.log sur le Discord.