Jak zainstalować serwer QBox: przepis, stack i pierwsze błędy

Zainstaluj QBox na FiveM za pomocą przepisu txAdmin: stack qbx_core, ox_lib, ox_inventory, oxmysql i ox_target, jak się różni od QBCore i typowe pierwsze błędy.

Chcesz serwera QBox i chcesz wiedzieć, co jest w stacku, jak go zainstalować i jak się różni od QBCore. Ten przewodnik daje ci trasę przepisu, elementy, które tworzą QBox, różnice do obserwacji i pierwsze błędy, które ludzie trafiają.

Zainstaluj za pomocą przepisu txAdmin

QBox jest stworzony do instalacji za pomocą przepisu txAdmin. W konfiguracji txAdmin wybierz szablon QBox w popularnych przepisach (lub wklej adres URL przepisu z dokumentacji projektu QBox). Kroki są takie same jak w konfiguracji txAdmin i przepisach: klucz licencji, poświadczenia bazy danych, następnie przejrzyj server.cfg i uruchom.

Zawsze weź przepis z samego projektu QBox. Jego lista zasobów zmienia się w miarę rozrostu projektu, a przepis pozostaje aktualny.

Stack QBox

QBox to zestaw zasobów zbudowanych wokół bibliotek Overextended. Podstawowe elementy:

Zasób Rola
oxmysql Dostęp do bazy danych
ox_lib Biblioteka: callbacki, powiadomienia, menu, strefy, UI
qbx_core Framework: gracze, prace, gangi, postaci
ox_inventory Ekwipunek, przedmioty, schowki i sklepy
ox_target Interakcja trzeciego oka

Na górze tych, przepis dodaje zasoby qbx_ dla prac, pojazdów, domów i tak dalej, plus zasoby autonomiczne, takie jak głos.

Ręczny server.cfg wygląda tak:

cfg
set mysql_connection_string "mysql://user:password@localhost/qbox?charset=utf8mb4"

ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure ox_inventory
ensure ox_target
ensure [qbx]
ensure [standalone]

Przepis pisze dokładną listę dla wersji, którą instaluje, więc traktuj to jako kształt, a nie zawartość. Kolejność ma znaczenie: przeczytaj kolejność ensure server.cfg.

Co się różni od QBCore

  • Nazwa rdzenia. Framework to qbx_core. Nie ma folderu qb-core, i nie powinieneś go trzymać obok niego.
  • Ekwipunek. QBox używa ox_inventory. Elementy są zdefiniowane dla ox_inventory, a nie w pliku wspólnych elementów qb. Przeczytaj ox_inventory add items.
  • Biblioteki zamiast helperów. Callbacki, powiadomienia, menu kontekstowe i paski postępu pochodzą z ox_lib. Przeczytaj callbacki na ESX, QBCore i ox_lib i powiadomienia i paski postępu.
  • Targetowanie. ox_target to zasób targetowania: ox_target add zone. Różnice z celem QBCore są w qb-target vs ox-target.
  • Eksporty. QBox ma jego własne eksporty, na przykład na serwerze:
lua
local player = exports.qbx_core:GetPlayer(source)
if player then
    print(player.PlayerData.citizenid)
end

Sposób QBCore exports['qb-core']:GetCoreObject() wciąż odpowiada przez warstwę kompatybilności, dlatego wiele skryptów QBCore działa. Dla pełnej konwersji przeczytaj convert a QBCore script to QBox.

Pierwsze sprawdzenia

Uruchom serwer i przeczytaj konsolę, zanim dołączysz:

  1. oxmysql się łączy.
  2. ox_lib i qbx_core się uruchamiają bez błędów.
  3. ox_inventory się uruchamia. Ma własne sprawdzenia przy starcie i raportuje problemy wyraźnie, więc przeczytaj, co wypisuje.
  4. Możesz dołączyć, utworzyć postać i spawn.
  5. Twój ekwipunek się otwiera z kluczem, który przepis skonfigurował.

Dla uprawnień administratora QBox używa głównych ACE w server.cfg, w ten sam sposób co inne frameworki. Przeczytaj uprawnienia ACE.

Częste pierwsze błędy

Skrypt QBCore nie może znaleźć rdzenia. Jeśli warstwa kompatybilności nie jest aktywna, lub qbx_core nie powiódł się w uruchomieniu, otrzymujesz:

text
No such export GetCoreObject in resource qb-core

Sprawdź, czy qbx_core się uruchomił bez błędów i czy nie istnieje stary folder qb-core. Przeczytaj QBCore nil: naprawa GetCoreObject.

ox_lib nie załadowany. Skrypt, który wołuje lib przed uruchomieniem ox_lib, zawala się. Umieść ensure ox_lib blisko górze i dodaj @ox_lib/init.lua do manifestu skryptu. Przeczytaj ox_lib init.lua not found.

Błędy bazy danych. Zły ciąg połączenia, lub baza danych nie została utworzona. Przeczytaj błąd połączenia oxmysql.

Dwa ekwipunki. Uruchamianie qb-inventory obok ox_inventory powoduje zduplikowane i zepsute przedmioty. Trzymaj tylko ox_inventory.

Zasób się nie uruchamia. Could not find dependency mówi ci, co brakuje.

Lista kontrolna

Objaw Naprawa
No such export GetCoreObject in resource qb-core Uruchom qbx_core pierwszy, usuń każdy stary folder qb-core
Skrypt mówi, że lib jest nil ensure ox_lib wcześniej i załaduj @ox_lib/init.lua w manifeście
Przedmioty brakują lub są zduplikowane Używaj tylko ox_inventory i definiuj dla niego elementy
Nie można się połączyć z bazą danych Sprawdź mysql_connection_string i że baza danych istnieje
Skrypt QBCore się misbehaves Sprawdź, czy polega na qb-inventory lub innych wewnętrznych qb
Nie jest administratorem Dodaj swój identyfikator za pomocą add_principal i uruchom ponownie

Szybkie odpowiedzi

Czy QBox jest kompatybilny ze skryptami QBCore?

Przede wszystkim. qbx_core utrzymuje warstwę kompatybilności, więc exports['qb-core']:GetCoreObject() wciąż działa i wiele skryptów QBCore działa bez zmian. Skrypty, które zależą od qb-inventory lub innych wewnętrznych qb, mogą potrzebować zmian.

Czy potrzebuję ox_inventory na QBox?

Tak, stack QBox jest zbudowany wokół ox_inventory, z ox_lib i ox_target. Nie uruchamiaj qb-inventory obok niego.

Czy mogę zainstalować QBox bez txAdmin?

Tak, ale przepis txAdmin jest obsługiwaną trasą, ponieważ pobiera pasujące zasoby i pisze server.cfg. Instalacja ręczna podąża tą samą kolejnością, ale wymaga więcej sprawdzania.

Skrypty bez tego problemu

Item Creator V2Twórz używalne przedmioty z animacjami, propami, efektami i nie tylko — bez pisania kodu.Zobacz skrypt →Shop CreatorZbuduj sklep w niecałą minutę — właściciele, pracownicy, sejfy i napady w zestawie.Zobacz skrypt →Mic PhoneSkładany telefon, który rozkłada się w tablet i działa też na prawdziwym telefonie gracza.Zobacz skrypt →

Czytaj dalej