Przejdź do głównej zawartości

Personalizacja

Działanie każdego przedmiotu buduje się w menu i zapisuje w bazie danych. Pliki decydują o reszcie: komendzie, klawiszach, sposobie wyświetlania elementów oraz komunikacji zasobu z Twoim frameworkiem.


PlikZa co odpowiadaOtwarty?
config.luaJęzyk, komenda, klawisz anulowania, interakcja z postawionym propem, ścieżka do obrazków, pasek postępuTak
bridge/client_bridge.luaPowiadomienia, zdrowie, pancerz, stres, głód i pragnienie, liczba przedmiotów, prace, target, pasek postępuTak
bridge/server_bridge.luaWykrywanie frameworka, używalne przedmioty, dodawanie i usuwanie przedmiotów, prace, powiadomienia, lista itemówTak
locales/*.luaWszystkie teksty w grze oraz w menuTak
data/*.luaListy wyboru dostępne w menuTak
html/Interfejs menu (HTML, CSS, JS)Czytelny
client/, server/Logika działania przedmiotówZaszyfrowany (Escrow)

OpcjaCo robiDomyślnie
Config.LocaleJęzyk menu i komunikatów. Zobacz Języki'en'
Config.CommandKomenda otwierająca i zamykająca menu'itemcreator'
Config.CommandDescriptionOpis tej komendy w ustawieniach przypisania klawiszy FiveM, gdzie można przypisać jej skrót. Domyślnie brak przypisanego klawisza'Open Item Creator Menu'
Config.CancelKeyDomyślny klawisz anulujący działanie uruchomione przez przedmiot. Zobacz poniżej'X'
Config.InteractionSposób podnoszenia postawionego propa: 'drawtext', 'ox_target' lub 'qb-target'. Przy dowolnej opcji targetu mostek użyje tego zasobu (ox_target lub qb-target), który działa'drawtext'
Config.ImageInventoryPathŚcieżka, z której menu pobiera ikony przedmiotów w formacie <path><item name>.png'nui://ox_inventory/web/images/'
Config.ProgressBar'custom' dla wbudowanego paska, 'ox_lib' dla paska z ox_lib. Jeśli ox_lib nie jest uruchomiony, używany jest pasek wbudowany'custom'

Nie używasz ox_inventory? Ustaw Config.ImageInventoryPath na folder z obrazkami swojego ekwipunku, na przykład nui://qb-inventory/html/images/.


KomendaDomyślny klawiszCo robi
/itemcreatorbrakOtwiera lub zamyka menu. Wymaga uprawnienia ACE mic_itemcreator.open
/cancelitemanimConfig.CancelKey (X)Zatrzymuje animację, scenariusz lub styl chodzenia uruchomiony przez przedmiot, resetuje prędkość, kończy supermoce i usuwa doczepiony prop

Podczas ustawiania pozycji obiektu w Attach Prop działają poniższe klawisze. Każdy z nich znajduje się w ustawieniach klawiszy FiveM z przedrostkiem “Placement:”, więc gracze mogą je dostosować:

KlawiszDziałanie
← → ↑ ↓Przesuwa prop w lewo, prawo, przód, tył
Page Up / Page DownPrzesuwa w górę lub w dół
Numpad 4 / 6Obrót w poziomie (Yaw)
Numpad 8 / 5Pochylenie przód/tył (Pitch)
Numpad 7 / 9Przechylenie na boki (Roll)
XPodgląd animacji
EZatwierdź
BackspaceAnuluj

Wszystko, co można wybrać z list rozwijanych w menu, pochodzi z folderu data/ — możesz dopisywać własne pozycje do każdego z tych plików:

PlikCo zawiera
data/animations.luaAnimacje
data/scenarios.luaScenariusze
data/walkingstyles.luaStyle chodzenia
data/bones.luaKości postaci, do których można przyczepić prop
data/particles.luaEfekty cząsteczkowe
data/screeneffects.luaEfekty ekranowe
data/sounds.luaDźwięki
data/cars.luaPojazdy (etykieta oraz model)
data/peds.luaModele pedów
data/clothing.luaAnimacje odtwarzane podczas zakładania elementu garderoby lub propa

Zachowaj strukturę nowych wpisów zgodną z istniejącymi. Menu wczytuje te pliki podczas otwierania; po zakończeniu edycji zrestartuj zasób.


W folderze locales/ znajduje się dziewięć plików:

Config.LocaleJęzyk
enAngielski
esHiszpański
deNiemiecki
frFrancuski
itWłoski
ptPortugalski
ruRosyjski
ch-znChiński
jpJapoński

Komentarz w config.lua wspomina również o tr oraz ch, jednak żaden z nich nie istnieje. Używaj kodów z powyższej tabeli.

Ten sam plik tłumaczy komunikaty w grze oraz interfejs menu, dzięki czemu wszystko edytuje się w jednym miejscu.

Dodawanie nowego języka:

  1. Skopiuj locales/en.lua do nowego pliku, na przykład locales/pl.lua.
  2. Wewnątrz pliku zmień Locales['en'] na swój kod języka i przetłumacz teksty po prawej stronie każdej linii. Zachowaj klucze oraz znaczniki %s.
  3. Dopisz plik do sekcji shared_scripts w fxmanifest.lua, powyżej locales/lib.lua.
  4. Ustaw swój kod w Config.Locale, wpisz refresh i zrestartuj zasób.

Brakujący klucz wypisze w konsoli Translation key "…" not found, a na ekranie wyświetli samą nazwę klucza.


Dwa otwarte pliki w folderze bridge/. Nie zmieniaj nazw funkcji — pozostała część zasobu wywołuje je po tych nazwach.

bridge/server_bridge.lua

FunkcjaDo czego służy
(wykrywanie)Używa ESX, jeśli działa es_extended, w przeciwnym razie QBCore, jeśli działa qb-core. QBox jest wykrywany jako qb-core przez kompatybilność
Bridge.RegisterUsableItemRejestruje każdy skonfigurowany przedmiot jako używalny w Twoim frameworku
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCountObsługa przedmiotów: pakiety (bundle), podnoszenie propów, wymagane przedmioty, Remove on Use
Bridge.GetPlayerJob, Bridge.GetPlayerJobGradeOgraniczenie ze względu na pracę
Bridge.NotifyPowiadomienia wysyłane po stronie serwera
Bridge.GetAllItemsLista przedmiotów w menu: pobierana z ox_inventory, następnie z zarejestrowanych itemów ESX, a na końcu ze wspólnych itemów QBCore

bridge/client_bridge.lua

FunkcjaDo czego służy
Bridge.NotifyWszystkie powiadomienia. W razie braku frameworka korzysta ze standardowego powiadomienia GTA
Bridge.AddHealth, Bridge.AddArmorZdrowie i pancerz (Health/Armor)
Bridge.AddFoodThirstGłód i pragnienie (Food/Thirst): esx_status na ESX; na QBCore eventy consumables:server:addHunger oraz addThirst
Bridge.AddStressStres: esx_status na ESX; consumables:server:addStress na QBCore
Bridge.GetItemCountAlways Attached Prop: liczba sztuk z ox_inventory (jeśli działa) lub z danych gracza
Bridge.AddTargetEntityOpcja podniesienia postawionego propa dla ox_target lub qb-target
Bridge.ProgressBarPaski postępu: ox_lib lub wbudowany. W kodzie znajduje się oznaczone miejsce z zakomentowanym przykładem do podpięcia innego paska postępu

Twój HUD używa innych eventów dla głodu, pragnienia lub stresu? Zmień je w Bridge.AddFoodThirst oraz Bridge.AddStress. Inny zasób powiadomień? Zastąp wnętrze funkcji Bridge.Notify. Inny framework lub ekwipunek? Uzupełnij te same funkcje w obu plikach.


Zakładka Network w menu wyświetla konfiguracje przedmiotów udostępnione przez inne serwery. Przycisk Import pyta, który z Twoich własnych przedmiotów ma otrzymać daną konfigurację, a następnie otwiera ją do dostosowania i zapisania. Aby udostępnić własną konfigurację, wyeksportuj ją z listy przedmiotów, podając publiczną nazwę, opis oraz autora — stanie się widoczna dla każdego serwera korzystającego z sieci.

Lista jest pobierana z GitHuba, dlatego Twój serwer musi mieć dostęp do wychodzących połączeń internetowych, aby ją wczytać.