Skip to content

Configuration

Configuration

Tout est configuré dans config.lua. Cette page détaille chaque option.

Général

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- chat command name
Config.Cooldown  = 15        -- cooldown between uses (seconds)
  • Framework — sélectionne la ressource principale et les restrictions de métadonnées qui s'appliquent.
  • Command — la commande de chat qui ouvre l'outil (utilisée également comme nom de raccourci clavier).
  • Cooldown — délai minimal en secondes entre chaque utilisation.

Raccourci clavier

Permet aux joueurs d'ouvrir l'outil avec une touche, modifiable dans les paramètres de GTA V.

config.lua
Config.Keybind = {
    Enabled = true,
    Default = 'F6',  -- default key (empty for none; player can rebind)
}

Le raccourci clavier n'est enregistré que lorsque Enabled = true et que Default n'est pas vide. Les joueurs peuvent toujours le reconfigurer dans Paramètres → Raccourcis clavier → FiveM.

Permission (optionnel)

Restreint l'accès à l'outil. Désactivé par défaut.

config.lua
Config.Permission = {
    Enabled = false,
    Type    = 'ace',                     -- 'ace' / 'job'
    Ace     = 'animpos.use',             -- used when Type == 'ace'
    Jobs    = { 'police', 'ambulance' }, -- used when Type == 'job'
}
  • ace — vérifié côté serveur via IsPlayerAceAllowed par le biais d'un callback ox_lib (le plus sécurisé). Accordez-la avec add_ace ... animpos.use allow.
  • job — le nom du job framework du joueur doit figurer dans la liste Jobs (QBox / QB-Core / ESX).

Restrictions

Bloque l'utilisation lorsque le joueur se trouve dans certains états. Les vérifications natives fonctionnent sur tous les frameworks ; les vérifications de métadonnées s'appliquent uniquement à QBox et QB-Core.

config.lua
Config.Restrictions = {
    -- Framework based (qbox / qbcore only)
    CheckDead        = true,   -- block while dead
    CheckLastStand   = true,   -- block while in last stand
    CheckHandcuffed  = true,   -- block while handcuffed

    -- Native based (works on ALL frameworks incl. standalone)
    CheckInVehicle   = true,   -- block while inside a vehicle
    CheckFalling     = true,   -- block while falling / parachuting
    CheckSwimming    = false,  -- block while swimming

    -- Metadata field names read from the player data
    MetaKeys = {
        Dead       = 'isdead',
        LastStand  = 'inlaststand',
        Handcuffed = 'ishandcuffed',
    },
}

MetaKeys correspond aux noms des champs de métadonnées des données joueur de votre framework. Si votre core (ou un package personnalisé) stocke ces données sous d'autres clés, modifiez-les ici afin que les vérifications de mort / last stand / menottage lisent les bonnes valeurs.

Notifications

Choisissez le système utilisé pour chaque message.

config.lua
Config.Notify = 'ox_lib'  -- 'ox_lib' / 'qbcore' / 'esx' / 'custom'

-- Only used when Config.Notify == 'custom'.
-- ntype is one of: 'success' / 'error' / 'primary' / 'inform'
Config.CustomNotify = function(message, ntype)
    -- exports['my-notify']:SendAlert(message, ntype)
end
  • ox_liblib.notify (par défaut).
  • qbcore — l'événement QBCore:Notify.
  • esx — l'événement esx:showNotification.
  • custom — votre propre gestionnaire dans Config.CustomNotify.

Une valeur Config.Notify invalide enregistre un avertissement dans la console du serveur et bascule automatiquement et en toute sécurité sur ox_lib.

Interface utilisateur

config.lua
Config.UI = {
    Position = 'right',       -- left / right / center
    OffsetX  = 30,            -- distance from the edge (px)
    OffsetY  = 0,             -- vertical offset (px)
    AccentColor = '#f4cb98',  -- accent colour for key highlights / glow
    ShowHeader = true,        -- show the title/subtitle header
    ShowTip    = true,        -- show the bottom tip line
    ShowAnimations = true,    -- key press animations
    AnimationType = {
        Movement = 'pulse',   -- pulse / glow
        Action   = 'glow',    -- pulse / glow
    }
}

Mouvements

config.lua
Config.Movement = {
    Speed         = 0.01,  -- movement speed
    RotationSpeed = 0.5,   -- rotation speed
    MaxDistance   = 5.0,   -- max distance from start (m)
    MaxHeight     = 3.5,   -- max height above start (m)
    MinHeight     = -3.5,  -- min height below start (m)
    PrecisionMultiplier = 0.25, -- speed multiplier while holding Precision
}

Performances

config.lua
Config.Performance = {
    NetworkUpdateDelay = 50,   -- network sync delay (ms)
    LoopWait           = 0,    -- main loop wait (ms)
    AnimationDuration  = 300,  -- UI animation duration (ms)
    SyncCooldown       = 50,   -- server-side anti-spam sync cooldown (ms)
}

AnimationDuration est transmis à l'interface utilisateur en tant que durée de transition du panneau. Les valeurs liées à la synchronisation limitent la fréquence d'envoi et d'acceptation des mises à jour de position.

Sons

Sons d'interface GTA V optionnels pour l'ouverture, la confirmation, l'annulation, la réinitialisation.

config.lua
Config.Sounds = {
    Enabled = true,
    Open    = { name = 'SELECT',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Confirm = { name = 'SELECT',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Cancel  = { name = 'CANCEL',        set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
    Reset   = { name = 'RESET_PROMPTS', set = 'HUD_FRONTEND_DEFAULT_SOUNDSET' },
}

Définissez Enabled = false pour couper tous les sons.

Hook CanUse

Une vérification personnalisée qui s'exécute à chaque fois qu'un joueur essaie d'ouvrir l'outil. Renvoyez true pour autoriser, ou false (éventuellement accompagné d'un message) pour bloquer.

config.lua
Config.CanUse = function()
    -- Example: block while taking damage
    -- local ped = PlayerPedId()
    -- if HasEntityBeenDamagedByAnyPed(ped) then
    --     return false, 'You cannot do this while taking damage!'
    -- end
    return true
end

Contrôles

Les codes de touches (scancodes) sont également entièrement configurables sous Config.Controls (avancer, reculer, monter, descendre, gauche, droite, pivoter, confirmer, annuler + deux alternatives, réinitialiser et précision). Consultez la page Usage & Controls pour connaître la disposition par défaut.