Aller au contenu

Créer son Premier Mod Lua

Bienvenue dans le modding de GTA IV avec LuaModLoader ! Ce guide s'adresse aux débutants : vous n'avez pas besoin de connaissances en C++ ni d'outils compliqués pour commencer.


Comment fonctionne un Mod Lua ?

Un mod est simplement un fichier texte avec l'extension .lua placé dans le dossier de votre jeu. LuaModLoader lit ce fichier et exécute automatiquement vos instructions dans GTA IV.

📁 Dossier principal de GTA IV/
├── 📁 mods/
│   └── 📁 MonPremierMod/
│       └── 📄 main.lua   <-- Votre code va ici !
├── 📄 binkw32.dll
├── 📄 binkw32_orig.dll
└── 📄 LuaModLoader.dll

Étape 1 : Créer le dossier de votre mod

  1. Ouvrez le dossier de votre jeu GTA IV (là où se trouve GTAIV.exe).
  2. Ouvrez (ou créez s'il n'existe pas) le dossier nommé mods.
  3. Dans mods, créez un nouveau sous-dossier, par exemple MonPremierMod.
  4. Dans ce sous-dossier, créez un fichier texte nommé main.lua.

Étape 2 : Écrire votre premier script

Ouvrez main.lua avec le Bloc-notes, VS Code ou l'éditeur de votre choix, puis collez ce code :

-- Au chargement du mod, affiche un message à l'écran
msgbox("Bienvenue sur LuaModLoader !")

-- Cette fonction s'exécute automatiquement en boucle à chaque image du jeu
function onTick()
    -- Vérifie si la touche F4 (code 0x73) est appuyée
    if is_key_down(0x73) then
        local playerPed = GET_PLAYER_CHAR(GET_PLAYER_ID())

        -- Remet la vie du joueur au maximum (200)
        SET_CHAR_HEALTH(playerPed, 200)

        -- Ajoute du gilet pare-balles (armure 100)
        ADD_ARMOUR_TO_CHAR(playerPed, 100)

        log("Vie et armure remises au maximum !")
    end
end

Étape 3 : Tester et modifier en direct dans le jeu (Touche F6)

Pas besoin de redémarrer le jeu à chaque modification :

  1. Lancez GTA IV.
  2. Appuyez sur F6 en jeu pour ouvrir l'Éditeur de code intégré.
  3. Vous pouvez taper du code Lua et l'exécuter immédiatement en direct !
  4. Réappuyez sur F6 pour refermer l'éditeur et continuer à jouer.

💡 Styles de Nommage : SNAKE_CASE & PascalCase

LuaModLoader supporte nativement les deux conventions de nommage des natives GTA de manière interchangeable :

  • SNAKE_CASE : SET_CHAR_HEALTH(ped, 200)
  • PascalCase : SetCharHealth(ped, 200)

Les deux pointent vers exactement la même fonction native, ce qui permet aux scripts provenant de ScriptHookDotNet ou de vieux trainers d'être compatibles directement sans avoir à réécrire tous les noms de fonctions !