Конфігурація
Configuration
Everything is configured in config.lua. This page walks through every option.
General
Config.Framework = 'qbox' -- qbox / qbcore / esx / standalone
Config.Command = 'animpos' -- chat command name
Config.Cooldown = 15 -- cooldown between uses (seconds)- Framework — обиράє базовий ресурс та правила застосування метаданих.
- Command — команда чату, яка відкриває інструмент (також використовується як назва прив'язки клавіші).
- Cooldown — мінімальна кількість секунд між використанням.
Keybind
Дозволяє гравцям відкривати інструмент за допомогою клавіші, яку можна перепризначити в налаштуваннях GTA V.
Config.Keybind = {
Enabled = true,
Default = 'F6', -- default key (empty for none; player can rebind)
}Прив'язка клавіші реєструється лише тоді, коли Enabled = true та Default не порожній. Гравці завжди можуть змінити її в налаштуваннях: Налаштування → Прив'язка клавіш → FiveM.
Permission (optional)
Обмежте доступ до використання інструмента. Вимкнено за замовчуванням.
Config.Permission = {
Enabled = false,
Type = 'ace', -- 'ace' / 'job'
Ace = 'animpos.use', -- used when Type == 'ace'
Jobs = { 'police', 'ambulance' }, -- used when Type == 'job'
}ace— перевіряється на стороні сервера черезIsPlayerAceAllowedза допомогою колбека ox_lib (найбезпечніший варіант). Надайте дозвіл за допомогоюadd_ace ... animpos.use allow.job— назва фракції гравця має бути в спискуJobs(QBox / QB-Core / ESX).
Restrictions
Блокування використання, коли гравець перебуває в певних станах. Нативні перевірки працюють на будь-якому фреймворку; перевірки метаданих застосовуються лише до QBox та 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 відповідають назвам полів метаданих у даних гравця вашого фреймворка. Якщо ваше ядро (або кастомний пакет) зберігає їх під іншими ключами, змініть їх тут, щоб перевірки на смерть / останню стійку / наручники зчитували правильні значення.
Notifications
Виберіть бекенд, який використовується для кожного повідомлення.
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(за замовчуванням).qbcore— подіяQBCore:Notify.esx— подіяesx:showNotification.custom— ваш власний обробник уConfig.CustomNotify.
Недійсне значення Config.Notify записує попередження в консоль сервера та безпечно перемикається на ox_lib.
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
}
}Movement
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
}Performance
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 передається до інтерфейсу як тривалість переходу для панелі. Значення, пов'язані з синхронізацією, регулюють частоту надсилання та прийняття оновлень позиції.
Sounds
Додаткові звуки інтерфейсу GTA V для відкриття / підтвердження / скасування / скидання.
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' },
}Встановіть Enabled = false, щоб вимкнути всі звуки.
CanUse hook
Кастомна перевірка, яка виконується щоразу, коли гравець намагається відкрити інструмент. Поверніть true для дозволу або false (опціонально з текстом повідомлення) для блокування.
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
endControls
Сканкоди клавіш керування також повністю налаштовуються в Config.Controls (рух вперед, назад, вгору, вниз, вліво, вправо, обертання, підтвердження, скасування + два альтернативні варіанти, скидання та точність). Перегляньте сторінку Usage & Controls