Dokumentation för Pulse Phone
Inventories
4. Items och inventories
Items behövs bara på servrar med framework. Filerna finns i config/items/ och bilderna i config/items/images/.
Vad telefonen gör själv. Vid start räknar den ut vilka items de funktioner du slagit på behöver (tabellen nedan), och sedan:
| Ditt inventory | Vad som händer |
|---|---|
| ESX med sitt standard-inventory | De saknade items läggs till i ESX:s tabell items. Befintliga rader ändras aldrig. Konsolen skriver ut en rad som namnger vad den lade till. På en äldre ESX som inte kan ladda om sina items, starta om servern en gång. config/items/esx.sql är bara för att lägga till dem för hand. |
| QBCore med qb-inventory (även ps-, lj-inventory) | De saknade items läggs till i QBCore:s shared items medan servern körs. Ett item som qb-core redan har, som dess egen phone, lämnas som det är. Konsolen skriver ut en rad som namnger vad den lade till. |
| ox_inventory (ESX, Qbox, ox_core) | ox_inventory läser bara items från sin egen fil. Startkontrollen listar bara de saknade items och skriver ut deras poster under rutan, redo att klistra in i ox_inventory/data/items.lua. |
| Alla andra inventories | Startkontrollen namnger de saknade items. Lägg till dem på det sätt det inventoryt lägger till items (tabellen under ”Vad du gör för ditt inventory”). |
Viktigt
Bilder kopieras aldrig åt dig. Startkontrollen namnger varje saknad bild och mappen den ska till, till exempel copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.
Startkontrollen har en rad Items: [OK] när varje item finns, eller [FAIL] med de saknade namnen och lösningen under. phone:health skriver ut den igen efter att du fixat något.
| Item | Du behöver det när |
|---|---|
phone |
Bara med Config.Item.required = true (spelarna måste bära en telefon) eller unika telefoner. |
pulse_phone_box |
Butiken säljer telefoner i en förseglad kartong. På som standard (Config.Store.box). |
pulse_magpack, pulse_magpack_max, pulse_cable |
Laddningstillbehören. På som standard (Config.Charging). |
pulse_router |
Pulse Home Wi-Fi, routern som spelarna placerar hemma. På som standard (config/apps.lua). |
pulse_burner |
Pulse Burner, en kontantkortstelefon med eget nummer. På som standard (config/apps.lua). |
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector |
Telefonskydd: skal, det vattentäta fodralet och skärmskyddet. På som standard (config/apps.lua). |
pulse_buds, pulse_ringlight, pulse_wallet |
Pulse Buds, Pulse Ring Light och Pulse Card Wallet. På som standard (config/apps.lua). |
powerbank |
Valfritt. Det gamla powerbank-itemet; det fungerar som en Reserve. |
pulse_phone_box_<finish> |
Bara med Config.Store.boxPerFinish = true. |
radio (eller valfritt namn) |
Bara när du sätter Config.Radio.item (avsnitt 5, Radio). ox_inventory och qb-core har redan ett item radio. |
Om ett item saknas startar telefonen ändå. Butiken stänger av kartonger eller tar bort det itemet från försäljning, och konsolen namnger itemet att lägga till.
Reserves staplas. Fulla batteripaket har ingen metadata, så upp till 20 delar på en plats. Ett paket som tas av delvis använt blir ett eget item med sin laddning i sin metadata (på ox_inventory, qb-inventory och qs-inventory), så det behöver en ledig plats. Utan item-metadata (standalone, ESX standard-inventory) spåras bara paketet som används, ett per karaktär och storlek.
Med Config.Item.required = true (eller unika telefoner) kontrollerar servern telefon-itemet via ditt inventory och nekar telefonförfrågningar från en spelare utan det. Att tappa itemet avslutar den spelarens samtal, nödsamtal inräknade, och stänger telefonen.
Ge en förseglad kartong till någon annan. På ox_inventory, qb-inventory och qs-inventory bär själva kartong-itemet den modell och finish som köptes, så den som öppnar den får den telefonen. På alla andra inventories är kartongen ett vanligt item och modell och finish ligger i köparens egen köphistorik: en kartong som ges bort öppnas som den nya ägarens eget nästa köp, eller som standardmodell och standardfinish. Med Config.Store.boxPerFinish = true behåller kartong-itemets namn finishen, men inte modellen.
Exakt text att klistra in, för ditt inventory
Du behöver aldrig själv räkna ut en item-post. När ett item saknas skriver startkontrollen ut exakt text för ditt inventory under sin ruta, och Settings > Server > Health Check visar samma text med en Copy-knapp. Klistra in den, starta om inventoryt och telefonen, och kör phone:health igen.
| Ditt inventory | Vad som skrivs ut | Var det ska in |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core, ND Core) | ox_inventory-poster | ox_inventory/data/items.lua, inuti dess tabell |
| QBCore (qb-, ps-, lj-inventory) | QBCore-poster (bara om telefonen inte kunde lägga till dem själv) | qb-core/shared/items.lua |
| qs-inventory | Poster i QBCore-format | qs-inventorys item-lista |
| ESX standard-inventory | En SQL-rad (bara om telefonen inte kunde lägga till dem själv) | Ditt databasverktyg, starta sedan om |
| TMC | TMC-poster för varje item telefonen behöver (TMC kan inte tillfrågas om vilka den har) | TMC:s item-lista (filen med sim_card), med de du redan har kvar |
| Alla andra inventories | Poster i QBCore-format, det format de flesta inventories läser | Det inventoryts item-lista |
Så här ser var och en ut, för 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);ox_inventorys egna item phone. ox_inventory levereras med en post phone gjord för ett annat telefonscript. Du behöver inte ändra den: att använda den öppnar Pulse Phone. Startkontrollen har en rad Phone item som säger hur din post är kopplad. Bara när den namnger ett annat scripts export ([WARN], eller [FAIL] med obligatoriska eller unika telefoner) skriver den ut ersättningsposten. Om telefonscriptet som posten gjordes för fortfarande körs öppnar itemet det i stället: raden Phone item namnger det; ta bort det från server.cfg.
Vad du gör för ditt inventory
| Inventory | Var items ska in | Var bilderna ska in |
|---|---|---|
| ox_inventory (ESX, Qbox, ox_core) | Klistra in posterna som startkontrollen skriver ut (eller hela ox_inventory.lua) i ox_inventory/data/items.lua, inuti dess tabell. Behåll ox_inventorys egen post ['phone'] (den öppnar Pulse Phone); ersätt den med den utskrivna bara när raden Phone item säger att den öppnar ett annat script |
ox_inventory/web/images/ |
| qb-inventory | Inget: läggs till vid start. För att lägga till dem för hand i stället, klistra in qb-core.lua i qb-core/shared/items.lua |
qb-inventory/html/images/ |
| ps-inventory, lj-inventory | Inget: läggs till vid start, som för qb-inventory | ditt inventorys bildmapp |
| qs-inventory | Klistra in qb-core.lua i qb-core/shared/items.lua, eller i qs-inventorys egen item-lista |
ditt inventorys bildmapp |
| codem-inventory, core_inventory, tgiann-inventory, origen_inventory | Lägg till items i dess item-lista på samma sätt som du lägger till vilket item som helst, med namn, etiketter och vikter från 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). Använd pulse_magpack.png för powerbank och pulse_magpack_max också |
ditt inventorys bildmapp |
| ak47_inventory | Lägg till items, plus raderna onUse nedan |
ditt inventorys bildmapp |
| ESX standard-inventory | Inget: läggs till vid start. esx.sql är sättet att göra det för hand |
behövs inte |
| vRP 2 | Se avsnittet om vRP ovan | |
| Standalone | Inget |
För de andra inventories i den här tabellen gör telefonen själv items användbara. ox_inventory använder raderna client = { export = 'phone....' } som redan finns i dess fil.
ox_inventory: om du använde en annan telefon tidigare, ta också bort dess hook Item('phone', ...) från ox_inventory/modules/items/client.lua.
ak47_inventory lägger användning av items i varje items egen post. Lägg till dessa:
-- 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 },Unika telefoner (Config.Item.unique = true) lägger telefonnumret på itemet, så att lämna över itemet är att lämna över telefonen. De kräver ox_inventory, qb-inventory, qs-inventory, core_inventory eller codem-inventory.