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.
- Ouvrez le dossier racine de GTA IV, celui qui contient
GTAIV.exe. - 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 dossiermods/, 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 :
- Supprimez le
binkw32.dllvenu de l'archive LuaModLoader. - Rendez à
binkw32_orig.dllson nombinkw32.dll. Si le jeu a déjà remis unbinkw32.dllneuf de lui-même, supprimez simplementbinkw32_orig.dll. - 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.dllest bien juste à côté deGTAIV.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.dllde la v1.2.0, que le jeu restaure après chaque lancement. Suivez Mettre à jour depuis la v1.2.0. Input.IsKeyDownrenvoie toujoursfalse. C'est volontaire : la lecture des touches renvoiefalsetant 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.noepisodesvide à côté du journal pour couper le pont d'épisode le temps d'un lancement, et envoyezasi_loader_crash.logsur le Discord.