Salta ai contenuti

Personalizzazione

Quasi tutto si trova in config.lua. Il resto è testo, dati e il sottile strato che dialoga con il tuo framework.


FileCosa decideModificabile
config.luaFramework, lingua, chi può verniciare, oggetti, nomi dei comandi, marker delle carrozzerieSì
locales/*.luaOgni notifica e suggerimento in chat, un file per linguaSì
locales/main.luaLa funzione che sceglie il testo per Config.LocaleSì
bridge/server.luaRilevamento del framework, notifiche, controllo admin, lavori, oggetti utilizzabili, rimozione degli oggettiSì
bridge/client.luaRilevamento del framework e notifiche lato giocatoreSì
items/ox.lua, items/qb.lua, items/sql.sqlDefinizioni di oggetti pronte da copiare nel tuo inventarioSì
permissions.jsonGli Steam ID autorizzati ad aprire il menu. Scritto dai comandi give e removeSì
vehicle_original_colors.jsonIl colore di ogni auto verniciata prima della sua prima verniciatura, per modello e targaSì
html/ui.html, html/style.css, html/script.jsIl menu: il titolo, i campioni e l’aspetto—
data/, stream/Le definizioni delle vernici e le texture delle rampe per i colori dal 223 al 242Non toccare
client/main.lua, server/main.luaLa logicaEscrow (criptato)

OpzioneCosa faPredefinito
Config.Framework"auto", "esx" o "qbcore". Auto usa quello in esecuzione tra es_extended e qb-core; QBox conta come qb-core tramite la sua compatibilità con QBCore. Se lo fissi, QBox usa "qbcore""auto"
Config.LocaleLa lingua di ogni messaggio. Vedi Lingue, più sotto"es"
Config.PermissionFileIl nome del file JSON che contiene l’elenco dei permessi"permissions.json"

OpzioneCosa faPredefinito
Config.PermissionsUsa l’elenco dei permessi in permissions.jsontrue
Config.UseJobsFa aprire il menu anche ai lavori in Config.AuthorizedJobstrue
Config.AuthorizedJobsI nomi dei lavori consentiti quando UseJobs è attivomechanic, police

I due interruttori si combinano così:

PermissionsUseJobsChi può aprire il menu
attivoattivoI giocatori nell’elenco, e chiunque abbia un lavoro presente in AuthorizedJobs
attivodisattivoSolo i giocatori nell’elenco
disattivoattivo o disattivoTutti

L’elenco è indicizzato per identificatore Steam. Un giocatore che non usa Steam non può essere aggiunto; il comando give risponde di non essere riuscito a ottenere il suo identificatore Steam.


OpzioneCosa faPredefinito
Config.UseItemsRegistra come utilizzabili gli 82 oggetti vernice e l’oggetto di resettrue
Config.ItemsRequirePermissionFa seguire agli oggetti vernice le stesse regole del menu. Se disattivo, chiunque ne abbia uno può usarlofalse

L’oggetto di reset non chiede mai il permesso. I nomi degli oggetti, e dove sono fornite le loro definizioni, si trovano in Installazione.


Ogni nome è impostato in config.lua, senza la barra.

OpzionePredefinitoChiCosa fa
Config.Chameleon/chameleonChiunque sia autorizzato dalle regole sopraApre il menu. Devi essere in un veicolo
Config.ChameleonReset/chameleonresetChiunqueRiporta l’auto in cui ti trovi al suo colore originale
Config.ChameleonGive/chameleongive [ID]AdminAggiunge lo Steam ID di quel giocatore all’elenco dei permessi
Config.ChameleonRemove/chameleonremove [ID]AdminLo rimuove di nuovo

“Admin” indica il gruppo admin o superadmin su ESX, e il permesso admin o god su QBCore. Entrambi i controlli si trovano in bridge/server.lua, se i tuoi hanno un altro nome.


Config.Locations è un elenco; aggiungi tutte le voci che vuoi. Ognuna ha:

CampoCosa faValore predefinito
coordsDove si trova il markerDue punti di esempio vicino a Burton
radiusA che distanza, in metri, devi trovarti perché compaia il messaggio3.0
markerTypeIl marker di FiveM disegnato1 (un anello a terra)
markerColorRosso, verde, blu e alfaRosso in uno, verde nell’altro, alfa 100
markerScaleLa sua dimensione2.0 × 2.0 × 1.0
notificationIl testo di aiuto mostrato dentro il raggioPress ~INPUT_CONTEXT~ to open the Chameleon menu

Il marker viene disegnato da 10 metri di distanza. Il messaggio compare solo dentro radius e in un veicolo; E apre quindi il menu, con lo stesso controllo dei permessi del comando.

Il testo di notification si trova in config.lua, non nei locale, quindi traducilo lì.


html/ui.html contiene i campioni — uno per ogni ID colore da 161 a 242 — e il titolo del menu, “Chameleon Paintings”, che è scritto nella pagina anziché preso dai locale. html/style.css assegna a ogni campione il suo colore di anteprima.


Nove sono incluse in locales/: en, es, fr, de, it, pt, pl, ru e tr. Imposta Config.Locale su uno di questi codici.

Per aggiungerne una:

  1. Copia locales/en.lua in un nuovo file, per esempio locales/nl.lua.
  2. Cambia il codice della lingua in cima al nuovo file in nl e traduci il testo.
  3. Aggiungi locales/nl.lua a entrambe le liste client_scripts e server_scripts in fxmanifest.lua, accanto agli altri file dei locale.
  4. Imposta Config.Locale = "nl", poi esegui refresh e riavvia la risorsa.

Una chiave mancante appare come Translation [key] does not exist anziché rompere qualcosa, il che rende facile individuare un file lasciato a metà.


Due file in bridge/ sono gli unici punti in cui la risorsa tocca il tuo framework.

FileCosa fa
bridge/server.luaTrova il framework, invia le notifiche (esx:showNotification o QBCore:Notify), decide chi è admin, legge il lavoro di un giocatore, registra gli oggetti utilizzabili e rimuove un oggetto dopo l’uso
bridge/client.luaTrova il framework lato giocatore e mostra le notifiche (ESX.ShowNotification o QBCore.Functions.Notify)

Se non viene trovato alcun framework, le notifiche ripiegano sui messaggi in chat.

Adattarlo. Per usare il tuo script di notifiche, sostituisci il corpo di Bridge.Notify in entrambi i file. Per un sistema admin personalizzato, modifica Bridge.IsAdmin. Per un framework diverso da ESX, QBCore o QBox, compila ogni funzione Bridge. in bridge/server.lua — rilevamento del framework, Notify, IsAdmin, GetPlayerJob, RegisterUsableItem e RemoveItem — e alla risorsa non serve altro.