Pulse Phone Doku
Frameworks
3. Schritt für Schritt für dein Framework
Das Handy findet dein Framework von selbst: es_extended, qb-core, qbx_core, ox_core, ND_Core, vrp oder TMCs core. Du brauchst Config.Framework in config/config.lua nur, wenn mehr als eins läuft, oder für ein eigenes Framework.
Dein Framework auf einen Blick
| Framework | Erkannt über | Items | Bank und Bargeld | Gut zu wissen |
|---|---|---|---|---|
| ESX Legacy | es_extended |
Pulse fügt seine Items selbst in die ESX-Tabelle items ein (Standard-Inventar). Bei ox_inventory füg den Block ein, den der Start-Check ausgibt |
ESX-Konten | Firmenkonten über dein Society-Script |
| QBCore | qb-core |
Pulse fügt seine Items selbst in die Shared Items von QBCore ein (qb-, ps-, lj-inventory) | QBCore-Geld | Ränge mit isboss führen die Firma |
| Qbox | qbx_core (sein Stellvertreter qb-core zählt als Qbox, nicht als zweites Framework) |
Füg den ausgegebenen ox_inventory-Block ein | Qbox-Geld | Nutzt den Qbox-Adapter, nie den von QBCore |
| ox_core | ox_core |
Füg den ausgegebenen ox_inventory-Block ein | Das ox_core-Konto des Charakters; Bargeld ist das money von ox_inventory |
Kein Dienst-Flag: Alle gelten als im Dienst |
| ND Core | ND_Core |
Füg den ausgegebenen ox_inventory-Block ein | NDs bank und cash |
Kein Dienst-Flag; keine Firmenkonten |
| TMC | seine Resource core, erkannt am eigenen Core-Objekt von TMC |
Jedes Item muss in der Item-Liste von TMC stehen: Der Start-Check gibt sie aus | TMC-Geld | Läuft über die Custom-Bridge, nichts einzurichten |
| vRP 2 | vrp |
Siehe den Abschnitt zu vRP | vRP-Wallet und -Bank | vRP 1 und Forks werden nicht unterstützt |
| Standalone | nichts von oben läuft | Keine nötig | Die eigene Bank des Handys | Für Testserver oder Server ohne Framework |
| Custom | Config.Framework = 'custom' |
Über deine Bridge | Über deine Bridge | Siehe "Eigenes oder selbst entwickeltes Framework" |
Das Framework erzwingen
Die meisten Server brauchen das nie. Erzwing das Framework, wenn die Startzeile das falsche nennt oder wenn zwei Framework-Cores installiert und gestartet sind. Füg eine Zeile in die server.cfg ein:
setr phone_framework qb| Wert | Framework |
|---|---|
esx |
ESX Legacy (es_extended) |
qb |
QBCore (qb-core) |
qbox |
Qbox (qbx_core) |
ox |
ox_core |
nd |
ND Core (ND_Core) |
vrp |
vRP 2 (vrp) |
tmc |
TMC (core) |
standalone |
Kein Framework: Das Handy hat seine eigene Identität und Bank |
custom |
Deine eigene Bridge (siehe "Eigenes oder selbst entwickeltes Framework" unten) |
auto |
Wie ohne die Zeile: Config.Framework entscheidet |
- Sie hat Vorrang vor
Config.Framework. Starte das Handy neu, nachdem du sie geändert hast. - Die Resource-Namen funktionieren auch:
qbcore,qb-core,qbx_core,es_extended,ox_core. Ein unbekanntes Wort wird abgelehnt: Der Start-Check sagt das, und Geld-Features bleiben aus. qbauf einem Server, auf demqbx_coreläuft, nutzt den Qbox-Adapter. Qbox antwortet auch als QBCore.- Wenn das erzwungene Framework nicht gestartet ist, bleiben die Handys auf ihrem "not ready"-Bildschirm, bis es läuft. Das Handy wechselt nie von selbst auf ein anderes Framework.
Multicharacter funktioniert auf jedem Framework. Config.IdentityScope = 'character' (der Standard) gibt jedem Charakter sein eigenes Handy. 'player' gibt ein Handy pro Account. Entscheide dich einmal: Eine Änderung auf einem laufenden Server lässt jedes bestehende Handy zurück.
Firmenverwaltung (Dienst, Personal, Einstellungen, das Firmenkonto in der Services-App) nutzt die Firmen in Config.Services in config/apps.lua. Wenn deine Job-Namen von den Standards abweichen (police, ambulance, mechanic, taxi, fire ...), füg deine zur job-Liste dieser Firma hinzu. Um die Chef-Ränge selbst festzulegen, füg der Firma bossGrade = <n> hinzu.
ESX Legacy
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: Mit dem Standard-Inventar von ESX gibt es nichts zu tun. Das Handy fügt seine Items beim Start in die ESX-Tabelle
itemsein, und die Konsole sagt, welche es hinzugefügt hat.config/items/esx.sqlliegt bei, falls du sie lieber selbst hinzufügst. Mit einem anderen Inventar siehe Abschnitt 4. - Geld: Die Bank ist das ESX-Konto
bank, Bargeld ist das Kontomoney. - Charakter: Das Handy folgt dem Spieler-
identifiervon ESX, also funktioniert esx_multicharacter. - Chef: Der Rang namens
bossverwaltet die Firma, sofern du nichtbossGradesetzt. - Firmenkonten: esx_addonaccount / esx_society oder ein Banking-Script aus Abschnitt 7.
QBCore
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: nichts einzufügen. Das Handy fügt die benötigten Items beim Start in die Shared Items von QBCore ein, und die Konsole sagt, welche es hinzugefügt hat. Kopier die Bilder aus
config/items/images/nachqb-inventory/html/images/; der Start-Check nennt alle, die fehlen. - Geld:
bankundcash. - Charakter: die
citizenid, also funktioniert qb-multicharacter. - Chef: Ränge mit
isboss = truein deinen Jobs, sofern du nichtbossGradesetzt. - Firmenkonten: Renewed-Banking, qb-banking oder das ältere qb-management.
- Multijob: Wenn ps-multijob läuft, erscheinen die anderen Jobs des Spielers in Services, und ein Tippen macht einen Job aktiv.
Qbox
ensure oxmysql
ensure qbx_core
ensure ox_inventory
# ... your other Qbox scripts, in Qbox's own order ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: Qbox nutzt ox_inventory, das keine Items von einem anderen Script übernehmen kann. Starte den Server einmal: Der Start-Check gibt die fehlenden Einträge aus, bereit zum Einfügen in
ox_inventory/data/items.lua(Abschnitt 4). Bilder kommen nachox_inventory/web/images/. - Geld:
bankundcash, über qbx_core. - Charakter: die
citizenid. - Chef: Ränge mit
isboss = true, sofern du nichtbossGradesetzt. - Multijob: eingebaut. Die anderen Jobs eines Spielers erscheinen in Services.
- qbx_core antwortet auch als
qb-core. Das ist normal: Das Handy behandelt beide als ein Framework.
ox_core
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: Starte den Server einmal: Der Start-Check gibt die fehlenden Einträge aus, bereit zum Einfügen in
ox_inventory/data/items.lua(Abschnitt 4). Bilder kommen nachox_inventory/web/images/. - Geld: Die Bank ist das ox_core-Konto des Charakters. Bargeld ist das Item
moneyin ox_inventory. - Charakter: die
charId. - Jobs: ox_core-Gruppen haben kein Dienst-Flag, also führt das Handy den Dienststatus selbst. Firmenverwaltung (Personal, Einstellungen, Ränge) und Valet sind auf ox_core nicht verfügbar.
ND Core
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Wird von selbst erkannt, wenn
ND_Coregestartet ist. Zum Erzwingen:setr phone_framework nd. - Items: ND nutzt ox_inventory. Starte den Server einmal: Der Start-Check gibt die fehlenden Einträge aus, bereit zum Einfügen in
ox_inventory/data/items.lua(Abschnitt 4). - Geld: die ND-
bankdes Charakters und ND-cash(ox_inventory hält das Itemmoneysynchron). - Charakter: die Charakter-ID von ND. Die angezeigte Telefonnummer ist die von ND, wenn der Charakter eine hat.
- Jobs: der ND-Job und -Rang des Charakters. ND hat kein Dienst-Flag, also gelten alle als im Dienst. Firmenverwaltung, Firmenkonten und Valet sind auf ND Core nicht verfügbar.
- Garage: Eigene Autos kommen aus der ND-Tabelle
nd_vehicles.
vRP
Nur vRP 2 wird unterstützt (nicht vRP 1 oder Community-Forks). Das Handy lädt eine kleine Erweiterung aus bridge/frameworks/vrp/ in vRP. Nichts zu kopieren.
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: Es gibt keine Item-Datei für vRP, und vRP 2 kann Items für das Handy nicht benutzbar machen. Lass
Config.Item.required = false(der Standard) und setzConfig.Store.box = false, damit der Laden Handys direkt übergibt. Spieler nutzen die Lade-Items mit/phonepackund/phonecable; mit einem vRP-Inventar muss der Spieler dafürpulse_magpackundpulse_cabledabeihaben, füg also beide Items zu deiner vRP-Item-Liste hinzu oder setzConfig.Charging.enabled = false. - Geld: Bank und Wallet von vRP.
- Charakter: die Charakter-ID von vRP.
- Jobs: Firmenverwaltung und Valet sind auf vRP nicht verfügbar. Die Garage-App bleibt leer, solange du kein Garagen-Script anbindest.
TMC
TMC ist eingebaut. Das Handy erkennt TMCs core von selbst: keine zusätzliche Resource und keine Änderung an config/config.lua (auto, tmc und custom funktionieren alle).
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phoneDer Start-Check zeigt Framework: TMC.
- Items: Füg die Pulse-Items so zur Item-Liste von TMC hinzu, wie du jedes andere Item hinzufügst. Die Namen sind
phone,pulse_magpack,pulse_magpack_max,pulse_cable,pulse_router,pulse_burner,pulse_buds,pulse_ringlight,pulse_wallet(config/items/tmc.luaenthält die Einträge) und für die Boxen des Ladenspulse_phone_boxplus eine pro Finish (pulse_phone_box_black...). Labels, Gewichte und Beschreibungen stehen inconfig/items/qb-core.lua, die Bilder inconfig/items/images/. Ein Item, das nicht in der Liste steht, wird abgelehnt, und der Spieler sieht "inventory full": Die Konsole nennt dann das Item. Ein Box-Item, das in der Liste fehlt, stoppt den Verkauf nicht: Der Laden übergibt das Handy dann ohne Box und sagt das in der Konsole. Wenn du überhaupt keine Boxen willst, setzConfig.Store.box = false. - Geld: das Bargeld des Charakters und seine Bank: TMCs Resource
banking, wenn sie läuft (sein eigenes persönliches Konto), sonst das Bankgeld des Cores. Wenn deine Kontonummern nicht wieBNK123456aufgebaut sind, nenne inconfig/config.luadas Feld, das die Kontonummer enthält:Config.Providers.tmcBankAccount = 'charinfo.account'(nutze dein eigenes Feld). Wallet zeigt einen Strich, nie eine ausgedachte Zahl, wenn die Bank nicht gelesen werden kann. - Charakter: die Citizen-ID von TMC.
- Jobs: der Job im Dienst (oder der erste), mit Rang und Dienststatus.
- Hattest du den temporären Connector
pulse_tmc? Entferneensure pulse_tmcund lösch diesen Ordner. Die Konsole erinnert dich daran, solange er noch läuft.
Standalone (kein Framework)
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone- Items: keine nötig. Jeder Spieler hat ein Handy, ein Reserve und ein Kabel.
- Geld: Das Handy hat seine eigene Bank. Ein neuer Spieler startet mit 5000 (
startingBalanceinconfig/apps.lua). - Charakter: die Rockstar-Lizenz des Spielers.
- Jobs, Autos und Häuser: Das Handy führt seine eigenen. Füll sie mit den Testbefehlen aus Abschnitt 9.
Eigenes oder selbst entwickeltes Framework
- Setz
Config.Framework = 'custom'inconfig/config.lua. - Gib dem Handy eine Bridge-Tabelle nach dem Muster von
optional-developer-kit/custom_framework_bridge.lua: entweder alsConfig.Providers.custominconfig/config.luaoder aus deiner eigenen Resource mitexports.phone:RegisterFrameworkBridge(MyBridge). - Nur
GetCharacterIdist Pflicht. Wenn du eine Funktion für Name, Job, Lizenz oder die Fahrzeug-/Hausliste weglässt, verhält sich das Handy so, als hätte dein Server diese Daten nicht. Wenn du eine Geld- oder Item-Funktion weglässt, wird diese Aktion abgelehnt: Das Handy zahlt nie aus einer eigenen Bank. Die Bank-App erscheint nur, wenn deine BridgeGetBankBalancehat. - Wenn dein Core neu startet, während das Handy weiterläuft, ruf
exports.phone:FrameworkRestarted()auf, sobald der Core bereit ist.
bridge/frameworks/custom.lua zeigt, wie das Handy deine Tabelle nutzt. Um andere selbst entwickelte Scripts anzubinden (ein Banking- oder Garagen-Script), siehe optional-developer-kit/custom_provider_template.lua und Exports. Die beiden Vorlagen liegen im optionalen Developer Kit, zerodevscripts.com/downloads/PulsePhone-developer-kit.zip, nicht im phone-Ordner.