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.
Który plik odpowiada za co
Dział zatytułowany „Który plik odpowiada za co”| Plik | Za co odpowiada | Otwarty? |
|---|---|---|
config.lua | Język, komenda, klawisz anulowania, interakcja z postawionym propem, ścieżka do obrazków, pasek postępu | Tak |
bridge/client_bridge.lua | Powiadomienia, zdrowie, pancerz, stres, głód i pragnienie, liczba przedmiotów, prace, target, pasek postępu | Tak |
bridge/server_bridge.lua | Wykrywanie frameworka, używalne przedmioty, dodawanie i usuwanie przedmiotów, prace, powiadomienia, lista itemów | Tak |
locales/*.lua | Wszystkie teksty w grze oraz w menu | Tak |
data/*.lua | Listy wyboru dostępne w menu | Tak |
html/ | Interfejs menu (HTML, CSS, JS) | Czytelny |
client/, server/ | Logika działania przedmiotów | Zaszyfrowany (Escrow) |
config.lua
Dział zatytułowany „config.lua”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Locale | Język menu i komunikatów. Zobacz Języki | 'en' |
Config.Command | Komenda otwierająca i zamykająca menu | 'itemcreator' |
Config.CommandDescription | Opis tej komendy w ustawieniach przypisania klawiszy FiveM, gdzie można przypisać jej skrót. Domyślnie brak przypisanego klawisza | 'Open Item Creator Menu' |
Config.CancelKey | Domyślny klawisz anulujący działanie uruchomione przez przedmiot. Zobacz poniżej | 'X' |
Config.Interaction | Sposó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/.
Klawisze i komendy
Dział zatytułowany „Klawisze i komendy”| Komenda | Domyślny klawisz | Co robi |
|---|---|---|
/itemcreator | brak | Otwiera lub zamyka menu. Wymaga uprawnienia ACE mic_itemcreator.open |
/cancelitemanim | Config.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ć:
| Klawisz | Działanie |
|---|---|
| ← → ↑ ↓ | Przesuwa prop w lewo, prawo, przód, tył |
| Page Up / Page Down | Przesuwa w górę lub w dół |
| Numpad 4 / 6 | Obrót w poziomie (Yaw) |
| Numpad 8 / 5 | Pochylenie przód/tył (Pitch) |
| Numpad 7 / 9 | Przechylenie na boki (Roll) |
| X | Podgląd animacji |
| E | Zatwierdź |
| Backspace | Anuluj |
Listy danych
Dział zatytułowany „Listy danych”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:
| Plik | Co zawiera |
|---|---|
data/animations.lua | Animacje |
data/scenarios.lua | Scenariusze |
data/walkingstyles.lua | Style chodzenia |
data/bones.lua | Kości postaci, do których można przyczepić prop |
data/particles.lua | Efekty cząsteczkowe |
data/screeneffects.lua | Efekty ekranowe |
data/sounds.lua | Dźwięki |
data/cars.lua | Pojazdy (etykieta oraz model) |
data/peds.lua | Modele pedów |
data/clothing.lua | Animacje 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.Locale | Język |
|---|---|
en | Angielski |
es | Hiszpański |
de | Niemiecki |
fr | Francuski |
it | Włoski |
pt | Portugalski |
ru | Rosyjski |
ch-zn | Chiński |
jp | Japoń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:
- Skopiuj
locales/en.luado nowego pliku, na przykładlocales/pl.lua. - 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. - Dopisz plik do sekcji
shared_scriptswfxmanifest.lua, powyżejlocales/lib.lua. - Ustaw swój kod w
Config.Locale, wpiszrefreshi zrestartuj zasób.
Brakujący klucz wypisze w konsoli Translation key "…" not found, a na ekranie wyświetli samą nazwę klucza.
Mostek (Bridge)
Dział zatytułowany „Mostek (Bridge)”Dwa otwarte pliki w folderze bridge/. Nie zmieniaj nazw funkcji — pozostała część zasobu wywołuje je po tych nazwach.
bridge/server_bridge.lua
| Funkcja | Do 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.RegisterUsableItem | Rejestruje każdy skonfigurowany przedmiot jako używalny w Twoim frameworku |
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCount | Obsługa przedmiotów: pakiety (bundle), podnoszenie propów, wymagane przedmioty, Remove on Use |
Bridge.GetPlayerJob, Bridge.GetPlayerJobGrade | Ograniczenie ze względu na pracę |
Bridge.Notify | Powiadomienia wysyłane po stronie serwera |
Bridge.GetAllItems | Lista 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
| Funkcja | Do czego służy |
|---|---|
Bridge.Notify | Wszystkie powiadomienia. W razie braku frameworka korzysta ze standardowego powiadomienia GTA |
Bridge.AddHealth, Bridge.AddArmor | Zdrowie i pancerz (Health/Armor) |
Bridge.AddFoodThirst | Głód i pragnienie (Food/Thirst): esx_status na ESX; na QBCore eventy consumables:server:addHunger oraz addThirst |
Bridge.AddStress | Stres: esx_status na ESX; consumables:server:addStress na QBCore |
Bridge.GetItemCount | Always Attached Prop: liczba sztuk z ox_inventory (jeśli działa) lub z danych gracza |
Bridge.AddTargetEntity | Opcja podniesienia postawionego propa dla ox_target lub qb-target |
Bridge.ProgressBar | Paski 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.
Sieć społeczności
Dział zatytułowany „Sieć społeczności”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ć.