Kompatibilität
Alles Folgende wird automatisch erkannt. Es gibt keine Einstellung wie “Welches Framework bin ich” und keine Liste von Ressourcennamen auszufüllen: Das Telefon prüft, was aktiv ist, und nutzt genau das.
Dass eine bestimmte Ressourcenart nicht läuft, bedeutet keineswegs ein defektes Telefon — die App, die sie benötigt, weist darauf hin oder wird gar nicht erst angezeigt. Der Marktplatz funktioniert ohne Garage; das Wallet funktioniert ohne ein Rechnungsskript.
Frameworks
Abschnitt betitelt „Frameworks“| ESX | Legacy und 1.x. Die Rufnummer ist eine phone_number-Spalte, die dieses Telefon zu users hinzufügt |
| QBCore | Die Rufnummer ist die, die QBCore jedem Charakter zuweist: charinfo.phone in players |
| QBox | Dasselbe charinfo.phone. Die eigene Tabelle namens users in QBox ist die Kontentabelle und bleibt unberührt |
| fmLib | Für alles andere oder eigene Lösungen |
Geld, Namen, Jobs und Identifikatoren laufen alle über eine einzige Bridge. Ein Framework, das nicht auf dieser Liste steht, erfordert daher nur eine einzelne Datei statt eines kompletten Forks.
Inventare
Abschnitt betitelt „Inventare“11 Stück, und RequireItem = false deckt den Rest ab:
ox_inventory · qb-inventory · qs-inventory · core_inventory · ps-inventory · tgiann-inventory · jpr-inventory · codem-inventory · origen_inventory · jaksam_inventory · das mitgelieferte ESX-Inventar
Metadaten pro Item — was ein Telefon im Item-Modus zu diesem konkreten Telefon macht — funktionieren bei ox, qs, qb, core, jaksam und origen. chezza, ps und tgiann haben keinen Speicherplatz dafür, und das originale ESX-Inventar kennt so etwas gar nicht, weshalb der Item-Modus dort auf ein Telefon pro Charakter zurückfällt.
pma-voice · mumble-voip · saltychat · tokovoip_script
Anrufe und Funk schalten Personen in einen Kanal und überlassen die Sprachübertragung deiner Voice-Ressource. Wenn keine davon läuft, bauen sich Anrufe auf, aber niemand hört etwas.
Der Rest
Abschnitt betitelt „Der Rest“| Was | Erkannt |
|---|---|
| Rechnungen | esx_billing, okokBilling oder die eigene Telefon-Rechnungsverwaltung |
| Housing | esx_property, ps-housing, qb-houses, loaf_housing |
| Garagen | esx_garage, qb-garages, cd_garage, okokGarage, jg-advancedgarages |
| Fraktionen / Betriebe | esx_society, qb-management, qb-banking |
| Lizenzen | esx_license, qb-core, qbx_core |
| Wetter | cd_easytime, qb-weathersync, vSync oder das Spiel selbst |
| Screenshots | screenshot-basic |
| Uploads | Fivemanage oder ein Discord-Webhook |
Tod und Verwundung (Down)
Abschnitt betitelt „Tod und Verwundung (Down)“Die eine Sache, die auf keinen zwei Servern identisch gelöst ist. Deshalb fragt das Telefon auf vier Wegen nach und nimmt die erste Antwort: das Framework (ESX dead, QB isdead / inlaststand), dann State Bags, dann Exports, die du in Config.Restrict.Death.Exports nennst, und schließlich das Spiel selbst.
Das deckt ESX, QBCore, QBox und alles ab, was die üblichen State Bags setzt. Falls dein Rettungsdienst-Skript nichts davon verwendet:
Config.Restrict.Death.Exports = { { 'wasabi_ambulance', 'isPlayerDead' },}Es wird nur aufgerufen, wenn diese Ressource aktiv ist; ein Aufruf ohne Rückgabewert wird einfach übersprungen, anstatt das Telefon lahmzulegen — eine falsche Angabe richtet also keinen Schaden an.
Was vom Server selbst benötigt wird
Abschnitt betitelt „Was vom Server selbst benötigt wird“| oxmysql | Alles, woran sich das Telefon erinnert |
| Ein FiveM-Build der letzten zwei Jahre | Der Browser-Teil nutzt das serverseitig integrierte Node |
Kein npm, kein Build-Schritt, kein zweites Programm und keine SQL-Datei zu importieren — die Tabellen erstellen sich beim ersten Start der Ressource von selbst.