Pulse Phone-dokumentation

Inventories

Til Pulse Phone 1.4.28 min. læsningOpdateret

4. Items og inventories

Items er kun nødvendige på servere med framework. Filerne ligger i config/items/ og billederne i config/items/images/.

Hvad telefonen gør af sig selv. Ved opstart finder den ud af, hvilke items de funktioner, du har slået til, kræver (tabellen nedenfor), og derefter:

Dit inventory Hvad der sker
ESX med standard-inventory De manglende items tilføjes til ESX' items-tabel. Eksisterende rækker ændres aldrig. Konsollen udskriver én linje, der nævner, hvad den tilføjede. På en ældre ESX, der ikke kan genindlæse sine items, skal du genstarte serveren én gang. config/items/esx.sql er kun til at tilføje dem i hånden.
QBCore med qb-inventory (også ps-, lj-inventory) De manglende items tilføjes til QBCore's shared items, mens serveren kører. Et item, som qb-core allerede har, såsom dets egen phone, lades være. Konsollen udskriver én linje, der nævner, hvad den tilføjede.
ox_inventory (ESX, Qbox, ox_core) ox_inventory læser kun items fra sin egen fil. Opstartstjekket viser kun de manglende items og udskriver deres indgange under boksen, klar til at indsætte i ox_inventory/data/items.lua.
Ethvert andet inventory Opstartstjekket nævner de manglende items. Tilføj dem på den måde, det inventory tilføjer items (tabellen under "Hvad du skal gøre for dit inventory").

Vigtigt

Billeder kopieres aldrig for dig. Opstartstjekket nævner hvert manglende billede og den mappe, det skal i, for eksempel copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

Opstartstjekket har én Items-linje: [OK], når alle items er der, eller [FAIL] med de manglende navne og løsningen nedenunder. phone:health udskriver den igen, når du har rettet noget.

Item Du skal bruge det, når
phone Kun med Config.Item.required = true (spillerne skal have en telefon på sig) eller unikke telefoner.
pulse_phone_box Butikken sælger telefoner i en forseglet æske. Slået til som standard (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Opladningstilbehøret. Slået til som standard (Config.Charging).
pulse_router Pulse Home Wi-Fi, routeren som spillerne placerer derhjemme. Slået til som standard (config/apps.lua).
pulse_burner Pulse Burner, en forudbetalt telefon med sit eget nummer. Slået til som standard (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Telefonbeskyttelse: covers, det vandtætte etui og skærmbeskyttelsen. Slået til som standard (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, Pulse Ring Light og Pulse Card Wallet. Slået til som standard (config/apps.lua).
powerbank Valgfrit. Det gamle powerbank-item; det virker som en Reserve.
pulse_phone_box_<finish> Kun med Config.Store.boxPerFinish = true.
radio (eller et hvilket som helst navn) Kun når du sætter Config.Radio.item (afsnit 5, Radio). ox_inventory og qb-core har allerede et radio-item.

Hvis et item mangler, starter telefonen stadig. Butikken slår æsker fra eller tager det item ud af salg, og konsollen nævner det item, der skal tilføjes.

Reserves stables. Fulde packs har ingen metadata, så op til 20 deler én plads. En pack, der tages af delvist brugt, bliver sit eget item med sin opladning i metadata (på ox_inventory, qb-inventory og qs-inventory), så den kræver en ledig plads. Uden item-metadata (standalone, ESX' standard-inventory) spores kun den pack, der er i brug, én pr. karakter pr. størrelse.

Med Config.Item.required = true (eller unikke telefoner) tjekker serveren telefon-item'et via dit inventory og afviser telefonforespørgsler fra en spiller uden det. Mister spilleren item'et, afsluttes spillerens opkald, også nødopkald, og telefonen lukkes.

At give en forseglet æske til en anden. På ox_inventory, qb-inventory og qs-inventory bærer æske-item'et selv den model og finish, der blev købt, så den, der åbner den, får den telefon. På alle andre inventories er æsken et almindeligt item, og modellen og finishen ligger i køberens egen købsregistrering: en æske, der gives væk, åbner som den nye ejers eget næste køb eller som standardmodellen og -finishen. Med Config.Store.boxPerFinish = true beholder æske-item'ets navn finishen, men ikke modellen.

Den præcise tekst at indsætte, til dit inventory

Du skal aldrig selv regne en item-indgang ud. Når et item mangler, udskriver opstartstjekket den præcise tekst til dit inventory under sin boks, og Settings > Server > Health Check viser den samme tekst med en Copy-knap. Indsæt den, genstart inventory og telefonen, og kør phone:health igen.

Dit inventory Hvad der udskrives Hvor det skal hen
ox_inventory (ESX, Qbox, ox_core, ND Core) ox_inventory-indgange ox_inventory/data/items.lua, inde i dens tabel
QBCore (qb-, ps-, lj-inventory) QBCore-indgange (kun hvis telefonen ikke selv kunne tilføje dem) qb-core/shared/items.lua
qs-inventory Indgange i QBCore-format qs-inventory's item-liste
ESX' standard-inventory Én SQL-linje (kun hvis telefonen ikke selv kunne tilføje dem) Dit databaseværktøj, og genstart derefter
TMC TMC-indgange for hvert item, telefonen skal bruge (TMC kan ikke spørges om, hvilke den har) TMC's item-liste (filen med sim_card), hvor du beholder dem, du allerede har
Ethvert andet inventory Indgange i QBCore-format, det format de fleste inventories læser Det inventorys item-liste

Hvordan hver ser ud, for 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);

ox_inventory's eget phone-item. ox_inventory leveres med en phone-indgang lavet til et andet telefonscript. Du behøver ikke ændre den: når den bruges, åbner den Pulse Phone. Opstartstjekket har en Phone item-linje, der fortæller, hvordan din indgang er koblet. Kun når den nævner et andet scripts export ([WARN], eller [FAIL] med påkrævede eller unikke telefoner), udskriver den erstatningsindgangen. Hvis det telefonscript, indgangen blev lavet til, stadig kører, åbner item'et i stedet det: Phone item-linjen nævner det; fjern det fra server.cfg.

Hvad du skal gøre for dit inventory

Inventory Hvor items skal hen Hvor billederne skal hen
ox_inventory (ESX, Qbox, ox_core) Indsæt de indgange, opstartstjekket udskriver (eller hele ox_inventory.lua), i ox_inventory/data/items.lua, inde i dens tabel. Behold ox_inventory's egen ['phone']-indgang (den åbner Pulse Phone); erstat den kun med den udskrevne, når Phone item-linjen siger, at den åbner et andet script ox_inventory/web/images/
qb-inventory Intet: tilføjes ved opstart. Vil du i stedet tilføje dem i hånden, så indsæt qb-core.lua i qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Intet: tilføjes ved opstart, som for qb-inventory dit inventorys billedmappe
qs-inventory Indsæt qb-core.lua i qb-core/shared/items.lua eller i qs-inventory's egen item-liste dit inventorys billedmappe
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Tilføj items til dets item-liste på samme måde, som du tilføjer ethvert item, med navne, etiketter og vægte fra 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). Brug pulse_magpack.png også til powerbank og pulse_magpack_max dit inventorys billedmappe
ak47_inventory Tilføj items plus onUse-linjerne nedenfor dit inventorys billedmappe
ESX' standard-inventory Intet: tilføjes ved opstart. esx.sql er måden at gøre det i hånden ikke nødvendigt
vRP 2 Se vRP-afsnittet ovenfor
Standalone Intet

For de andre inventories i denne tabel gør telefonen selv items brugbare. ox_inventory bruger linjerne client = { export = 'phone....' }, der allerede er i dens fil.

ox_inventory: hvis du brugte en anden telefon før, så fjern også dens Item('phone', ...)-hook fra ox_inventory/modules/items/client.lua.

ak47_inventory styrer brugen af items i hvert items egen indgang. Tilføj disse:

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

Unikke telefoner (Config.Item.unique = true) lægger telefonnummeret på item'et, så når item'et gives videre, gives telefonen videre. De kræver ox_inventory, qb-inventory, qs-inventory, core_inventory eller codem-inventory.

Oversat fra engelsk. Hvis noget her ikke stemmer overens med den engelske side, er det den engelske side, der gælder. English