Documentația Pulse Phone

Inventare

Pentru Pulse Phone 1.4.28 min de cititActualizat

4. Iteme și inventare

Itemele sunt necesare doar pe serverele cu framework. Fișierele sunt în config/items/, iar imaginile în config/items/images/.

Ce face telefonul singur. La pornire, stabilește de ce iteme au nevoie funcțiile pe care le-ai activat (tabelul de mai jos), apoi:

Inventarul tău Ce se întâmplă
ESX cu inventarul implicit Itemele lipsă sunt adăugate în tabelul items al ESX. Rândurile existente nu sunt modificate niciodată. Consola afișează o linie cu ce a adăugat. Pe un ESX mai vechi, care nu își poate reîncărca itemele, repornește serverul o dată. config/items/esx.sql este doar pentru adăugarea manuală.
QBCore cu qb-inventory (și ps-, lj-inventory) Itemele lipsă sunt adăugate în shared items-ul QBCore cât timp rulează serverul. Un item pe care qb-core îl are deja, cum ar fi propriul phone, este lăsat așa cum este. Consola afișează o linie cu ce a adăugat.
ox_inventory (ESX, Qbox, ox_core) ox_inventory citește itemele doar din propriul fișier. Verificarea de la pornire listează doar itemele lipsă și afișează intrările lor sub casetă, gata de lipit în ox_inventory/data/items.lua.
Orice alt inventar Verificarea de la pornire numește itemele lipsă. Adaugă-le așa cum adaugă itemele acel inventar (tabelul de la „Ce ai de făcut pentru inventarul tău”).

Important

Imaginile nu sunt niciodată copiate în locul tău. Verificarea de la pornire numește fiecare imagine lipsă și folderul în care trebuie pusă, de exemplu copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

Verificarea de la pornire are o linie Items: [OK] când toate itemele există sau [FAIL] cu numele celor lipsă și soluția dedesubt. phone:health o afișează din nou după ce repari ceva.

Item Ai nevoie de el când
phone Doar cu Config.Item.required = true (jucătorii trebuie să aibă un telefon la ei) sau cu telefoane unice.
pulse_phone_box Magazinul vinde telefoanele într-o cutie sigilată. Activat implicit (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Accesoriile de încărcare. Activate implicit (Config.Charging).
pulse_router Pulse Home Wi-Fi, routerul pe care jucătorii îl pun acasă. Activat implicit (config/apps.lua).
pulse_burner Pulse Burner, un telefon preplătit cu număr propriu. Activat implicit (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Protecția telefonului: huse, săculețul impermeabil și folia de protecție. Activată implicit (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, Pulse Ring Light și Pulse Card Wallet. Activate implicit (config/apps.lua).
powerbank Opțional. Vechiul item de baterie externă; funcționează ca un Reserve.
pulse_phone_box_<finish> Doar cu Config.Store.boxPerFinish = true.
radio (sau orice nume) Doar când setezi Config.Radio.item (secțiunea 5, Radio). ox_inventory și qb-core au deja un item radio.

Dacă lipsește un item, telefonul pornește totuși. Magazinul dezactivează cutiile sau scoate acel item de la vânzare, iar consola numește itemul de adăugat.

Reserve-urile se stivuiesc. Pachetele pline nu au metadata, așa că până la 20 stau în același slot. Un pachet scos parțial descărcat devine un item separat, cu încărcarea în metadata lui (pe ox_inventory, qb-inventory și qs-inventory), așa că are nevoie de un slot liber. Fără metadata pe iteme (standalone, inventarul implicit ESX) este urmărit doar pachetul în uz, câte unul per personaj pentru fiecare mărime.

Cu Config.Item.required = true (sau cu telefoane unice), serverul verifică itemul de telefon prin inventarul tău și refuză cererile de telefon de la un jucător care nu îl are. Pierderea itemului încheie apelurile acelui jucător, inclusiv apelurile de urgență, și închide telefonul.

Când dai o cutie sigilată altcuiva. Pe ox_inventory, qb-inventory și qs-inventory, itemul cutiei păstrează modelul și finisajul cumpărate, așa că oricine o deschide primește acel telefon. Pe orice alt inventar, cutia este un item simplu, iar modelul și finisajul sunt păstrate în înregistrarea de cumpărare a cumpărătorului: o cutie dată altcuiva se deschide ca următoarea achiziție a noului proprietar sau cu modelul și finisajul implicite. Cu Config.Store.boxPerFinish = true, numele itemului cutiei păstrează finisajul, dar nu și modelul.

Textul exact de lipit, pentru inventarul tău

Nu trebuie niciodată să scrii singur o intrare de item. Când lipsește un item, verificarea de la pornire afișează textul exact pentru inventarul tău sub casetă, iar Settings > Server > Health Check arată același text cu un buton Copy. Lipește-l, repornește inventarul și telefonul și rulează din nou phone:health.

Inventarul tău Ce se afișează Unde se pune
ox_inventory (ESX, Qbox, ox_core, ND Core) Intrări ox_inventory ox_inventory/data/items.lua, în interiorul tabelului
QBCore (qb-, ps-, lj-inventory) Intrări QBCore (doar dacă telefonul nu le-a putut adăuga singur) qb-core/shared/items.lua
qs-inventory Intrări în formatul QBCore Lista de iteme a qs-inventory
Inventarul implicit ESX O linie SQL (doar dacă telefonul nu le-a putut adăuga singur) Unealta ta de baze de date, apoi restart
TMC Intrări TMC pentru fiecare item de care are nevoie telefonul (TMC nu poate fi întrebat pe care le are) Lista de iteme TMC (fișierul cu sim_card), păstrându-le pe cele pe care le ai deja
Orice alt inventar Intrări în formatul QBCore, formatul pe care îl citesc majoritatea inventarelor Lista de iteme a acelui inventar

Cum arată fiecare, pentru Reserve:

Lua
-- ox_inventory/data/items.lua
['pulse_magpack'] = { label = "Pulse Reserve", weight = 110, stack = true, close = true, consume = 0, description = "Magnetic battery pack. Fills 70% of a phone.", client = { export = "phone.usePack", image = "pulse_magpack.png" } },

-- qb-core/shared/items.lua, qs-inventory and similar
['pulse_magpack'] = { name = "pulse_magpack", label = "Pulse Reserve", weight = 110, type = 'item', image = "pulse_magpack.png", unique = false, useable = true, shouldClose = true, description = "Magnetic battery pack. Fills 70% of a phone." },

-- TMC
['pulse_magpack'] = { ['label'] = "Pulse Reserve", ['weight'] = 110, ['type'] = 'item', ['image'] = "pulse_magpack.png", ['unique'] = false, ['stackable'] = true, ['useable'] = true, ['shouldClose'] = true, ['description'] = "Magnetic battery pack. Fills 70% of a phone." },
SQL
-- ESX default inventory
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
  ('pulse_magpack', 'Pulse Reserve', 1, 0, 1);

Itemul phone propriu al ox_inventory. ox_inventory vine cu o intrare phone făcută pentru alt script de telefon. Nu trebuie s-o schimbi: folosirea ei deschide Pulse Phone. Verificarea de la pornire are o linie Phone item care spune cum este legată intrarea ta. Doar când numește exportul altui script ([WARN] sau [FAIL] cu telefoane obligatorii sau unice) afișează intrarea de înlocuire. Dacă scriptul de telefon pentru care a fost făcută intrarea încă rulează, itemul îl deschide pe acela în schimb: linia Phone item îl numește; scoate-l din server.cfg.

Ce ai de făcut pentru inventarul tău

Inventar Unde se pun itemele Unde se pun imaginile
ox_inventory (ESX, Qbox, ox_core) Lipește intrările afișate de verificarea de la pornire (sau tot ox_inventory.lua) în ox_inventory/data/items.lua, în interiorul tabelului. Păstrează intrarea ['phone'] proprie a ox_inventory (deschide Pulse Phone); înlocuiește-o cu cea afișată doar când linia Phone item spune că deschide alt script ox_inventory/web/images/
qb-inventory Nimic: adăugate la pornire. Ca să le adaugi manual, lipește qb-core.lua în qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Nimic: adăugate la pornire, ca la qb-inventory folderul de imagini al inventarului tău
qs-inventory Lipește qb-core.lua în qb-core/shared/items.lua sau în lista proprie de iteme a qs-inventory folderul de imagini al inventarului tău
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Adaugă itemele în lista lui de iteme la fel cum adaugi orice item, folosind numele, etichetele și greutățile din qb-core.lua (phone, powerbank, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet, pulse_phone_box). Folosește pulse_magpack.png și pentru powerbank și pulse_magpack_max folderul de imagini al inventarului tău
ak47_inventory Adaugă itemele, plus liniile onUse de mai jos folderul de imagini al inventarului tău
Inventarul implicit ESX Nimic: adăugate la pornire. esx.sql este varianta manuală nu e nevoie
vRP 2 Vezi secțiunea vRP de mai sus
Standalone Nimic

Pentru celelalte inventare din acest tabel, telefonul face singur itemele utilizabile. ox_inventory folosește liniile client = { export = 'phone....' } deja existente în fișierul lui.

ox_inventory: dacă ai folosit alt telefon înainte, scoate și hook-ul lui Item('phone', ...) din ox_inventory/modules/items/client.lua.

ak47_inventory păstrează folosirea itemului în intrarea proprie a fiecărui item. Adaugă acestea:

Lua
-- powerbank
server = { onUse = function(source) exports.phone:UsePowerbank(source) end },
-- pulse_magpack and pulse_magpack_max
server = { onUse = function(source, item) exports.phone:UseMagPack(source, item and item.slot, item and item.name) end },
-- pulse_cable
server = { onUse = function(source) exports.phone:UseChargingCable(source) end },
-- pulse_phone_box
server = { onUse = function(source, item) exports.phone:UseBox(source, item and item.slot) end },
-- pulse_router
server = { onUse = function(source) exports.phone:UseRouter(source) end },
-- pulse_burner
server = { onUse = function(source, item) exports.phone:UseBurner(source, item and item.slot) end },
-- pulse_case, pulse_case_clear, pulse_pouch, pulse_protector
server = { onUse = function(source, item) exports.phone:FitPhoneProtection(source, item and item.name) end },
-- pulse_buds
server = { onUse = function(source) exports.phone:UseBuds(source) end },
-- pulse_ringlight
server = { onUse = function(source) exports.phone:UseRingLight(source) end },
-- pulse_wallet
server = { onUse = function(source) exports.phone:UseCardWallet(source) end },

Telefoanele unice (Config.Item.unique = true) pun numărul de telefon pe item, așa că dacă dai itemul, dai telefonul. Au nevoie de ox_inventory, qb-inventory, qs-inventory, core_inventory sau codem-inventory.

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