Konfiguracja
Konfiguracja
Wszystko jest konfigurowane w pliku config.lua. Ta strona opisuje każdą opcję po kolei.
Ogólne
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.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.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ąIsPlayerAceAllowedpoprzez callback ox_lib (najbardziej bezpieczne). Przyznaj uprawnienie za pomocąadd_ace ... animpos.use allow.job— nazwa jobu frameworka gracza musi znajdować się na liścieJobs(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.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.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)
endox_lib—lib.notify(domyślnie).qbcore— eventQBCore:Notify.esx— eventesx:showNotification.custom— Twoja własna obsługa wConfig.CustomNotify.
Nieprawidłowa wartość Config.Notify spowoduje zapisanie ostrzeżenia w konsoli serwera i bezpieczne przełączenie na ox_lib.
Interfejs (UI)
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.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.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.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óć `