Personalizzazione
Ciò che fa ogni oggetto viene costruito nel menu e salvato nel database. I file decidono il resto: il comando, i tasti, come vengono mostrate le cose e come la risorsa comunica con il tuo framework.
Quale file decide cosa
Sezione intitolata “Quale file decide cosa”| File | Cosa decide | Aperto? |
|---|---|---|
config.lua | Lingua, comando, tasto di annullamento, interazione prop posizionati, percorso immagini, barra di progresso | Sì |
bridge/client_bridge.lua | Notifiche, vita, armatura, stress, cibo e sete, conteggio oggetti, lavori, target, barra di progresso | Sì |
bridge/server_bridge.lua | Rilevamento framework, oggetti usabili, aggiunta e rimozione oggetti, lavori, notifiche, lista oggetti | Sì |
locales/*.lua | Ogni testo, in gioco e nel menu | Sì |
data/*.lua | Le liste dietro i selettori del menu | Sì |
html/ | Il menu (HTML, CSS, JS) | Leggibile |
client/, server/ | Logica degli oggetti | Protetto (Escrow) |
config.lua
Sezione intitolata “config.lua”| Opzione | Cosa fa | Predefinito |
|---|---|---|
Config.Locale | Lingua del menu e dei messaggi. Vedi Lingue | 'en' |
Config.Command | Il comando che apre e chiude il menu | 'itemcreator' |
Config.CommandDescription | Il nome di quel comando nelle impostazioni tasti di FiveM, dove gli si può assegnare un tasto. Di base non ne ha alcuno | 'Open Item Creator Menu' |
Config.CancelKey | Tasto predefinito per annullare ciò che un oggetto ha avviato. Vedi sotto | 'X' |
Config.Interaction | Come viene raccolto un prop posizionato: 'drawtext', 'ox_target' o 'qb-target'. Con uno dei due valori target, il bridge usa quello attivo tra ox_target e qb-target | 'drawtext' |
Config.ImageInventoryPath | Dove il menu trova le immagini degli oggetti, nel formato <path><item name>.png | 'nui://ox_inventory/web/images/' |
Config.ProgressBar | 'custom' per la barra integrata, 'ox_lib' per quella di ox_lib. Se ox_lib non è in esecuzione, viene usata la barra integrata | 'custom' |
Non usi ox_inventory? Imposta Config.ImageInventoryPath sulla cartella immagini del tuo inventario, ad esempio nui://qb-inventory/html/images/.
Tasti e comandi
Sezione intitolata “Tasti e comandi”| Comando | Tasto predefinito | Cosa fa |
|---|---|---|
/itemcreator | nessuno | Apre o chiude il menu. Richiede il permesso ACE mic_itemcreator.open |
/cancelitemanim | Config.CancelKey (X) | Ferma l’animazione, lo scenario o lo stile di camminata avviato da un oggetto, ripristina la velocità, termina i superpoteri e rimuove i prop |
Durante il posizionamento di un Attach Prop, si usano questi tasti. Ciascuno è elencato nelle impostazioni tasti di FiveM con il prefisso “Placement:”, così i giocatori possono modificarli:
| Tasto | Cosa fa |
|---|---|
| ← → ↑ ↓ | Muove il prop a sinistra, destra, avanti, indietro |
| Pag Su / Pag Giù | Lo muove in alto o in basso |
| Tastierino 4 / 6 | Imbardata (Yaw) |
| Tastierino 8 / 5 | Beccheggio (Pitch) |
| Tastierino 7 / 9 | Rollio (Roll) |
| X | Anteprima dell’animazione |
| E | Conferma |
| Backspace | Annulla |
Le liste dati
Sezione intitolata “Le liste dati”Tutto ciò che puoi selezionare da un elenco nel menu proviene da data/, e puoi aggiungere voci a ciascuno di essi:
| File | Cosa elenca |
|---|---|
data/animations.lua | Animazioni |
data/scenarios.lua | Scenari |
data/walkingstyles.lua | Stili di camminata |
data/bones.lua | Ossa a cui può essere attaccato un prop |
data/particles.lua | Effetti particellari |
data/screeneffects.lua | Effetti schermo |
data/sounds.lua | Suoni |
data/cars.lua | Auto, per etichetta e modello |
data/peds.lua | Modelli ped |
data/clothing.lua | Le animazioni riprodotte quando si indossa un capo d’abbigliamento/prop |
Mantieni ogni voce nello stesso formato di quelle circostanti. Il menu legge questi file quando si apre; dopo averli modificati, riavvia la risorsa.
Nove file sono inclusi in locales/:
Config.Locale | Lingua |
|---|---|
en | Inglese |
es | Spagnolo |
de | Tedesco |
fr | Francese |
it | Italiano |
pt | Portoghese |
ru | Russo |
ch-zn | Cinese |
jp | Giapponese |
Il commento in config.lua menziona anche tr e ch; nessuno dei due esiste. Usa i codici qui sopra.
Lo stesso file traduce i messaggi in gioco e il menu, quindi c’è un solo posto da modificare.
Aggiungere una lingua:
- Copia
locales/en.luain un nuovo file, ad esempiolocales/pl.lua. - Al suo interno, cambia
Locales['en']con il tuo codice e traduci il testo a destra di ogni riga. Mantieni le chiavi e tutti i%s. - Aggiungi il file a
shared_scriptsinfxmanifest.lua, sopralocales/lib.lua. - Imposta
Config.Localesul tuo codice, eseguirefreshe riavvia.
Una chiave mancante stampa Translation key "…" not found nella console e mostra la chiave stessa sullo schermo.
Il bridge
Sezione intitolata “Il bridge”Due file aperti in bridge/. Mantieni invariati i nomi delle funzioni — il resto della risorsa le chiama per nome.
bridge/server_bridge.lua
| Funzione | A cosa serve |
|---|---|
| (rilevamento) | Usa ESX se es_extended è avviato, altrimenti QBCore se qb-core è avviato. QBox viene trovato come qb-core tramite la compatibilità QBCore |
Bridge.RegisterUsableItem | Registra ogni oggetto configurato come utilizzabile presso il tuo framework |
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCount | Oggetti: bundle, raccolta da terra, oggetti richiesti, Remove on Use |
Bridge.GetPlayerJob, Bridge.GetPlayerJobGrade | La restrizione per lavoro |
Bridge.Notify | Notifiche lato server |
Bridge.GetAllItems | La lista oggetti nel menu: da ox_inventory, poi dagli oggetti registrati su ESX, infine dagli oggetti condivisi di QBCore |
bridge/client_bridge.lua
| Funzione | A cosa serve |
|---|---|
Bridge.Notify | Ogni notifica. Ripiega sul feed di GTA se non c’è alcun framework |
Bridge.AddHealth, Bridge.AddArmor | Vita/Armatura |
Bridge.AddFoodThirst | Cibo/Sete: esx_status su ESX; su QBCore gli eventi consumables:server:addHunger e addThirst |
Bridge.AddStress | Stress: esx_status su ESX; consumables:server:addStress su QBCore |
Bridge.GetItemCount | Always Attached Prop: il conteggio di ox_inventory se è attivo, altrimenti i dati del giocatore |
Bridge.AddTargetEntity | L’opzione di raccolta su un prop posizionato, per ox_target o qb-target |
Bridge.ProgressBar | Barre di progresso: ox_lib o quella integrata. C’è un punto contrassegnato, con un esempio commentato, per aggiungere un’altra barra progresso |
La tua HUD usa eventi diversi per fame, sete o stress? Modificali in Bridge.AddFoodThirst e Bridge.AddStress. Un’altra risorsa di notifiche? Sostituisci il corpo di Bridge.Notify. Un altro framework o inventario? Compila le stesse funzioni in entrambi i file.
Rete della community
Sezione intitolata “Rete della community”Network nel menu elenca le configurazioni di oggetti condivise da altri server. Import chiede quale dei tuoi oggetti debba ricevere quella configurazione, poi la apre per permetterti di modificarla e salvarla. Per condividere una delle tue configurazioni, esportala dalla tua lista oggetti con un nome pubblico, una descrizione e un nome autore — diventerà visibile a tutti i server che utilizzano la rete.
La lista viene scaricata da GitHub, quindi il tuo server necessita di accesso a internet in uscita per poterla caricare.