Skip to content

Configurazione

Configurazione

Tutto è configurato in config.lua. Questa pagina illustra ogni opzione.

Generale

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- chat command name
Config.Cooldown  = 15        -- cooldown between uses (seconds)
  • Framework — seleziona la risorsa principale e quali restrizioni di metadati si applicano.
  • Command — il comando chat che apre lo strumento (utilizzato anche come nome del keymapping).
  • Cooldown — secondi minimi tra un utilizzo e l'altro.

Keybind

Consente ai giocatori di aprire lo strumento con un tasto, riconfigurabile nelle impostazioni di GTA V.

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

Il keymapping viene registrato solo quando Enabled = true e Default non è vuoto. I giocatori possono sempre riconfigurarlo da Impostazioni → Associazioni Tasti → FiveM.

Permessi (opzionale)

Limita chi può utilizzare lo strumento. Disattivato per impostazione predefinita.

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 — verificato lato server tramite IsPlayerAceAllowed attraverso un callback di ox_lib (il più sicuro). Concedilo con add_ace ... animpos.use allow.
  • job — il nome del lavoro del framework del giocatore deve essere presente nella lista Jobs (QBox / QB-Core / ESX).

Restrizioni

Blocca l'utilizzo mentre il giocatore si trova in determinati stati. I controlli nativi funzionano su ogni framework; i controlli dei metadati si applicano solo a QBox e 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 corrisponde ai nomi dei campi di metadati sui dati del giocatore del tuo framework. Se il tuo core (o un pacchetto personalizzato) memorizza questi dati sotto chiavi diverse, modificale qui in modo che i controlli per morto / ultimo stand / ammanettato leggano i valori corretti.

Notifiche

Scegli il backend utilizzato per ogni messaggio.

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 (predefinito).
  • qbcore — evento QBCore:Notify.
  • esx — evento esx:showNotification.
  • custom — il tuo handler personalizzato in Config.CustomNotify.

Un valore non valido di Config.Notify registra un avviso nella console del server e torna automaticamente e in sicurezza a ox_lib.

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

Movimento

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
}

Prestazioni

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 viene passato alla UI come durata della transizione per il pannello. I valori relativi alla sincronizzazione limitano la frequenza con cui gli aggiornamenti di posizione vengono inviati e accettati.

Suoni

Suoni frontend opzionali di GTA V per apertura / conferma / annullamento / reset.

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

Imposta Enabled = false per disattivare tutti i suoni.

Hook CanUse

Un controllo personalizzato che viene eseguito ogni volta che un giocatore tenta di aprire lo strumento. Restituisci true per consentire, o false (facoltativamente con una stringa di messaggio) per bloccare.

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

Controlli

I codici dei tasti di controllo sono anch'essi completamente configurabili sotto Config.Controls (avanti, indietro, su, giù, sinistra, destra, ruota, conferma, annulla + due alternativi, reset e precisione). Consulta la pagina Utilizzo e Controlli per il layout predefinito.