HZ Scripts

Exports & Evenements

HZ-CarControl expose des exports client et des evenements pour permettre l'integration avec vos scripts personnalises.


Exports Client

isMenuOpen

Verifier si le menu CarControl est actuellement ouvert.

local isOpen = exports['HZ-CarControl']:isMenuOpen()
Retour :
  • boolean : true si le menu est ouvert, false sinon
Exemple :
-- Empecher un autre NUI de s'ouvrir si CarControl est actif
if exports['HZ-CarControl']:isMenuOpen() then
    return
end

openMenu

Ouvrir le menu CarControl de maniere programmatique.

exports['HZ-CarControl']:openMenu()
Le joueur doit etre dans un vehicule pour que le menu s'ouvre. Sinon, une notification sera affichee.
Exemple :
-- Ouvrir CarControl depuis un autre script
RegisterCommand('veh', function()
    exports['HZ-CarControl']:openMenu()
end)

closeMenu

Fermer le menu CarControl de maniere programmatique.

exports['HZ-CarControl']:closeMenu()
Exemple :
-- Fermer le menu en entrant dans une zone specifique
AddEventHandler('myzone:entered', function()
    exports['HZ-CarControl']:closeMenu()
end)

getCurrentVehicle

Obtenir le handle de l'entite vehicule actuelle.

local vehicle = exports['HZ-CarControl']:getCurrentVehicle()
Retour :
  • entity ou nil : handle de l'entite vehicule, ou nil si aucun vehicule n'est suivi
Exemple :
local veh = exports['HZ-CarControl']:getCurrentVehicle()
if veh and DoesEntityExist(veh) then
    print('Current vehicle: ' .. GetDisplayNameFromVehicleModel(GetEntityModel(veh)))
end

isCruiseActive

Verifier si le cruise control est actuellement actif.

local active = exports['HZ-CarControl']:isCruiseActive()
Retour :
  • boolean : true si le cruise control est engage

getCruiseSpeed

Obtenir la vitesse actuelle du cruise control.

local speed = exports['HZ-CarControl']:getCruiseSpeed()
Retour :
  • number : vitesse cruise actuelle en km/h (0 si inactif)
Exemple :
-- Afficher les infos cruise dans un HUD
if exports['HZ-CarControl']:isCruiseActive() then
    local speed = exports['HZ-CarControl']:getCruiseSpeed()
    DrawText('CRUISE: ' .. speed .. ' km/h')
end

isLimiterActive

Verifier si le limiteur de vitesse est actuellement actif.

local active = exports['HZ-CarControl']:isLimiterActive()
Retour :
  • boolean : true si le limiteur de vitesse est engage

getLimiterSpeed

Obtenir la valeur actuelle du limiteur de vitesse.

local speed = exports['HZ-CarControl']:getLimiterSpeed()
Retour :
  • number : vitesse du limiteur actuelle en km/h (0 si inactif)

Evenements

Server → Client

HZ-CarControl:openMenu

Forcer l'ouverture du menu sur un joueur specifique.

-- Server
TriggerClientEvent('HZ-CarControl:openMenu', targetPlayerId)

HZ-CarControl:closeMenu

Forcer la fermeture du menu sur un joueur specifique.

-- Server
TriggerClientEvent('HZ-CarControl:closeMenu', targetPlayerId)

HZ-CarControl:notify

Envoyer une notification a un joueur via le bridge CarControl.

-- Server
TriggerClientEvent('HZ-CarControl:notify', targetPlayerId, 'Message text', 'info')
Parametres :
  • message (string) : texte de la notification
  • type (string) : 'info', 'success', 'error'

Client → Server

HZ-CarControl:saveNeonColor

Declenche quand un joueur change une couleur neon (si SaveColor est active).

-- Server
RegisterNetEvent('HZ-CarControl:saveNeonColor', function(plate, r, g, b)
    local src = source
    print('Player ' .. src .. ' set neon color on plate ' .. plate)
end)

HZ-CarControl:logAction

Declenche lors de diverses actions du joueur (uniquement quand Config.Debug = true).

-- Server
RegisterNetEvent('HZ-CarControl:logAction', function(action, data)
    local src = source
    print('Player ' .. src .. ' — ' .. action)
end)

Exemples d'integration

Desactiver le cruise control dans une zone

-- Client: desactiver le cruise en entrant dans une zone sans vitesse
Citizen.CreateThread(function()
    while true do
        Citizen.Wait(1000)
        local coords = GetEntityCoords(PlayerPedId())

if #(coords - noSpeedZone) < 50.0 then
if exports['HZ-CarControl']:isCruiseActive() then
exports['HZ-CarControl']:closeMenu()
-- Le cruise se desactivera automatiquement a la fermeture du menu
end
end
end
end)

Afficher l'etat CarControl sur un HUD externe

-- Client: interroger l'etat cruise/limiteur pour un HUD personnalise
Citizen.CreateThread(function()
    while true do
        Citizen.Wait(500)

local cruiseActive = exports['HZ-CarControl']:isCruiseActive()
local cruiseSpeed = exports['HZ-CarControl']:getCruiseSpeed()
local limiterActive = exports['HZ-CarControl']:isLimiterActive()
local limiterSpeed = exports['HZ-CarControl']:getLimiterSpeed()

SendNUIMessage({
action = 'updateDrivingHUD',
cruise = cruiseActive and cruiseSpeed or nil,
limiter = limiterActive and limiterSpeed or nil,
})
end
end)


Besoin d'aide pour integrer ces exports ? Rejoignez notre Discord et ouvrez un ticket dans #support !