Come installare un server QBox: ricetta, stack e primi errori

Installa QBox su FiveM con la ricetta txAdmin: lo stack qbx_core, ox_lib, ox_inventory, oxmysql e ox_target, come differisce da QBCore, e gli errori comuni del primo.

Vuoi un server QBox e vuoi sapere cosa c'è nello stack, come installarlo e come differisce da QBCore. Questa guida ti dà la rotta della ricetta, i pezzi che compongono QBox, le differenze da osservare, e i primi errori che le persone incontrano.

Installa con la ricetta txAdmin

QBox è fatto per essere installato con una ricetta txAdmin. Nella configurazione di txAdmin, scegli il modello QBox nelle ricette popolari (o incolla l'URL della ricetta dalla documentazione del progetto QBox). I passaggi sono gli stessi di txAdmin setup and recipes: chiave di licenza, credenziali del database, quindi rivedi server.cfg e avvia.

Prendi sempre la ricetta dal progetto QBox stesso. Il suo elenco di risorse cambia man mano che il progetto cresce, e la ricetta rimane attuale.

Lo stack QBox

QBox è un set di risorse costruite attorno alle librerie di Overextended. I pezzi di base:

Risorsa Ruolo
oxmysql Accesso al database
ox_lib Libreria: callback, notifiche, menu, zone, UI
qbx_core Il framework: giocatori, lavori, gang, personaggi
ox_inventory Inventario, articoli, nascondigli e negozi
ox_target Interazione occhio di terza parte

In cima a questi, la ricetta aggiunge le risorse qbx_ per lavori, veicoli, alloggi e così via, più risorse standalone come la voce.

Un server.cfg manuale sembra così:

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]

La ricetta scrive l'elenco esatto per la versione che installa, quindi trattalo come la forma, non il contenuto. L'ordine è importante: vedi server.cfg ensure order.

Cosa differisce da QBCore

  • Nome del core. Il framework è qbx_core. Non c'è cartella qb-core, e non devi tenerne una accanto ad esso.
  • Inventario. QBox usa ox_inventory. Gli articoli sono definiti per ox_inventory, non nel file di articoli condivisi qb. Vedi ox_inventory add items.
  • Librerie invece di helper. Callback, notifiche, menu di contesto e barre di progresso provengono da ox_lib. Vedi callbacks on ESX, QBCore and ox_lib e notifications and progress bars.
  • Targeting. ox_target è la risorsa target: ox_target add zone. Le differenze con il target QBCore sono in qb-target vs ox-target.
  • Esportazioni. QBox ha le sue proprie esportazioni, ad esempio sul server:
lua
local player = exports.qbx_core:GetPlayer(source)
if player then
    print(player.PlayerData.citizenid)
end

Il modo QBCore exports['qb-core']:GetCoreObject() risponde ancora attraverso il livello di compatibilità, ed è per questo che molti script QBCore funzionano. Per una conversione completa, vedi convert a QBCore script to QBox.

Controlli iniziali

Avvia il server e leggi la console prima di unirti:

  1. oxmysql si connette.
  2. ox_lib e qbx_core si avviano senza errori.
  3. ox_inventory si avvia. Ha i suoi propri controlli all'avvio e segnala i problemi chiaramente, quindi leggi quello che stampa.
  4. Puoi unirti, creare un personaggio e fare spawn.
  5. Il tuo inventario si apre con la chiave che la ricetta ha configurato.

Per i diritti di admin, QBox usa i principali ACE in server.cfg, allo stesso modo di altri framework. Vedi ACE permissions.

Errori comuni del primo

Uno script QBCore non può trovare il core. Se il livello di compatibilità non è attivo, o qbx_core non si è avviato, ottieni:

text
No such export GetCoreObject in resource qb-core

Controlla che qbx_core sia partito senza errori, e che nessuna cartella qb-core stantia esista. Vedi QBCore nil: the GetCoreObject fix.

ox_lib non caricato. Uno script che chiama lib prima che ox_lib si avvia fallisce. Metti ensure ox_lib vicino alla cima e aggiungi @ox_lib/init.lua al manifest dello script. Vedi ox_lib init.lua not found.

Errori di database. Stringa di connessione sbagliata, o il database non è stato creato. Vedi oxmysql connection error.

Due inventari. Eseguire qb-inventory accanto a ox_inventory causa articoli duplicati e rotti. Mantieni solo ox_inventory.

La risorsa non si avvia. Could not find dependency ti dice cosa manca.

Elenco di controllo

Sintomo Correzione
No such export GetCoreObject in resource qb-core Avvia qbx_core per primo, rimuovi qualsiasi cartella vecchia qb-core
Lo script dice che lib è nil ensure ox_lib prima e carica @ox_lib/init.lua nel manifest
Articoli mancanti o raddoppiati Usa solo ox_inventory e definisci gli articoli per esso
Impossibile connettersi al database Controlla mysql_connection_string e che il database esista
Lo script QBCore si comporta male Controlla se dipende da qb-inventory o altri interni qb
Non admin Aggiungi il tuo identificatore con add_principal e riavvia

Risposte rapide

QBox è compatibile con gli script QBCore?

Principalmente. qbx_core mantiene un livello di compatibilità, quindi exports['qb-core']:GetCoreObject() funziona ancora e molti script QBCore funzionano invariati. Gli script che dipendono da qb-inventory o altri interni qb potrebbero aver bisogno di modifiche.

Ho bisogno di ox_inventory su QBox?

Sì, lo stack QBox è costruito attorno a ox_inventory, con ox_lib e ox_target. Non eseguire qb-inventory accanto ad esso.

Posso installare QBox senza txAdmin?

Sì, ma la ricetta txAdmin è la rotta supportata perché scarica le risorse corrispondenti e scrive server.cfg. Un'installazione manuale segue lo stesso ordine ma ha bisogno di più controlli.

Script senza questo problema

Item Creator V2Crea oggetti utilizzabili con animazioni, props, effetti e altro — senza scrivere codice.Vedi script →Shop CreatorCrea un negozio in meno di un minuto — proprietari, dipendenti, casseforti e rapine inclusi.Vedi script →Mic PhoneUn telefono pieghevole che si apre in un tablet e arriva sul telefono vero del giocatore.Vedi script →

Continua a leggere