Documentația Pulse Phone

Framework-uri

Pentru Pulse Phone 1.4.28 min de cititActualizat

3. Pas cu pas pentru framework-ul tău

Telefonul îți găsește singur framework-ul: es_extended, qb-core, qbx_core, ox_core, ND_Core, vrp sau core de la TMC. Ai nevoie de Config.Framework în config/config.lua doar dacă rulează mai multe sau pentru un framework custom.

Framework-ul tău pe scurt

Framework Detectat prin Iteme Bancă și cash Bine de știut
ESX Legacy es_extended Pulse își adaugă singur itemele în tabelul items al ESX (inventarul implicit). Pe ox_inventory, lipește blocul afișat de verificarea de la pornire Conturile ESX Conturile firmelor prin scriptul tău de society
QBCore qb-core Pulse își adaugă singur itemele în shared items-ul QBCore (qb-, ps-, lj-inventory) Banii QBCore Gradele isboss conduc firma
Qbox qbx_core (substitutul lui qb-core contează ca Qbox, nu ca al doilea framework) Lipește blocul ox_inventory afișat Banii Qbox Folosește adaptorul Qbox, niciodată pe cel QBCore
ox_core ox_core Lipește blocul ox_inventory afișat Contul ox_core al personajului; cash-ul este money din ox_inventory Fără indicator de serviciu: toată lumea contează ca fiind în serviciu
ND Core ND_Core Lipește blocul ox_inventory afișat bank și cash din ND Fără indicator de serviciu; fără conturi de firmă
TMC resursa sa core, recunoscută după obiectul core propriu al TMC Fiecare item trebuie să fie în lista de iteme TMC: verificarea de la pornire le afișează Banii TMC Rulează prin bridge-ul custom, nimic de configurat
vRP 2 vrp Vezi secțiunea vRP Portofelul și banca vRP vRP 1 și fork-urile nu sunt suportate
Standalone nimic din cele de mai sus pornit Nu e nevoie Banca proprie a telefonului Pentru servere de test sau servere fără framework
Custom Config.Framework = 'custom' Prin bridge-ul tău Prin bridge-ul tău Vezi „Framework custom sau făcut intern”

Forțarea framework-ului

Majoritatea serverelor nu au nevoie niciodată de asta. Forțează framework-ul când linia de la pornire numește unul greșit sau când sunt instalate și pornite două core-uri de framework. Adaugă o linie în server.cfg:

server.cfg
setr phone_framework qb
Valoare 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 Fără framework: telefonul își păstrează propria identitate și bancă
custom Propriul tău bridge (vezi „Framework custom sau făcut intern” mai jos)
auto La fel ca dacă lipsește linia: decide Config.Framework
  • Are prioritate față de Config.Framework. Repornește telefonul după ce o schimbi.
  • Funcționează și numele resurselor: qbcore, qb-core, qbx_core, es_extended, ox_core. Un cuvânt pe care nu îl cunoaște este refuzat: verificarea de la pornire spune asta, iar funcțiile legate de bani rămân dezactivate.
  • qb pe un server care rulează qbx_core folosește adaptorul Qbox. Qbox răspunde și ca QBCore.
  • Dacă framework-ul pe care îl forțezi nu este pornit, telefoanele rămân pe ecranul „not ready” până când pornește. Telefonul nu trece niciodată singur pe alt framework.

Multicharacter funcționează pe orice framework. Config.IdentityScope = 'character' (implicit) îi dă fiecărui personaj propriul telefon. 'player' dă un singur telefon per cont. Alege o singură dată: dacă o schimbi pe un server live, toate telefoanele existente rămân în urmă.

Gestionarea firmelor (serviciu, personal, angajări, contul firmei în aplicația Services) folosește firmele din Config.Services din config/apps.lua. Dacă numele joburilor tale diferă de cele implicite (police, ambulance, mechanic, taxi, fire ...), adaugă-le pe ale tale în lista job a acelei firme. Ca să alegi singur gradele de boss, adaugă bossGrade = <n> la firmă.

ESX Legacy

server.cfg
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Iteme: cu inventarul implicit ESX nu ai nimic de făcut. Telefonul își adaugă itemele în tabelul items al ESX la pornire, iar consola spune pe care le-a adăugat. config/items/esx.sql există dacă preferi să le adaugi singur. Cu alt inventar, vezi secțiunea 4.
  • Bani: banca este contul ESX bank, cash-ul este contul money.
  • Personaj: telefonul urmează identifier-ul jucătorului din ESX, așa că esx_multicharacter funcționează.
  • Boss: gradul numit boss conduce firma, dacă nu setezi bossGrade.
  • Conturi de firmă: esx_addonaccount / esx_society sau un script de banking din secțiunea 7.

QBCore

server.cfg
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Iteme: nimic de lipit. Telefonul adaugă itemele de care are nevoie în shared items-ul QBCore la pornire, iar consola spune pe care le-a adăugat. Copiază imaginile din config/items/images/ în qb-inventory/html/images/; verificarea de la pornire le numește pe cele care lipsesc.
  • Bani: bank și cash.
  • Personaj: citizenid, așa că qb-multicharacter funcționează.
  • Boss: gradele cu isboss = true din joburile tale, dacă nu setezi bossGrade.
  • Conturi de firmă: Renewed-Banking, qb-banking sau mai vechiul qb-management.
  • Multijob: cu ps-multijob pornit, celelalte joburi ale jucătorului apar în Services, iar o singură atingere face un job activ.

Qbox

server.cfg
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
  • Iteme: Qbox folosește ox_inventory, care nu poate primi iteme de la alt script. Pornește serverul o dată: verificarea de la pornire afișează intrările care lipsesc, gata de lipit în ox_inventory/data/items.lua (secțiunea 4). Imaginile merg în ox_inventory/web/images/.
  • Bani: bank și cash, prin qbx_core.
  • Personaj: citizenid.
  • Boss: gradele cu isboss = true, dacă nu setezi bossGrade.
  • Multijob: integrat. Celelalte joburi ale unui jucător apar în Services.
  • qbx_core răspunde și ca qb-core. E normal: telefonul le tratează pe cele două ca pe un singur framework.

ox_core

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Iteme: pornește serverul o dată: verificarea de la pornire afișează intrările care lipsesc, gata de lipit în ox_inventory/data/items.lua (secțiunea 4). Imaginile merg în ox_inventory/web/images/.
  • Bani: banca este contul ox_core al personajului. Cash-ul este itemul money din ox_inventory.
  • Personaj: charId.
  • Joburi: grupurile ox_core nu au indicator de serviciu, așa că telefonul ține singur evidența serviciului. Gestionarea firmelor (personal, angajări, grade) și valet nu sunt disponibile pe ox_core.

ND Core

server.cfg
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Detectat automat când ND_Core este pornit. Ca să-l forțezi: setr phone_framework nd.
  • Iteme: ND folosește ox_inventory. Pornește serverul o dată: verificarea de la pornire afișează intrările care lipsesc, gata de lipit în ox_inventory/data/items.lua (secțiunea 4).
  • Bani: bank-ul ND al personajului și cash-ul ND (ox_inventory ține itemul money sincronizat).
  • Personaj: ID-ul de personaj din ND. Numărul de telefon afișat este cel din ND, când personajul are unul.
  • Joburi: jobul și rangul ND ale personajului. ND nu are indicator de serviciu, așa că toată lumea contează ca fiind în serviciu. Gestionarea firmelor, conturile de firmă și valet nu sunt disponibile pe ND Core.
  • Garaj: mașinile deținute vin din tabelul nd_vehicles al ND.

vRP

Este suportat doar vRP 2 (nu vRP 1 sau fork-urile comunității). Telefonul încarcă o mică extensie în vRP din bridge/frameworks/vrp/. Nimic de copiat.

server.cfg
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Iteme: nu există fișier de iteme pentru vRP, iar vRP 2 nu poate face iteme utilizabile pentru telefon. Păstrează Config.Item.required = false (implicit) și setează Config.Store.box = false, ca magazinul să predea telefoanele direct. Jucătorii folosesc itemele de încărcare cu /phonepack și /phonecable; cu un inventar vRP, acestea cer ca jucătorul să aibă la el pulse_magpack și pulse_cable, așa că adaugă ambele iteme în lista de iteme vRP sau setează Config.Charging.enabled = false.
  • Bani: banca și portofelul din vRP.
  • Personaj: ID-ul de personaj din vRP.
  • Joburi: gestionarea firmelor și valet nu sunt disponibile pe vRP. Aplicația Garage rămâne goală dacă nu conectezi un script de garaj.

TMC

TMC este integrat. Telefonul recunoaște singur core-ul TMC: fără resursă suplimentară și fără modificări în config/config.lua (auto, tmc și custom funcționează toate).

server.cfg
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone

Verificarea de la pornire afișează Framework: TMC.

  • Iteme: adaugă itemele Pulse în lista de iteme TMC la fel cum adaugi orice item. Numele sunt phone, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet (config/items/tmc.lua conține intrările) și, pentru cutiile din magazin, pulse_phone_box plus câte una pentru fiecare finisaj (pulse_phone_box_black ...). Etichetele, greutățile și descrierile sunt în config/items/qb-core.lua, iar imaginile în config/items/images/. Un item care nu este în listă este refuzat, iar jucătorul vede „inventory full”: consola numește atunci itemul. Un item de cutie care lipsește din listă nu oprește vânzarea: magazinul predă telefonul fără cutie și semnalează asta în consolă. Dacă nu vrei deloc cutiile, setează Config.Store.box = false.
  • Bani: cash-ul personajului și banca lui: resursa banking a TMC când rulează (contul personal propriu), altfel banii din bancă ai core-ului. Dacă numerele de cont nu arată ca BNK123456, numește câmpul care conține numărul de cont în config/config.lua: Config.Providers.tmcBankAccount = 'charinfo.account' (folosește propriul câmp). Wallet afișează o liniuță, niciodată o sumă inventată, când banca nu poate fi citită.
  • Personaj: citizen id-ul din TMC.
  • Joburi: jobul în serviciu (sau primul), cu gradul și starea de serviciu.
  • Aveai conectorul temporar pulse_tmc? Scoate ensure pulse_tmc și șterge acel folder. Consola îți amintește cât timp încă rulează.

Standalone (fără framework)

server.cfg
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Iteme: nu e nevoie. Fiecare jucător are un telefon, un Reserve și un cablu.
  • Bani: telefonul are propria bancă. Un jucător nou pornește cu 5000 (startingBalance în config/apps.lua).
  • Personaj: licența Rockstar a jucătorului.
  • Joburi, mașini și locuințe: telefonul le ține pe ale lui. Le completezi cu comenzile de test din secțiunea 9.

Framework custom sau făcut intern

  1. Setează Config.Framework = 'custom' în config/config.lua.
  2. Dă-i telefonului un tabel de bridge structurat ca optional-developer-kit/custom_framework_bridge.lua: fie ca Config.Providers.custom în config/config.lua, fie din propria ta resursă, cu exports.phone:RegisterFrameworkBridge(MyBridge).
  3. Doar GetCharacterId este obligatoriu. Dacă lași deoparte o funcție de nume, job, licență sau listă de vehicule/locuințe, telefonul se comportă ca și cum serverul tău nu ar avea astfel de date. Dacă lași deoparte o funcție de bani sau de iteme, acea acțiune este refuzată: telefonul nu plătește niciodată dintr-o bancă proprie. Aplicația Bank apare doar când bridge-ul tău are GetBankBalance.
  4. Dacă core-ul tău se repornește în timp ce telefonul continuă să ruleze, apelează exports.phone:FrameworkRestarted() după ce core-ul este gata.

bridge/frameworks/custom.lua arată cum folosește telefonul tabelul tău. Ca să conectezi alte scripturi făcute intern (un script de banking sau de garaj), vezi optional-developer-kit/custom_provider_template.lua și Exporturi. Cele două șabloane vin în kitul opțional pentru dezvoltatori, zerodevscripts.com/downloads/PulsePhone-developer-kit.zip, nu în folderul phone.

Tradus din engleză. Dacă ceva de aici nu se potrivește cu pagina în engleză, pagina în engleză are dreptate. English