Salta ai contenuti

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.


FileCosa decideAperto?
config.luaLingua, comando, tasto di annullamento, interazione prop posizionati, percorso immagini, barra di progressoSì
bridge/client_bridge.luaNotifiche, vita, armatura, stress, cibo e sete, conteggio oggetti, lavori, target, barra di progressoSì
bridge/server_bridge.luaRilevamento framework, oggetti usabili, aggiunta e rimozione oggetti, lavori, notifiche, lista oggettiSì
locales/*.luaOgni testo, in gioco e nel menuSì
data/*.luaLe liste dietro i selettori del menuSì
html/Il menu (HTML, CSS, JS)Leggibile
client/, server/Logica degli oggettiProtetto (Escrow)

OpzioneCosa faPredefinito
Config.LocaleLingua del menu e dei messaggi. Vedi Lingue'en'
Config.CommandIl comando che apre e chiude il menu'itemcreator'
Config.CommandDescriptionIl 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.CancelKeyTasto predefinito per annullare ciò che un oggetto ha avviato. Vedi sotto'X'
Config.InteractionCome 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.ImageInventoryPathDove 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/.


ComandoTasto predefinitoCosa fa
/itemcreatornessunoApre o chiude il menu. Richiede il permesso ACE mic_itemcreator.open
/cancelitemanimConfig.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:

TastoCosa fa
← → ↑ ↓Muove il prop a sinistra, destra, avanti, indietro
Pag Su / Pag GiùLo muove in alto o in basso
Tastierino 4 / 6Imbardata (Yaw)
Tastierino 8 / 5Beccheggio (Pitch)
Tastierino 7 / 9Rollio (Roll)
XAnteprima dell’animazione
EConferma
BackspaceAnnulla

Tutto ciò che puoi selezionare da un elenco nel menu proviene da data/, e puoi aggiungere voci a ciascuno di essi:

FileCosa elenca
data/animations.luaAnimazioni
data/scenarios.luaScenari
data/walkingstyles.luaStili di camminata
data/bones.luaOssa a cui può essere attaccato un prop
data/particles.luaEffetti particellari
data/screeneffects.luaEffetti schermo
data/sounds.luaSuoni
data/cars.luaAuto, per etichetta e modello
data/peds.luaModelli ped
data/clothing.luaLe 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.LocaleLingua
enInglese
esSpagnolo
deTedesco
frFrancese
itItaliano
ptPortoghese
ruRusso
ch-znCinese
jpGiapponese

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:

  1. Copia locales/en.lua in un nuovo file, ad esempio locales/pl.lua.
  2. 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.
  3. Aggiungi il file a shared_scripts in fxmanifest.lua, sopra locales/lib.lua.
  4. Imposta Config.Locale sul tuo codice, esegui refresh e riavvia.

Una chiave mancante stampa Translation key "…" not found nella console e mostra la chiave stessa sullo schermo.


Due file aperti in bridge/. Mantieni invariati i nomi delle funzioni — il resto della risorsa le chiama per nome.

bridge/server_bridge.lua

FunzioneA 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.RegisterUsableItemRegistra ogni oggetto configurato come utilizzabile presso il tuo framework
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCountOggetti: bundle, raccolta da terra, oggetti richiesti, Remove on Use
Bridge.GetPlayerJob, Bridge.GetPlayerJobGradeLa restrizione per lavoro
Bridge.NotifyNotifiche lato server
Bridge.GetAllItemsLa lista oggetti nel menu: da ox_inventory, poi dagli oggetti registrati su ESX, infine dagli oggetti condivisi di QBCore

bridge/client_bridge.lua

FunzioneA cosa serve
Bridge.NotifyOgni notifica. Ripiega sul feed di GTA se non c’è alcun framework
Bridge.AddHealth, Bridge.AddArmorVita/Armatura
Bridge.AddFoodThirstCibo/Sete: esx_status su ESX; su QBCore gli eventi consumables:server:addHunger e addThirst
Bridge.AddStressStress: esx_status su ESX; consumables:server:addStress su QBCore
Bridge.GetItemCountAlways Attached Prop: il conteggio di ox_inventory se è attivo, altrimenti i dati del giocatore
Bridge.AddTargetEntityL’opzione di raccolta su un prop posizionato, per ox_target o qb-target
Bridge.ProgressBarBarre 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.


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.