Configurazione del Framework·

ESX, QBCore e Qbox: Configura il tuo framework e crea i lavori

Una guida pratica per iniziare con FiveM: installa il tuo framework, crea correttamente lavori e gradi, comprendi il servizio e l'accesso come boss e verifica che tutto venga salvato.

Un framework funzionante è la base del tuo server FiveM. Prima di aggiungere garage, tablet o attività, assicurati che la creazione del personaggio, il database e l'assegnazione dei lavori funzionino correttamente. Questa guida copre un'installazione da zero e un piccolo esempio di lavoro in ESX Legacy, QBCore o Qbox. Segui la sezione relativa al tuo framework; l'installazione di tutti e tre insieme non fa parte della configurazione.

Inizia con un'installazione pulita

Prepara un account Cfx.re, una chiave di registrazione del server, un artifact FXServer appropriato e un servizio MariaDB attivo. Utilizza la versione del database supportata dal framework scelto; Qbox richiede esplicitamente MariaDB e non supporta MySQL o XAMPP. Se utilizzi un hosting gestito, usa il server del provider e i controlli di txAdmin. Consulta la guida ufficiale alla configurazione del server FiveM e i requisiti di Qbox.

  1. Apri txAdmin e scegli un deployment di una nuova ricetta in una nuova directory dei dati del server.
  2. Seleziona la ricetta ufficiale del tuo framework: ESX Legacy, QBCore o Qbox.
  3. Inserisci la chiave del server e i dettagli corretti per la connessione a MariaDB. Utilizza un account database dedicato con accesso al database di questo server.
  4. Esegui la ricetta, revisiona la configurazione generata e avvia il server. Mantieni le dipendenze e l'ordine delle risorse della ricetta.
  5. Entra, crea un personaggio, riconnettiti e conferma che il personaggio venga ancora caricato prima di aggiungere altre risorse.

Le Ricette scaricano le risorse e avviano la loro installazione SQL. Non importare un secondo schema completo del framework dopo l'installazione, né distribuire una nuova ricetta su un server esistente. Effettua il backup sia dei file sia del database prima di apportare modifiche successive. Per i passaggi di installazione specifici del framework, segui la guida all'installazione di ESX, la guida per Windows di QBCore o la guida all'installazione di Qbox.

Capire cosa contiene effettivamente un lavoro

Ogni lavoro ha una chiave interna, un'etichetta visualizzata e gradi numerati. Utilizziamo sky_example, con gradi 0 e 1, in tutto il processo. Mantieni quella chiave identica nel framework, nello script del lavoro e in qualsiasi integrazione. Un'etichetta come "Esempio Azienda" è solo il nome che i giocatori vedono.

FrameworkDefinizioni dei lavoriChiavi dei gradi in questa guida
ESX LegacyMariaDB: jobs e job_gradesValori SQL 0, 1
QBCoreqb-core/shared/jobs.luaStringhe: ['0'], ['1']
Qboxqbx_core/shared/jobs.luaNumeri: [0], [1]

La registrazione di un lavoro crea la sua identità nel framework. Il gameplay, i garage, i depositi, i menu per i boss e i conti aziendali necessitano delle proprie risorse e configurazioni compatibili. Un lavoro del framework non è un'attività finita. Le posizioni sopra citate seguono lo schema ESX, il file dei lavori di QBCore e il file dei lavori di Qbox.

ESX Legacy: crea il lavoro in MariaDB

Apri il database configurato per questo server, non il database di un altro server. Per prima cosa, controlla se la chiave di esempio esiste già:

Check existing jobs
SELECT name FROM jobs WHERE name = 'sky_example';
SELECT grade FROM job_grades WHERE job_name = 'sky_example';

Eseguire gli insert seguenti solo se entrambi i controlli non restituiscono righe. Se il lavoro esiste, ispezionare e modificare i record esistenti invece di inserire duplicati.

Create the example job
INSERT INTO jobs (name, label)
VALUES ('sky_example', 'Example Company');

INSERT INTO job_grades
    (job_name, grade, name, label, salary, skin_male, skin_female)
VALUES
    ('sky_example', 0, 'employee', 'Employee', 100, '{}', '{}'),
    ('sky_example', 1, 'boss', 'Manager', 200, '{}', '{}');

job_name collega ogni grado al lavoro. La colonna grade è il grado utilizzato per l'assegnazione; l'id automatico della riga non è il grado. Un lavoro senza gradi viene ignorato. Ricarica il catalogo dei lavori tramite la console del server:

Server console
refreshjobs

L'attuale ESX Legacy inizia con oxmysql, poi esx_lib, poi es_extended; i tutorial più vecchi potrebbero omettere esx_lib. Mantieni le dipendenze fornite dalla tua ricetta. Consulta la configurazione attuale della ricetta e l'implementazione del caricamento dei lavori.

Per un'integrazione esx_society, il nome interno del grado boss è riconosciuto dalla sua configurazione boss predefinita. L'etichetta visibile “Manager” da sola non conferisce nulla. La registrazione della società, i conti e l'ordine di dipendenza rimangono passaggi di configurazione separati. Segui la documentazione della società se la risorsa del tuo lavoro la utilizza.

QBCore: aggiungi una voce alla tabella jobs

Apri qb-core/shared/jobs.lua. Inserisci questo all'interno della tabella jobs esistente, insieme alle altre voci di lavoro e prima della sua parentesi graffa di chiusura. Mantieni la dichiarazione della tabella esistente e tutti i lavori esistenti; questa è una voce, non un file di sostituzione.

qb-core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        ['0'] = { name = 'Employee', payment = 100 },
        ['1'] = { name = 'Manager', payment = 200, isboss = true },
    },
},

Mantieni le chiavi dei gradi come stringhe, incluso il grado zero. Controlla virgole e parentesi graffe intorno alle voci adiacenti, salva, quindi esegui un riavvio completo pianificato del server in modo che le risorse dipendenti carichino le stesse definizioni. Il comando refresh di FiveM scansiona nuovamente le risorse e i manifest; non ricarica una tabella Lua dei lavori in esecuzione. Non creare righe SQL jobs in stile ESX per QBCore. Le sue definizioni di lavoro risiedono in Lua, mentre i dati dei personaggi utilizzano ancora il database.

isboss indica il grado manager; non concede permessi per i comandi admin del framework. Una risorsa di gestione compatibile deve comunque fornire e configurare il menu effettivo e la sua posizione.

Qbox: utilizza il proprio file dei lavori e gradi numerici

Apri qbx_core/shared/jobs.lua e inserisci questo all'interno della tabella restituita da return { ... }, prima della parentesi graffa di chiusura finale. Preserva le altre voci. Qbox utilizza chiavi di grado numeriche qui; non incollare le chiavi testuali di QBCore senza modifiche.

qbx_core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        [0] = { name = 'Employee', payment = 100 },
        [1] = { name = 'Manager', payment = 200, isboss = true, bankAuth = true },
    },
},

Salva ed esegui un riavvio completo pianificato del server. bankAuth è separato da isboss ed è utilizzato dalle integrazioni bancarie compatibili; nessuna delle due flag crea un account o un menu. Adatta la tua configurazione alle definizioni ufficiali dei lavori di Qbox.

Qbox include il supporto multijob. Il limite di lavori e il fatto che /setjob sostituisca o aggiunga l’appartenenza sono configurabili. Usa i suoi comandi di appartenenza supportati quando gestisci più lavori; non dare per scontato che una risorsa multijob esterna per QBCore sia compatibile. Vedi i comandi di Qbox e la configurazione multijob.

Assegna, testa e riconnetti

Entra con un personaggio di prova e usa un account con i permessi per i comandi framework/ACE richiesti. Un login su txAdmin da solo non stabilisce tali permessi. Se Qbox ha requireOptIn abilitato, usa /optin prima dei comandi admin. Sostituisci 1 qui sotto con l'attuale ID server del tuo personaggio di prova connesso; /job riporta il lavoro del giocatore che lo inserisce:

In-game chat
/setjob 1 sky_example 0
/job
/setjob 1 sky_example 1
/job

Verifica che entrambi i gradi mostrino il lavoro e il grado previsti. La sintassi di assegnazione è documentata per ESX, QBCore e Qbox; il controllo condizionale di attivazione volontaria (opt-in) di Qbox si trova nella sua implementazione dei comandi.

Per QBCore e Qbox, questo esempio inizia fuori servizio e disabilita la paga fuori servizio. Usa l'azione di servizio della risorsa lavoro installata; non esiste un comando /duty universale da assumere. Anche le impostazioni di login influenzano se prevalgono lo stato di servizio salvato o defaultDuty. Quindi riconnettiti e verifica il lavoro salvato, il grado e il comportamento del servizio previsto.

Prima di aprire il lavoro ai giocatori, testa i permessi con entrambi i gradi. Un dipendente non deve accedere alle funzioni riservate al management. Attendi l'intervallo di stipendio configurato invece di aspettarti il pagamento immediatamente dopo l'assegnazione; gli importi dell'esempio sono segnaposto per la tua economia. Se un controllo fallisce, leggi il primo errore rilevante nella console e risolvilo prima di aggiungere un'altra risorsa.

SintomoPrimo controllo
Lavoro non assegnabileChiave esatta, grado esistente e definizioni caricate
Comando negatoPermessi del framework e configurazione ACE
La risorsa fallisce dopo un'edit di LuaPrimo errore in console, virgole e parentesi graffe
Lavoro corretto ma nessun menuRisorsa lavoro, posizione configurata, grado e servizio
Stipendio erratoPaga del grado, regole del servizio e configurazione busta paga/conto

Collega il tuo lavoro Sky successivamente

Una volta che l'assegnazione del framework funziona, segui la guida all'installazione di Sky e configura la risorsa lavoro installata con la stessa chiave del framework e gli stessi gradi. Usa le funzionalità condivise di Sky Jobs Base per le relative impostazioni condivise. Configura una coppia di lavori fuori servizio solo se la configurazione Sky scelta ne utilizza una, e crea entrambi i lavori con ogni grado richiesto.

Ultimo controllo: 25 ottobre 2026. Le fonti sopra riportate sono la documentazione ufficiale del framework, ricette mantenute e implementazioni GitHub. Controlla la versione installata prima di applicare esempi provenienti da una release più recente.