Con cosa funziona
Tutto ciò che segue viene rilevato da solo. Non esiste un’impostazione “che framework sono”, né un elenco di nomi di risorse da compilare: il telefono guarda cosa è in esecuzione e lo interroga.
Un tipo di risorsa che non è in esecuzione non è un telefono rotto — l’app che ne aveva bisogno lo dice, oppure non compare. Il marketplace funziona senza un garage; il Portafoglio funziona senza una risorsa di fatturazione.
Framework
Sezione intitolata “Framework”| ESX | Legacy e 1.x. Il numero è una colonna phone_number che questo telefono aggiunge a users |
| QBCore | Il numero è quello che QBCore assegna a ogni personaggio: charinfo.phone in players |
| QBox | Lo stesso charinfo.phone. La tabella di Qbox chiamata users è la sua tabella degli account e non viene mai toccata |
| fmLib | Per qualsiasi altro, oppure il tuo |
Denaro, nomi, lavori e identificatori passano tutti da un unico bridge, quindi un framework non citato in questo elenco ha bisogno di un file anziché di un fork.
Inventari
Sezione intitolata “Inventari”11 di essi, e RequireItem = false copre tutto il resto:
ox_inventory · qb-inventory · qs-inventory · core_inventory · ps-inventory · tgiann-inventory · jpr-inventory · codem-inventory · origen_inventory · jaksam_inventory · quello incluso in ESX
I metadati per oggetto — ciò che rende un telefono quel telefono in modalità oggetti — funzionano su ox, qs, qb, core, jaksam e origen. chezza, ps e tgiann non hanno un posto dove conservarli, e quello di ESX non ha nulla del genere, quindi la modalità oggetti ripiega su un telefono per personaggio.
pma-voice · mumble-voip · saltychat · tokovoip_script
Chiamate e radio mettono le persone in un canale e lasciano parlare la tua risorsa vocale. Se nessuna è in esecuzione, le chiamate si connettono e nessuno sente nulla.
Il resto
Sezione intitolata “Il resto”| Cosa | Rilevato |
|---|---|
| Fatturazione | esx_billing, okokBilling, oppure quella del telefono |
| Immobili | esx_property, ps-housing, qb-houses, loaf_housing |
| Garage | esx_garage, qb-garages, cd_garage, okokGarage, jg-advancedgarages |
| Società | esx_society, qb-management, qb-banking |
| Licenze | esx_license, qb-core, qbx_core |
| Meteo | cd_easytime, qb-weathersync, vSync, oppure il gioco stesso |
| Screenshot | screenshot-basic |
| Upload | Fivemanage, oppure un webhook Discord |
Morte e stato di svenimento
Sezione intitolata “Morte e stato di svenimento”L’unica cosa a cui due server non rispondono mai allo stesso modo, quindi il telefono chiede in quattro modi e prende la prima risposta: il framework (dead su ESX, isdead / inlaststand su QB), poi gli state bag, poi gli export che indichi in Config.Restrict.Death.Exports, infine il gioco stesso.
Questo copre già ESX, QBCore, QBox e qualsiasi cosa scriva i soliti bag. Se il tuo script di ambulanza non fa nulla di tutto ciò:
Config.Restrict.Death.Exports = { { 'wasabi_ambulance', 'isPlayerDead' },}Viene chiamato solo se quella risorsa è in esecuzione, e un nome che non risponde nulla viene saltato anziché rompere il telefono — quindi un tentativo sbagliato non costa niente.
Cosa gli serve dal server stesso
Sezione intitolata “Cosa gli serve dal server stesso”| oxmysql | Tutto ciò che il telefono ricorda |
| Una build di FiveM degli ultimi due anni circa | La parte browser usa il Node integrato nel server |
Niente npm, niente fase di build, nessun secondo programma e nessun file SQL da importare — le tabelle si creano da sole la prima volta che la risorsa si avvia.