Docs van Pulse Phone

Inventories

Voor Pulse Phone 1.4.28 min lezenBijgewerkt

4. Items en inventories

Items zijn alleen nodig op servers met een framework. De bestanden staan in config/items/ en de afbeeldingen in config/items/images/.

Wat de telefoon zelf doet. Bij het opstarten bepaalt hij welke items de features die je hebt aangezet nodig hebben (de tabel hieronder), en dan:

Je inventory Wat er gebeurt
ESX met de standaard inventory De ontbrekende items worden toegevoegd aan de items-tabel van ESX. Bestaande rijen worden nooit aangepast. De console print één regel met wat er is toegevoegd. Op een oudere ESX die zijn items niet opnieuw kan laden, herstart je de server één keer. config/items/esx.sql is alleen om ze met de hand toe te voegen.
QBCore met qb-inventory (ook ps-, lj-inventory) De ontbrekende items worden toegevoegd aan de shared items van QBCore terwijl de server draait. Een item dat qb-core al heeft, zoals zijn eigen phone, blijft zoals het is. De console print één regel met wat er is toegevoegd.
ox_inventory (ESX, Qbox, ox_core) ox_inventory leest items alleen uit zijn eigen bestand. De opstartcontrole noemt alleen de ontbrekende items en print hun entries onder het kader, klaar om te plakken in ox_inventory/data/items.lua.
Elke andere inventory De opstartcontrole noemt de ontbrekende items. Voeg ze toe zoals die inventory items toevoegt (de tabel onder "Wat je moet doen voor jouw inventory").

Belangrijk

Afbeeldingen worden nooit voor je gekopieerd. De opstartcontrole noemt elke ontbrekende afbeelding en de map waar hij in moet, bijvoorbeeld copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

De opstartcontrole heeft één Items-regel: [OK] als elk item aanwezig is, of [FAIL] met de ontbrekende namen en de oplossing eronder. phone:health print hem opnieuw nadat je iets hebt opgelost.

Item Je hebt het nodig als
phone Alleen met Config.Item.required = true (spelers moeten een telefoon bij zich hebben) of unieke telefoons.
pulse_phone_box De winkel verkoopt telefoons in een verzegelde doos. Standaard aan (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable De laadaccessoires. Standaard aan (Config.Charging).
pulse_router Pulse Home Wi-Fi, de router die spelers thuis neerzetten. Standaard aan (config/apps.lua).
pulse_burner De Pulse Burner, een prepaid telefoon met een eigen nummer. Standaard aan (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Telefoonbescherming: hoesjes, de waterdichte pouch en de screenprotector. Standaard aan (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, de Pulse Ring Light en de Pulse Card Wallet. Standaard aan (config/apps.lua).
powerbank Optioneel. Het oude powerbank-item; het werkt als een Reserve.
pulse_phone_box_<finish> Alleen met Config.Store.boxPerFinish = true.
radio (of elke andere naam) Alleen als je Config.Radio.item instelt (sectie 5, Radio). ox_inventory en qb-core hebben al een radio-item.

Als een item ontbreekt, start de telefoon nog steeds. De winkel zet de dozen uit of haalt dat item uit de verkoop, en de console noemt het item dat je moet toevoegen.

Reserves stapelen. Volle packs hebben geen metadata, dus er passen er tot 20 in één slot. Een pack dat half gebruikt wordt afgehaald, wordt een eigen item met de lading in de metadata (op ox_inventory, qb-inventory en qs-inventory), dus het heeft een vrij slot nodig. Zonder itemmetadata (standalone, de standaard ESX-inventory) wordt alleen het pack in gebruik bijgehouden, één per personage per formaat.

Met Config.Item.required = true (of unieke telefoons) controleert de server het telefoonitem via je inventory en weigert hij telefoonverzoeken van een speler die het niet heeft. Raakt de speler het item kwijt, dan eindigen zijn gesprekken, noodoproepen inbegrepen, en sluit de telefoon.

Een verzegelde doos aan iemand anders geven. Op ox_inventory, qb-inventory en qs-inventory draagt het doositem zelf het model en de afwerking die gekocht zijn, dus wie hem opent krijgt die telefoon. Op elke andere inventory is de doos een gewoon item en staan het model en de afwerking in het eigen aankoopregister van de koper: een weggegeven doos opent als de volgende eigen aankoop van de nieuwe eigenaar, of als het standaardmodel met de standaardafwerking. Met Config.Store.boxPerFinish = true houdt de naam van het doositem de afwerking vast, maar niet het model.

De exacte tekst om te plakken, voor jouw inventory

Je hoeft nooit zelf een item-entry uit te zoeken. Als er een item ontbreekt, print de opstartcontrole de exacte tekst voor jouw inventory onder het kader, en Settings > Server > Health Check toont dezelfde tekst met een Kopieer-knop. Plak hem, herstart de inventory en de telefoon, en draai phone:health opnieuw.

Je inventory Wat er geprint wordt Waar het heen moet
ox_inventory (ESX, Qbox, ox_core, ND Core) ox_inventory-entries ox_inventory/data/items.lua, binnen de tabel
QBCore (qb-, ps-, lj-inventory) QBCore-entries (alleen als de telefoon ze niet zelf kon toevoegen) qb-core/shared/items.lua
qs-inventory Entries in QBCore-vorm De itemlijst van qs-inventory
Standaard ESX-inventory Eén SQL-regel (alleen als de telefoon ze niet zelf kon toevoegen) Je databasetool, daarna herstarten
TMC TMC-entries voor elk item dat de telefoon nodig heeft (je kunt TMC niet vragen welke het heeft) De itemlijst van TMC (het bestand met sim_card), met behoud van de items die je al hebt
Elke andere inventory Entries in QBCore-vorm, de vorm die de meeste inventories lezen De itemlijst van die inventory

Hoe elk eruitziet, voor de 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);

Het eigen phone-item van ox_inventory. ox_inventory levert een phone-entry mee die voor een ander telefoonscript is gemaakt. Je hoeft hem niet aan te passen: als je hem gebruikt, opent Pulse Phone. De opstartcontrole heeft een regel Phone item die zegt hoe je entry is aangesloten. Alleen als die de export van een ander script noemt ([WARN], of [FAIL] met verplichte of unieke telefoons), print hij de vervangende entry. Draait het telefoonscript waarvoor die entry gemaakt is nog, dan opent het item dat script in plaats daarvan: de regel Phone item noemt het; haal het uit server.cfg.

Wat je moet doen voor jouw inventory

Inventory Waar de items heen gaan Waar de afbeeldingen heen gaan
ox_inventory (ESX, Qbox, ox_core) Plak de entries die de opstartcontrole print (of de hele ox_inventory.lua) in ox_inventory/data/items.lua, binnen de tabel. Houd de eigen ['phone']-entry van ox_inventory (die opent Pulse Phone); vervang hem alleen door de geprinte als de regel Phone item zegt dat hij een ander script opent ox_inventory/web/images/
qb-inventory Niets: toegevoegd bij het opstarten. Wil je ze liever met de hand toevoegen, plak dan qb-core.lua in qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Niets: toegevoegd bij het opstarten, net als bij qb-inventory de afbeeldingenmap van je inventory
qs-inventory Plak qb-core.lua in qb-core/shared/items.lua, of in de eigen itemlijst van qs-inventory de afbeeldingenmap van je inventory
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Voeg de items toe aan de itemlijst zoals je elk item toevoegt, met de namen, labels en gewichten uit 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). Gebruik pulse_magpack.png ook voor powerbank en pulse_magpack_max de afbeeldingenmap van je inventory
ak47_inventory Voeg de items toe, plus de onUse-regels hieronder de afbeeldingenmap van je inventory
Standaard ESX-inventory Niets: toegevoegd bij het opstarten. esx.sql is de manier om het met de hand te doen niet nodig
vRP 2 Zie de sectie over vRP hierboven
Standalone Niets

Voor de andere inventories in deze tabel maakt de telefoon de items zelf bruikbaar. ox_inventory gebruikt de regels client = { export = 'phone....' } die al in het bestand staan.

ox_inventory: gebruikte je eerder een andere telefoon, verwijder dan ook de Item('phone', ...)-hook ervan uit ox_inventory/modules/items/client.lua.

ak47_inventory houdt het gebruik van items bij in de eigen entry van elk item. Voeg deze toe:

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 },

Unieke telefoons (Config.Item.unique = true) zetten het telefoonnummer op het item, dus wie het item overdraagt, draagt de telefoon over. Ze vereisen ox_inventory, qb-inventory, qs-inventory, core_inventory of codem-inventory.

Vertaald uit het Engels. Als iets hier afwijkt van de Engelse pagina, dan heeft de Engelse pagina gelijk. English