Configuración
Configuración
Todo se configura en config.lua. Esta página detalla cada opción.
General
Config.Framework = 'qbox' -- qbox / qbcore / esx / standalone
Config.Command = 'animpos' -- chat command name
Config.Cooldown = 15 -- cooldown between uses (seconds)- Framework — selecciona el recurso principal y qué restricciones de metadatos se aplican.
- Command — el comando de chat que abre la herramienta (también utilizado como el nombre de asignación de teclas).
- Cooldown — segundos mínimos entre usos.
Asignación de teclas
Permite a los jugadores abrir la herramienta con una tecla, reasignable en la configuración de GTA V.
Config.Keybind = {
Enabled = true,
Default = 'F6', -- default key (empty for none; player can rebind)
}La asignación de teclas solo se registra cuando Enabled = true y Default no está vacío. Los jugadores siempre pueden reasignarla en Configuración → Asignación de teclas → FiveM.
Permisos (opcional)
Restringe quién puede usar la herramienta. Desactivado por defecto.
Config.Permission = {
Enabled = false,
Type = 'ace', -- 'ace' / 'job'
Ace = 'animpos.use', -- used when Type == 'ace'
Jobs = { 'police', 'ambulance' }, -- used when Type == 'job'
}ace— se verifica en el lado del servidor medianteIsPlayerAceAlloweda través de un callback de ox_lib (más seguro). Concédelo conadd_ace ... animpos.use allow.job— el nombre del trabajo del framework del jugador debe estar en la listaJobs(QBox / QB-Core / ESX).
Restricciones
Bloquea el uso mientras el jugador se encuentra en ciertos estados. Las comprobaciones nativas funcionan en todos los frameworks; las comprobaciones de metadatos se aplican solo a QBox y 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 se vincula a los nombres de los campos de metadatos en los datos de jugador de tu framework. Si tu core (o un paquete personalizado) almacena estos datos bajo claves diferentes, cámbialas aquí para que las comprobaciones de muerte / último estado / esposado lean los valores correctos.
Notificaciones
Elige el backend utilizado para cada mensaje.
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(por defecto).qbcore— eventoQBCore:Notify.esx— eventoesx:showNotification.custom— tu propio controlador enConfig.CustomNotify.
Un valor de Config.Notify inválido registra una advertencia en la consola del servidor y recurre de manera segura a ox_lib.
Interfaz de usuario (UI)
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
}
}Movimiento
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
}Rendimiento
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 se pasa a la interfaz de usuario como la duración de la transición para el panel. Los valores relacionados con la sincronización regulan la frecuencia con la que se envían y aceptan las actualizaciones de posición.
Sonidos
Sonidos opcionales de la interfaz de GTA V para abrir / confirmar / cancelar / restablecer.
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' },
}Establece Enabled = false para silenciar todos los sonidos.
Hook CanUse
Una comprobación personalizada que se ejecuta cada vez que un jugador intenta abrir la herramienta. Devuelve true para permitir, o false (opcionalmente con una cadena de mensaje) para bloquear.
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
endControles
Los códigos de escaneo de las teclas de control también se pueden configurar por completo en Config.Controls (avanzar, retroceder, subir, bajar, izquierda, derecha, rotar, confirmar, cancelar + dos alternativas, restablecer y precisión). Consulta la página de Uso y Controles para ver la distribución predeterminada.