Dokumentace Pulse Phone
Inventáře
4. Předměty a inventáře
Předměty jsou potřeba jen na serverech s frameworkem. Soubory jsou v config/items/ a obrázky v config/items/images/.
Co telefon udělá sám. Při startu zjistí, které předměty potřebují funkce, které máte zapnuté (tabulka níže), a pak:
| Váš inventář | Co se stane |
|---|---|
| ESX s výchozím inventářem | Chybějící předměty se přidají do tabulky items v ESX. Existující řádky se nikdy nemění. Konzole vypíše jeden řádek s tím, co přidala. Na starším ESX, které neumí znovu načíst předměty, restartujte server jednou. config/items/esx.sql je jen pro ruční přidání. |
| QBCore s qb-inventory (i ps-, lj-inventory) | Chybějící předměty se za běhu serveru přidají do sdílených předmětů QBCore. Předmět, který qb-core už má, například svůj vlastní phone, zůstane, jak je. Konzole vypíše jeden řádek s tím, co přidala. |
| ox_inventory (ESX, Qbox, ox_core) | ox_inventory čte předměty jen ze svého vlastního souboru. Kontrola při startu uvede jen chybějící předměty a pod rámečkem vypíše jejich záznamy, připravené ke vložení do ox_inventory/data/items.lua. |
| Jakýkoli jiný inventář | Kontrola při startu uvede chybějící předměty. Přidejte je tak, jak daný inventář předměty přidává (tabulka pod „Co udělat pro váš inventář“). |
Důležité
Obrázky se za vás nikdy nekopírují. Kontrola při startu uvede každý chybějící obrázek a složku, do které patří, například copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.
Kontrola při startu má jeden řádek Items: [OK], když jsou všechny předměty na místě, nebo [FAIL] s chybějícími názvy a řešením pod ním. phone:health ho vypíše znovu, když něco opravíte.
| Předmět | Potřebujete ho, když |
|---|---|
phone |
Jen s Config.Item.required = true (hráči musí nosit telefon) nebo s unikátními telefony. |
pulse_phone_box |
Obchod prodává telefony v zapečetěné krabici. Ve výchozím stavu zapnuto (Config.Store.box). |
pulse_magpack, pulse_magpack_max, pulse_cable |
Nabíjecí příslušenství. Ve výchozím stavu zapnuto (Config.Charging). |
pulse_router |
Pulse Home Wi-Fi, router, který hráči umisťují doma. Ve výchozím stavu zapnuto (config/apps.lua). |
pulse_burner |
Pulse Burner, předplacený telefon s vlastním číslem. Ve výchozím stavu zapnuto (config/apps.lua). |
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector |
Ochrana telefonu: obaly, voděodolné pouzdro a ochranné sklo. Ve výchozím stavu zapnuto (config/apps.lua). |
pulse_buds, pulse_ringlight, pulse_wallet |
Pulse Buds, Pulse Ring Light a Pulse Card Wallet. Ve výchozím stavu zapnuto (config/apps.lua). |
powerbank |
Volitelné. Starý předmět powerbanky; funguje jako Reserve. |
pulse_phone_box_<finish> |
Jen s Config.Store.boxPerFinish = true. |
radio (nebo jakýkoli název) |
Jen když nastavíte Config.Radio.item (sekce 5, Radio). ox_inventory a qb-core už předmět radio mají. |
Pokud předmět chybí, telefon se přesto spustí. Obchod vypne krabice nebo daný předmět stáhne z prodeje a konzole uvede předmět, který je potřeba přidat.
Reserve se stackují. Plné powerbanky nenesou metadata, takže až 20 jich sdílí jeden slot. Částečně vybitá powerbanka sundaná z telefonu se stane samostatným předmětem s nabitím v metadatech (na ox_inventory, qb-inventory a qs-inventory), takže potřebuje volný slot. Bez metadat předmětů (standalone, výchozí inventář ESX) se sleduje jen používaná powerbanka, jedna na postavu a velikost.
S Config.Item.required = true (nebo s unikátními telefony) server ověřuje předmět telefonu přes váš inventář a odmítá požadavky telefonu od hráče, který ho nemá. Ztráta předmětu ukončí hovory tohoto hráče, včetně tísňových, a zavře telefon.
Předání zapečetěné krabice někomu jinému. Na ox_inventory, qb-inventory a qs-inventory nese samotný předmět krabice model a povrchovou úpravu, které byly zakoupeny, takže kdo ji otevře, dostane ten telefon. Na všech ostatních inventářích je krabice obyčejný předmět a model s povrchovou úpravou jsou uložené v nákupním záznamu kupujícího: darovaná krabice se otevře jako příští nákup nového majitele, nebo jako výchozí model a povrchová úprava. S Config.Store.boxPerFinish = true si název předmětu krabice ponechá povrchovou úpravu, ale ne model.
Přesný text ke vložení pro váš inventář
Záznam předmětu nikdy nemusíte sestavovat sami. Když předmět chybí, kontrola při startu vypíše pod rámečkem přesný text pro váš inventář a Settings > Server > Health Check ukáže stejný text s tlačítkem Copy. Vložte ho, restartujte inventář a telefon a znovu spusťte phone:health.
| Váš inventář | Co se vypíše | Kam to patří |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core, ND Core) | Záznamy pro ox_inventory | ox_inventory/data/items.lua, dovnitř jeho tabulky |
| QBCore (qb-, ps-, lj-inventory) | Záznamy pro QBCore (jen pokud je telefon nedokázal přidat sám) | qb-core/shared/items.lua |
| qs-inventory | Záznamy ve tvaru QBCore | Seznam předmětů qs-inventory |
| Výchozí inventář ESX | Jeden řádek SQL (jen pokud je telefon nedokázal přidat sám) | Váš databázový nástroj, pak restart |
| TMC | Záznamy TMC pro každý předmět, který telefon potřebuje (TMC se nedá zeptat, které má) | Seznam předmětů TMC (soubor se sim_card), s ponecháním těch, které už máte |
| Jakýkoli jiný inventář | Záznamy ve tvaru QBCore, tvar, který čte většina inventářů | Seznam předmětů daného inventáře |
Jak každý vypadá, pro Reserve:
-- 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);Vlastní předmět phone v ox_inventory. ox_inventory obsahuje záznam phone vytvořený pro jiný telefonní script. Nemusíte ho měnit: jeho použití otevře Pulse Phone. Kontrola při startu má řádek Phone item, který říká, jak je váš záznam napojený. Náhradní záznam vypíše, jen když uvádí export jiného scriptu ([WARN], nebo [FAIL] s povinnými či unikátními telefony). Pokud telefonní script, pro který byl záznam vytvořen, stále běží, předmět otevře místo toho ten: řádek Phone item ho uvede; odstraňte ho ze server.cfg.
Co udělat pro váš inventář
| Inventář | Kam patří předměty | Kam patří obrázky |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core) | Vložte záznamy, které vypíše kontrola při startu (nebo celý ox_inventory.lua), do ox_inventory/data/items.lua, dovnitř jeho tabulky. Vlastní záznam ['phone'] v ox_inventory ponechte (otevírá Pulse Phone); vypsaným ho nahraďte jen tehdy, když řádek Phone item říká, že otevírá jiný script |
ox_inventory/web/images/ |
| qb-inventory | Nic: přidá se při startu. Pokud je chcete přidat ručně, vložte qb-core.lua do qb-core/shared/items.lua |
qb-inventory/html/images/ |
| ps-inventory, lj-inventory | Nic: přidá se při startu, stejně jako u qb-inventory | složka obrázků vašeho inventáře |
| qs-inventory | Vložte qb-core.lua do qb-core/shared/items.lua, nebo do vlastního seznamu předmětů qs-inventory |
složka obrázků vašeho inventáře |
| codem-inventory, core_inventory, tgiann-inventory, origen_inventory | Přidejte předměty do jeho seznamu předmětů tak, jak přidáváte jakýkoli předmět, s názvy, popisky a váhami z 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). Použijte pulse_magpack.png také pro powerbank a pulse_magpack_max |
složka obrázků vašeho inventáře |
| ak47_inventory | Přidejte předměty a k tomu řádky onUse níže |
složka obrázků vašeho inventáře |
| Výchozí inventář ESX | Nic: přidá se při startu. esx.sql je ruční cesta |
není potřeba |
| vRP 2 | Viz sekci vRP výše | |
| Standalone | Nic |
U ostatních inventářů v této tabulce telefon udělá předměty použitelnými sám. ox_inventory používá řádky client = { export = 'phone....' }, které už jsou v jeho souboru.
ox_inventory: pokud jste dříve používali jiný telefon, odstraňte také jeho hook Item('phone', ...) z ox_inventory/modules/items/client.lua.
ak47_inventory má použití předmětu v záznamu každého předmětu. Přidejte tyto:
-- 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 },Unikátní telefony (Config.Item.unique = true) ukládají telefonní číslo na předmět, takže předáním předmětu předáte telefon. Vyžadují ox_inventory, qb-inventory, qs-inventory, core_inventory nebo codem-inventory.