Aller au contenu

Exemples de Scripts Prêts à l'Emploi

Voici 5 scripts Lua simples et commentés que vous pouvez copier, tester et adapter dans vos propres mods.


1. Soin & Armure sur une Touche (F4)

Restaure la santé et le gilet pare-balles du joueur au maximum lorsque la touche F4 est pressée.

-- Fichier : main.lua
local TOUCHE_SOIN = 0x73 -- Touche F4

function onTick()
    if is_key_down(TOUCHE_SOIN) then
        local playerPed = GET_PLAYER_CHAR(GET_PLAYER_ID())

        SET_CHAR_HEALTH(playerPed, 200)   -- Vie max
        ADD_ARMOUR_TO_CHAR(playerPed, 100) -- Armure max

        log("Santé et armure restaurées !")
    end
end

2. Jamais Recherché par la Police (Never Wanted)

Bloque et réinitialise automatiquement le niveau d'étoiles de police à zéro.

-- Fichier : main.lua
function onTick()
    local playerId = GET_PLAYER_ID()
    local playerPed = GET_PLAYER_CHAR(playerId)

    -- Réinitialise les étoiles en continu
    CLEAR_CHAR_LAST_DAMAGE_ENTITY(playerPed)
    ALTER_WANTED_LEVEL(playerId, 0)
    APPLY_WANTED_LEVEL_CHANGE_NOW(playerId)
end

3. Téléportation de 10 Mètres vers le Haut (Touche Z)

Appuyez sur Z (0x5A) pour vous téléporter 10 mètres en l'air (très pratique pour se débloquer du décor).

-- Fichier : main.lua
local TOUCHE_TP = 0x5A -- Touche Z

function onTick()
    if is_key_down(TOUCHE_TP) then
        local playerPed = GET_PLAYER_CHAR(GET_PLAYER_ID())

        -- Récupère la position actuelle du joueur
        local _, rawX, rawY, rawZ = call_native_out("GET_CHAR_COORDINATES", 3, playerPed)
        local x = string.unpack("f", rawX)
        local y = string.unpack("f", rawY)
        local z = string.unpack("f", rawZ)

        -- Téléporte 10 mètres plus haut
        SET_CHAR_COORDINATES(playerPed, x, y, z + 10.0)
        log("Téléportation effectuée !")
    end
end

4. Compteur de Vitesse & Boost Nitro (Touche Shift)

Affiche un compteur de vitesse en km/h à l'écran et applique une accélération avec la touche Shift :

-- Fichier : main.lua
local TOUCHE_NITRO = 0x10 -- Touche Maj / Shift

function onTick()
    local playerPed = GET_PLAYER_CHAR(GET_PLAYER_ID())

    -- Vérifie si le joueur est dans un véhicule
    if IS_CHAR_IN_ANY_CAR(playerPed) then
        local veh = GET_CAR_CHAR_IS_USING(playerPed)
        local speedMps = GET_CAR_SPEED(veh)
        local speedKmh = speedMps * 3.6

        -- Dessine le fond et la vitesse
        draw_rect(20, 700, 200, 50, 0xAA000000)
        draw_text(30, 715, string.format("VITESSE : %3.0f KM/H", speedKmh), 0xFFFFFFFF)

        -- Boost Nitro en appuyant sur Shift
        if is_key_down(TOUCHE_NITRO) then
            SET_CAR_FORWARD_SPEED(veh, speedMps * 1.3)
            draw_text(30, 735, ">> NITRO ACTIVE <<", 0xFFFF0000)
        end
    end
end

5. Activer / Désactiver l'Invincibilité (Godmode sur F3)

Bascule l'invincibilité ON / OFF à chaque pression de la touche F3 :

-- Fichier : main.lua
local TOUCHE_GODMODE = 0x72 -- Touche F3
local godmodeActif = false
local etaitAppuye = false

function onTick()
    local estAppuye = is_key_down(TOUCHE_GODMODE)

    -- Se déclenche uniquement au premier clic (pas au maintien prolongé)
    if estAppuye and not etaitAppuye then
        godmodeActif = not godmodeActif
        local playerPed = GET_PLAYER_CHAR(GET_PLAYER_ID())

        SET_CHAR_INVINCIBLE(playerPed, godmodeActif)
        SET_CHAR_PROOFS(playerPed, godmodeActif, godmodeActif, godmodeActif, godmodeActif, godmodeActif)

        if godmodeActif then
            msgbox("God Mode : ACTIVÉ")
        else
            msgbox("God Mode : DÉSACTIVÉ")
        end
    end
    etaitAppuye = estAppuye
end