Skip to content

Конфігурація

Configuration

Everything is configured in config.lua. This page walks through every option.

General

config.lua
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.lua
Config.Keybind = {
    Enabled = true,
    Default = 'F6',  -- default key (empty for none; player can rebind)
}

Прив'язка клавіші реєструється лише тоді, коли Enabled = true та Default не порожній. Гравці завжди можуть змінити її в налаштуваннях: Налаштування → Прив'язка клавіш → FiveM.

Permission (optional)

Обмежте доступ до використання інструмента. Вимкнено за замовчуванням.

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 — перевіряється на стороні сервера через IsPlayerAceAllowed за допомогою колбека ox_lib (найбезпечніший варіант). Надайте дозвіл за допомогою add_ace ... animpos.use allow.
  • job — назва фракції гравця має бути в списку Jobs (QBox / QB-Core / ESX).

Restrictions

Блокування використання, коли гравець перебуває в певних станах. Нативні перевірки працюють на будь-якому фреймворку; перевірки метаданих застосовуються лише до QBox та 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 відповідають назвам полів метаданих у даних гравця вашого фреймворка. Якщо ваше ядро (або кастомний пакет) зберігає їх під іншими ключами, змініть їх тут, щоб перевірки на смерть / останню стійку / наручники зчитували правильні значення.

Notifications

Виберіть бекенд, який використовується для кожного повідомлення.

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 (за замовчуванням).
  • qbcore — подія QBCore:Notify.
  • esx — подія esx:showNotification.
  • custom — ваш власний обробник у Config.CustomNotify.

Недійсне значення Config.Notify записує попередження в консоль сервера та безпечно перемикається на 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
    }
}

Movement

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
}

Performance

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 передається до інтерфейсу як тривалість переходу для панелі. Значення, пов'язані з синхронізацією, регулюють частоту надсилання та прийняття оновлень позиції.

Sounds

Додаткові звуки інтерфейсу GTA V для відкриття / підтвердження / скасування / скидання.

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

Встановіть Enabled = false, щоб вимкнути всі звуки.

CanUse hook

Кастомна перевірка, яка виконується щоразу, коли гравець намагається відкрити інструмент. Поверніть true для дозволу або false (опціонально з текстом повідомлення) для блокування.

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

Controls

Сканкоди клавіш керування також повністю налаштовуються в Config.Controls (рух вперед, назад, вгору, вниз, вліво, вправо, обертання, підтвердження, скасування + два альтернативні варіанти, скидання та точність). Перегляньте сторінку Usage & Controls