TP 0 : Préparer son atelier
C’est le contrôle de l’installation avant de commencer ton propre mod. On ne conçoit pas encore de gameplay. On compile l’exemple de diagnostic fourni, on vérifie son fonctionnement, on le retire temporairement puis on le restaure. On obtient ainsi une chaîne de chargement que l’on sait diagnostiquer avant d’écrire son propre script.
L'organisation des responsabilités
Un mod évolutif évite d'empiler toutes ses logiques dans un bloc monolithique. L'architecture se construit progressivement, chaque composant prenant en charge une responsabilité unique.
Avant d'écrire la moindre ligne de gameplay, cette étape préparatoire isole les vérifications d'environnement : valider le hook, le pont d'exécution et le chargement dynamique d'une bibliothèque. Avoir un environnement fiable dès le départ évite de confondre une erreur d'installation avec un problème de conception.
La mission
Valider ta chaîne complète de modding en prouvant trois couches distinctes :
- Confirmer que le hook natif répond en jeu.
- Confirmer que le pont ScriptHookVDotNet intercepte la commande de rechargement.
- Compiler l’exemple de diagnostic, placer sa DLL dans
Grand Theft Auto V/scripts, la vérifier en mode histoire, la retirer temporairement puis la restaurer.
Critères de validation
Ton atelier est validé dès que :
- Appui sur
F4: le menu du Native Trainer optionnel s’ouvre en mode histoire (hook natif validé). - La touche de rechargement configurée dans ScriptHookVDotNet (généralement
Inser) fait répondre le pont .NET. - DLL présente dans
scripts/: le sous-titre de diagnostic s'affiche toutes les 5 secondes et les entrées s'écrivent dansp0_diagnostic.log. - Retrait de la DLL et appui sur
Inser: le script cesse son exécution sans geler le jeu ni tuer le pont .NET. - Remise de la DLL et appui sur
Inser: le script reprend son cycle à la demande.
Exemple de code
L’exemple contient le code C# et les étapes de compilation. Il sert à produire la DLL de diagnostic : ce TP vérifie l’installation, pas encore l’écriture du gameplay.