Skip to content

Configuration

Konfiguration

Alles wird in config.lua konfiguriert. Diese Seite führt durch jede Option.

Allgemeines

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- chat command name
Config.Cooldown  = 15        -- cooldown between uses (seconds)
  • Framework — wählt das Core-Resource und welche Metadaten-Einschränkungen gelten.
  • Command — der Chat-Befehl, der das Tool öffnet (wird auch als Name für die Tastenbelegung verwendet).
  • Cooldown — Mindestanzahl an Sekunden zwischen den Verwendungen.

Tastenbelegung

Ermöglicht Spielern das Öffnen des Tools über eine Taste, die in den GTA V-Einstellungen neu belegt werden kann.

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

Die Tastenbelegung wird nur registriert, wenn Enabled = true und Default nicht leer ist. Spieler können sie jederzeit unter Einstellungen → Tastenbelegung → FiveM neu belegen.

Berechtigung (optional)

Schränkt ein, wer das Tool verwenden kann. Standardmäßig deaktiviert.

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 — wird serverseitig über IsPlayerAceAllowed mittels eines ox_lib-Callbacks überprüft (am sichersten). Verleihe es mit add_ace ... animpos.use allow.
  • job — der Framework-Jobname des Spielers muss in der Jobs-Liste enthalten sein (QBox / QB-Core / ESX).

Einschränkungen

Blockiert die Nutzung, während sich der Spieler in bestimmten Zuständen befindet. Native Prüfungen funktionieren auf jedem Framework; Metadaten-Prüfungen gelten nur für QBox und 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 entsprechen den Metadaten-Feldnamen in den Spielerdaten deines Frameworks. Falls dein Core (oder ein benutzerdefiniertes Paket) diese unter anderen Schlüsseln speichert, passe sie hier an, damit die Prüfungen für tot / letzter Stand / Handschellen die korrekten Werte auslesen.

Benachrichtigungen

Wähle das Backend aus, das für jede Nachricht verwendet wird.

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 (Standard).
  • qbcoreQBCore:Notify-Event.
  • esxesx:showNotification-Event.
  • custom — dein eigener Handler in Config.CustomNotify.

Ein ungültiger Wert für Config.Notify gibt eine Warnung in der Server-Konsole aus und greift automatisch sicher auf ox_lib zurück.

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

Bewegung

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
}

Leistung

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 wird als Übergangslänge für das Panel an die Benutzeroberfläche übergeben. Die synchronisationsbezogenen Werte drosseln, wie oft Positionsaktualisierungen gesendet und akzeptiert werden.

Sounds

Optionale GTA V-Frontend-Sounds für Öffnen / Bestätigen / Abbrechen / Zurücksetzen.

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

Setze Enabled = false, um alle Sounds stummzuschalten.

CanUse-Hook

Eine benutzerdefinierte Prüfung, die jedes Mal ausgeführt wird, wenn ein Spieler versucht, das Tool zu öffnen. Gib true zurück, um es zu erlauben, oder false (optional mit einem Nachrichtentext), um es zu blockieren.

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

Steuerungen

Die Scancodes der Steuerungstasten sind ebenfalls vollständig unter Config.Controls konfigurierbar (vorwärts, rückwärts, hoch, runter, links, rechts, drehen, bestätigen, abbrechen + zwei Alternativen, zurücksetzen und Präzision). Siehe die Seite Nutzung & Steuerung für das Standard-Layout.