Pulse Phone dokumentáció
Inventoryk
4. Tárgyak és inventoryk
Tárgyakra csak frameworkös szervereken van szükség. A fájlok a config/items/ mappában, a képek a config/items/images/ mappában vannak.
Amit a telefon magától elvégez. Induláskor kideríti, mely tárgyakra van szükségük a bekapcsolt funkcióidnak (lásd az alábbi táblázatot), majd:
| Az inventoryd | Mi történik |
|---|---|
| ESX az alapértelmezett inventoryjával | A hiányzó tárgyak bekerülnek az ESX items táblájába. A meglévő sorok sosem változnak. A konzol egy sorban kiírja, mit adott hozzá. Régebbi ESX-en, amely nem tudja újratölteni a tárgyait, indítsd újra egyszer a szervert. A config/items/esx.sql csak a kézi hozzáadáshoz kell. |
| QBCore qb-inventoryval (ps-, lj-inventory is) | A hiányzó tárgyak a szerver futása közben bekerülnek a QBCore shared itemjei közé. Egy tárgyat, ami a qb-core-ban már megvan, például a saját phone tárgyát, változatlanul hagy. A konzol egy sorban kiírja, mit adott hozzá. |
| ox_inventory (ESX, Qbox, ox_core) | Az ox_inventory csak a saját fájljából olvassa a tárgyakat. Az indítási ellenőrzés csak a hiányzó tárgyakat sorolja fel, és a doboz alatt kiírja a bejegyzéseiket, beillesztésre készen az ox_inventory/data/items.lua fájlba. |
| Bármely más inventory | Az indítási ellenőrzés megnevezi a hiányzó tárgyakat. Add hozzá őket úgy, ahogy az adott inventory a tárgyakat kezeli (lásd a "Teendők az inventorydhoz" alatti táblázatot). |
Fontos
A képeket soha nem másolja helyetted. Az indítási ellenőrzés megnevez minden hiányzó képet és a mappát, ahová kerül, például: copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.
Az indítási ellenőrzésben egy Items sor van: [OK], ha minden tárgy megvan, vagy [FAIL] a hiányzó nevekkel és alatta a javítással. A phone:health újra kiírja, miután javítottál valamit.
| Tárgy | Mikor van rá szükséged |
|---|---|
phone |
Csak Config.Item.required = true esetén (a játékosoknak telefont kell hordaniuk) vagy egyedi telefonoknál. |
pulse_phone_box |
Az üzlet lezárt dobozban árulja a telefonokat. Alapból bekapcsolva (Config.Store.box). |
pulse_magpack, pulse_magpack_max, pulse_cable |
A töltő kiegészítők. Alapból bekapcsolva (Config.Charging). |
pulse_router |
Pulse Home Wi-Fi, a router, amit a játékosok otthon helyeznek el. Alapból bekapcsolva (config/apps.lua). |
pulse_burner |
A Pulse Burner, egy feltöltőkártyás telefon saját számmal. Alapból bekapcsolva (config/apps.lua). |
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector |
Telefonvédelem: tokok, a vízálló tasak és a kijelzővédő. Alapból bekapcsolva (config/apps.lua). |
pulse_buds, pulse_ringlight, pulse_wallet |
Pulse Buds, a Pulse Ring Light és a Pulse Card Wallet. Alapból bekapcsolva (config/apps.lua). |
powerbank |
Opcionális. A régi powerbank tárgy; Reserve-ként működik. |
pulse_phone_box_<finish> |
Csak Config.Store.boxPerFinish = true esetén. |
radio (vagy bármilyen név) |
Csak ha beállítod a Config.Radio.item értéket (5. fejezet, Radio). Az ox_inventoryban és a qb-core-ban már van radio tárgy. |
Ha egy tárgy hiányzik, a telefon ettől még elindul. Az üzlet kikapcsolja a dobozokat, vagy leveszi az adott tárgyat a kínálatról, és a konzol megnevezi a hozzáadandó tárgyat.
A Reserve-ek halmozódnak. A teli csomagok nem hordoznak metaadatot, így legfeljebb 20 osztozik egy helyen. Egy részben lemerült, levett csomag külön tárgy lesz, a töltöttségével a metaadataiban (ox_inventory, qb-inventory és qs-inventory alatt), ezért szabad hely kell neki. Tárgymetaadat nélkül (standalone, az alapértelmezett ESX inventory) csak a használatban lévő csomagot követi, karakterenként és méretenként egyet.
Config.Item.required = true esetén (vagy egyedi telefonoknál) a szerver az inventorydon keresztül ellenőrzi a telefontárgyat, és elutasítja annak a játékosnak a telefonos kéréseit, akinél nincs. Ha a tárgy elvész, a játékos hívásai véget érnek, a segélyhívásokat is beleértve, és a telefon bezárul.
Lezárt doboz átadása valaki másnak. Az ox_inventory, a qb-inventory és a qs-inventory alatt maga a doboz tárgy hordozza a megvásárolt modellt és kivitelt, így aki kinyitja, azt a telefont kapja. Minden más inventorynál a doboz egyszerű tárgy, a modell és a kivitel pedig a vásárló saját vásárlási nyilvántartásában van: egy elajándékozott doboz az új tulajdonos saját következő vásárlásaként nyílik ki, vagy az alapértelmezett modellel és kivitellel. Config.Store.boxPerFinish = true esetén a doboz tárgy neve megőrzi a kivitelt, a modellt viszont nem.
A pontos beillesztendő szöveg az inventorydhoz
Soha nem kell magadnak kitalálnod egy tárgybejegyzést. Ha egy tárgy hiányzik, az indítási ellenőrzés a doboza alatt kiírja a pontos szöveget a te inventorydhoz, a Settings > Server > Health Check pedig ugyanezt a szöveget mutatja egy Copy gombbal. Illeszd be, indítsd újra az inventoryt és a telefont, majd futtasd újra a phone:health parancsot.
| Az inventoryd | Mit ír ki | Hová kerül |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core, ND Core) | ox_inventory bejegyzések | ox_inventory/data/items.lua, a táblázatán belül |
| QBCore (qb-, ps-, lj-inventory) | QBCore bejegyzések (csak ha a telefon nem tudta magától hozzáadni őket) | qb-core/shared/items.lua |
| qs-inventory | QBCore formátumú bejegyzések | A qs-inventory tárgylistája |
| ESX alapértelmezett inventory | Egy SQL sor (csak ha a telefon nem tudta magától hozzáadni őket) | Az adatbázis-eszközöd, utána újraindítás |
| TMC | TMC bejegyzések minden tárgyhoz, amire a telefonnak szüksége van (a TMC-től nem kérdezhető le, mi van meg neki) | A TMC tárgylistája (az a fájl, amelyben a sim_card van), a meglévőket megtartva |
| Bármely más inventory | QBCore formátumú bejegyzések, azt a formátumot a legtöbb inventory olvassa | Az adott inventory tárgylistája |
Így néz ki mindegyik a Reserve esetében:
-- 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." },-- ESX default inventory
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('pulse_magpack', 'Pulse Reserve', 1, 0, 1);Az ox_inventory saját phone tárgya. Az ox_inventory egy másik telefon scripthez készült phone bejegyzéssel érkezik. Nem kell módosítanod: használata a Pulse Phone-t nyitja meg. Az indítási ellenőrzésben van egy Phone item sor, amely megmondja, hogyan van bekötve a bejegyzésed. Csak akkor írja ki a helyettesítő bejegyzést, ha egy másik script exportját nevezi meg ([WARN], vagy kötelező vagy egyedi telefonok esetén [FAIL]). Ha az a telefon script, amelyhez a bejegyzés készült, még fut, a tárgy inkább azt nyitja meg: a Phone item sor megnevezi; töröld a server.cfg fájlból.
Teendők az inventorydhoz
| Inventory | Hová kerülnek a tárgyak | Hová kerülnek a képek |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core) | Illeszd be az indítási ellenőrzés által kiírt bejegyzéseket (vagy a teljes ox_inventory.lua fájlt) az ox_inventory/data/items.lua fájlba, a táblázatán belül. Tartsd meg az ox_inventory saját ['phone'] bejegyzését (a Pulse Phone-t nyitja meg); csak akkor cseréld le a kiírtra, ha a Phone item sor szerint egy másik scriptet nyit meg |
ox_inventory/web/images/ |
| qb-inventory | Semmit: induláskor hozzáadódnak. Ha inkább kézzel adnád hozzá, illeszd be a qb-core.lua tartalmát a qb-core/shared/items.lua fájlba |
qb-inventory/html/images/ |
| ps-inventory, lj-inventory | Semmit: induláskor hozzáadódnak, mint a qb-inventorynál | az inventoryd képmappája |
| qs-inventory | Illeszd be a qb-core.lua tartalmát a qb-core/shared/items.lua fájlba, vagy a qs-inventory saját tárgylistájába |
az inventoryd képmappája |
| codem-inventory, core_inventory, tgiann-inventory, origen_inventory | Add hozzá a tárgyakat a tárgylistájához úgy, ahogy bármely más tárgyat, a qb-core.lua neveit, feliratait és súlyait használva (phone, powerbank, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet, pulse_phone_box). A pulse_magpack.png képet használd a powerbank és a pulse_magpack_max tárgyhoz is |
az inventoryd képmappája |
| ak47_inventory | Add hozzá a tárgyakat, plusz az alábbi onUse sorokat |
az inventoryd képmappája |
| ESX alapértelmezett inventory | Semmit: induláskor hozzáadódnak. Az esx.sql a kézi megoldás |
nincs rá szükség |
| vRP 2 | Lásd a fenti vRP fejezetet | |
| Standalone | Semmit |
A táblázat többi inventoryjánál a telefon magától teszi használhatóvá a tárgyakat. Az ox_inventory a fájljában már meglévő client = { export = 'phone....' } sorokat használja.
ox_inventory: ha korábban másik telefont használtál, töröld annak Item('phone', ...) hookját is az ox_inventory/modules/items/client.lua fájlból.
Az ak47_inventory minden tárgy saját bejegyzésében tárolja a használatot. Add hozzá ezeket:
-- 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 },Az egyedi telefonok (Config.Item.unique = true) a telefonszámot a tárgyra teszik, így a tárgy átadásával a telefon is gazdát cserél. Ehhez ox_inventory, qb-inventory, qs-inventory, core_inventory vagy codem-inventory kell.