Configuration
Configuration
Tout est configuré dans config.lua. Cette page détaille chaque option.
Général
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.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.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 viaIsPlayerAceAllowedpar le biais d'un callback ox_lib (le plus sécurisé). Accordez-la avecadd_ace ... animpos.use allow.job— le nom du job framework du joueur doit figurer dans la listeJobs(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.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.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)
endox_lib—lib.notify(par défaut).qbcore— l'événementQBCore:Notify.esx— l'événementesx:showNotification.custom— votre propre gestionnaire dansConfig.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.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.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.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.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.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
endContrô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.