Skip to content

Konfiguracja

Konfiguracja

Wszystko jest konfigurowane w pliku config.lua. Ta strona opisuje każdą opcję po kolei.

Ogólne

config.lua
Config.Framework = 'qbox'    -- qbox / qbcore / esx / standalone
Config.Command   = 'animpos' -- nazwa komendy czatu
Config.Cooldown  = 15        -- czas odnowienia między użyciami (sekundy)
  • Framework — wybiera główny zasób oraz określa, które restrykcje metadanych mają zastosowanie.
  • Command — komenda czatu, która otwiera narzędzie (używana również jako nazwa przypisania klawisza).
  • Cooldown — minimalna liczba sekund między użyciami.

Przypisanie klawisza

Pozwala graczom otwierać narzędzie za pomocą klawisza, który można zmienić w ustawieniach GTA V.

config.lua
Config.Keybind = {
    Enabled = true,
    Default = 'F6',  -- domyślny klawisz (puste pole oznacza brak; gracz może go zmienić)
}

Przypisanie klawisza jest rejestrowane tylko wtedy, gdy Enabled = true oraz pole Default nie jest puste. Gracze mogą zawsze zmienić przypisanie w Ustawienia → Sterowanie → FiveM.

Uprawnienia (opcjonalnie)

Ogranicz, kto może korzystać z narzędzia. Domyślnie wyłączone.

config.lua
Config.Permission = {
    Enabled = false,
    Type    = 'ace',                     -- 'ace' / 'job'
    Ace     = 'animpos.use',             -- używane, gdy Type == 'ace'
    Jobs    = { 'police', 'ambulance' }, -- używane, gdy Type == 'job'
}
  • ace — sprawdzane po stronie serwera za pomocą IsPlayerAceAllowed poprzez callback ox_lib (najbardziej bezpieczne). Przyznaj uprawnienie za pomocą add_ace ... animpos.use allow.
  • job — nazwa jobu frameworka gracza musi znajdować się na liście Jobs (QBox / QB-Core / ESX).

Restrykcje

Blokuj użycie, gdy gracz znajduje się w określonych stanach. Sprawdzenia natywne działają na każdym frameworku; sprawdzenia metadanych dotyczą tylko QBox i QB-Core.

config.lua
Config.Restrictions = {
    -- Oparte na frameworku (tylko qbox / qbcore)
    CheckDead        = true,   -- blokuj podczas śmierci
    CheckLastStand   = true,   -- blokuj w stanie agonii (last stand)
    CheckHandcuffed  = true,   -- blokuj po zakłuciu w kajdanki

    -- Oparte na natywnych funkcjach (działa na WSZYSTKICH frameworki, w tym standalone)
    CheckInVehicle   = true,   -- blokuj wewnątrz pojazdu
    CheckFalling     = true,   -- blokuj podczas spadania / na spadochronie
    CheckSwimming    = false,  -- blokuj podczas pływania

    -- Nazwy pól metadanych odczytywane z danych gracza
    MetaKeys = {
        Dead       = 'isdead',
        LastStand  = 'inlaststand',
        Handcuffed = 'ishandcuffed',
    },
}

MetaKeys odpowiadają nazwom pól metadanych w danych gracza Twojego frameworka. Jeśli Twój core (lub niestandardowa paczka) przechowuje je pod innymi kluczami, zmień je tutaj, aby sprawdzenia śmierci / agonii / kajdanek odczytywały właściwe wartości.

Powiadomienia

Wybierz system obsługi wiadomości.

config.lua
Config.Notify = 'ox_lib'  -- 'ox_lib' / 'qbcore' / 'esx' / 'custom'

-- Używane tylko wtedy, gdy Config.Notify == 'custom'.
-- ntype to jedno z: 'success' / 'error' / 'primary' / 'inform'
Config.CustomNotify = function(message, ntype)
    -- exports['my-notify']:SendAlert(message, ntype)
end
  • ox_liblib.notify (domyślnie).
  • qbcore — event QBCore:Notify.
  • esx — event esx:showNotification.
  • custom — Twoja własna obsługa w Config.CustomNotify.

Nieprawidłowa wartość Config.Notify spowoduje zapisanie ostrzeżenia w konsoli serwera i bezpieczne przełączenie na ox_lib.

Interfejs (UI)

config.lua
Config.UI = {
    Position = 'right',       -- lewo / prawo / środek (left / right / center)
    OffsetX  = 30,            -- odległość od krawędzi (px)
    OffsetY  = 0,             -- przesunięcie pionowe (px)
    AccentColor = '#f4cb98',  -- kolor akcentu dla podświetleń klawiszy / poświaty
    ShowHeader = true,        -- pokaż nagłówek z tytułem/podtytułem
    ShowTip    = true,        -- pokaż dolną linię podpowiedzi
    ShowAnimations = true,    -- animacje naciśnięcia klawisza
    AnimationType = {
        Movement = 'pulse',   -- pulsowanie / poświata (pulse / glow)
        Action   = 'glow',    -- pulsowanie / poświata (pulse / glow)
    }
}

Ruch

config.lua
Config.Movement = {
    Speed         = 0.01,  -- prędkość ruchu
    RotationSpeed = 0.5,   -- prędkość rotacji
    MaxDistance   = 5.0,   -- maksymalna odległość od startu (m)
    MaxHeight     = 3.5,   -- maksymalna wysokość nad punktem startowym (m)
    MinHeight     = -3.5,  -- minimalna wysokość poniżej punktu startowego (m)
    PrecisionMultiplier = 0.25, -- mnożnik prędkości podczas przytrzymania precyzji
}

Wydajność

config.lua
Config.Performance = {
    NetworkUpdateDelay = 50,   -- opóźnienie synchronizacji sieciowej (ms)
    LoopWait           = 0,    -- oczekiwanie głównej pętli (ms)
    AnimationDuration  = 300,  -- czas trwania animacji UI (ms)
    SyncCooldown       = 50,   -- serwerowy cooldown synchronizacji anty-spamowej (ms)
}

Wartość AnimationDuration jest przekazywana do UI jako długość przejścia dla panelu. Wartości związane z synchronizacją ograniczają częstotliwość wysyłania i akceptowania aktualizacji pozycji.

Dźwięki

Opcjonalne dźwięki interfejsu GTA V dla akcji otwarcia / potwierdzenia / anulowania / resetu.

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

Ustaw Enabled = false, aby wyciszyć wszystkie dźwięki.

Hook CanUse

Niestandardowe sprawdzenie, które uruchamia się za każdym razem, gdy gracz próbuje otworzyć narzędzie. Zwróć `