Configuration
Konfiguration
Alles wird in config.lua konfiguriert. Diese Seite führt durch jede Option.
Allgemeines
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.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.Permission = {
Enabled = false,
Type = 'ace', -- 'ace' / 'job'
Ace = 'animpos.use', -- used when Type == 'ace'
Jobs = { 'police', 'ambulance' }, -- used when Type == 'job'
}ace— wird serverseitig überIsPlayerAceAllowedmittels eines ox_lib-Callbacks überprüft (am sichersten). Verleihe es mitadd_ace ... animpos.use allow.job— der Framework-Jobname des Spielers muss in derJobs-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.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.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(Standard).qbcore—QBCore:Notify-Event.esx—esx:showNotification-Event.custom— dein eigener Handler inConfig.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.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.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.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.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.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
endSteuerungen
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.