Skip to content

Configuración

Configuración

Todo se configura en config.lua. Esta página detalla cada opción.

General

config.lua
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.lua
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.lua
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 mediante IsPlayerAceAllowed a través de un callback de ox_lib (más seguro). Concédelo con add_ace ... animpos.use allow.
  • job — el nombre del trabajo del framework del jugador debe estar en la lista Jobs (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.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 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.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 (por defecto).
  • qbcore — evento QBCore:Notify.
  • esx — evento esx:showNotification.
  • custom — tu propio controlador en Config.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.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
    }
}

Movimiento

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
}

Rendimiento

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 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.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' },
}

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.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

Controles

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.