Documentazione di Pulse Phone

Inventari

Per Pulse Phone 1.4.28 min di letturaAggiornato il

4. Item e inventari

Gli item servono solo sui server con framework. I file sono in config/items/ e le immagini in config/items/images/.

Cosa fa il telefono da solo. All'avvio calcola quali item servono alle funzioni che hai attivato (la tabella qui sotto), e poi:

Il tuo inventario Cosa succede
ESX con il suo inventario predefinito Gli item mancanti vengono aggiunti alla tabella items di ESX. Le righe esistenti non vengono mai modificate. La console stampa una riga che indica cosa ha aggiunto. Su un ESX più vecchio che non può ricaricare i suoi item, riavvia il server una volta. config/items/esx.sql serve solo per aggiungerli a mano.
QBCore con qb-inventory (anche ps-, lj-inventory) Gli item mancanti vengono aggiunti agli shared items di QBCore mentre il server è acceso. Un item che qb-core ha già, come il suo phone, viene lasciato com'è. La console stampa una riga che indica cosa ha aggiunto.
ox_inventory (ESX, Qbox, ox_core) ox_inventory legge gli item solo dal suo file. Il controllo all'avvio elenca solo gli item mancanti e stampa le loro voci sotto il riquadro, pronte da incollare in ox_inventory/data/items.lua.
Qualsiasi altro inventario Il controllo all'avvio indica gli item mancanti. Aggiungili come quell'inventario aggiunge gli item (la tabella sotto "Cosa fare per il tuo inventario").

Importante

Le immagini non vengono mai copiate al posto tuo. Il controllo all'avvio indica ogni immagine mancante e la cartella in cui va, per esempio copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

Il controllo all'avvio ha una riga Items: [OK] quando ci sono tutti gli item, oppure [FAIL] con i nomi mancanti e la soluzione sotto. phone:health la ristampa dopo che hai sistemato qualcosa.

Item Ti serve quando
phone Solo con Config.Item.required = true (i giocatori devono avere un telefono con sé) o con i telefoni unici.
pulse_phone_box Il negozio vende i telefoni in una scatola sigillata. Attivo di default (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Gli accessori di ricarica. Attivi di default (Config.Charging).
pulse_router Pulse Home Wi-Fi, il router che i giocatori posizionano a casa. Attivo di default (config/apps.lua).
pulse_burner Il Pulse Burner, un telefono prepagato con un suo numero. Attivo di default (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Protezione del telefono: cover, custodia impermeabile e pellicola protettiva. Attiva di default (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, la Pulse Ring Light e il Pulse Card Wallet. Attivi di default (config/apps.lua).
powerbank Facoltativo. Il vecchio item power bank; funziona come un Reserve.
pulse_phone_box_<finish> Solo con Config.Store.boxPerFinish = true.
radio (o qualsiasi nome) Solo quando imposti Config.Radio.item (sezione 5, Radio). ox_inventory e qb-core hanno già un item radio.

Se manca un item, il telefono si avvia lo stesso. Il negozio disattiva le scatole o toglie quell'item dalla vendita, e la console indica l'item da aggiungere.

I Reserve si impilano. Le batterie cariche non hanno metadata, quindi fino a 20 condividono uno slot. Una batteria tolta a metà carica diventa un item a sé con la sua carica nei metadata (su ox_inventory, qb-inventory e qs-inventory), quindi le serve uno slot libero. Senza metadata degli item (standalone, l'inventario ESX predefinito) viene tracciata solo la batteria in uso, una per personaggio per ogni taglia.

Con Config.Item.required = true (o con i telefoni unici) il server verifica l'item telefono tramite il tuo inventario e rifiuta le richieste del telefono da un giocatore che non ce l'ha. Perdere l'item chiude le chiamate di quel giocatore, comprese quelle di emergenza, e chiude il telefono.

Regalare una scatola sigillata a qualcun altro. Su ox_inventory, qb-inventory e qs-inventory l'item scatola contiene il modello e la finitura acquistati, quindi chi la apre riceve quel telefono. Su tutti gli altri inventari la scatola è un item semplice e modello e finitura stanno nel registro acquisti dell'acquirente: una scatola regalata si apre come il prossimo acquisto del nuovo proprietario, o con il modello e la finitura predefiniti. Con Config.Store.boxPerFinish = true il nome dell'item scatola mantiene la finitura, ma non il modello.

Il testo esatto da incollare, per il tuo inventario

Non devi mai ricavare da solo la voce di un item. Quando manca un item, il controllo all'avvio stampa il testo esatto per il tuo inventario sotto il suo riquadro, e Settings > Server > Health Check mostra lo stesso testo con un pulsante Copy. Incollalo, riavvia l'inventario e il telefono, ed esegui di nuovo phone:health.

Il tuo inventario Cosa viene stampato Dove va
ox_inventory (ESX, Qbox, ox_core, ND Core) Voci ox_inventory ox_inventory/data/items.lua, dentro la sua tabella
QBCore (qb-, ps-, lj-inventory) Voci QBCore (solo se il telefono non è riuscito ad aggiungerle da solo) qb-core/shared/items.lua
qs-inventory Voci in formato QBCore La lista item di qs-inventory
Inventario predefinito di ESX Una riga SQL (solo se il telefono non è riuscito ad aggiungerli da solo) Il tuo strumento per database, poi riavvia
TMC Voci TMC per ogni item di cui il telefono ha bisogno (a TMC non si può chiedere quali ha) La lista item di TMC (il file con sim_card), mantenendo quelli che hai già
Qualsiasi altro inventario Voci in formato QBCore, il formato che leggono la maggior parte degli inventari La lista item di quell'inventario

Come appare ciascuna, per il 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);

L'item phone di ox_inventory. ox_inventory include una voce phone fatta per un altro script telefono. Non devi modificarla: usarla apre Pulse Phone. Il controllo all'avvio ha una riga Phone item che dice come è collegata la tua voce. Solo quando indica l'export di un altro script ([WARN], o [FAIL] con telefoni obbligatori o unici) stampa la voce sostitutiva. Se lo script telefono per cui era fatta quella voce è ancora attivo, l'item apre quello: la riga Phone item lo indica; rimuovilo da server.cfg.

Cosa fare per il tuo inventario

Inventario Dove vanno gli item Dove vanno le immagini
ox_inventory (ESX, Qbox, ox_core) Incolla le voci stampate dal controllo all'avvio (o l'intero ox_inventory.lua) in ox_inventory/data/items.lua, dentro la sua tabella. Mantieni la voce ['phone'] di ox_inventory (apre Pulse Phone); sostituiscila con quella stampata solo quando la riga Phone item dice che apre un altro script ox_inventory/web/images/
qb-inventory Niente: vengono aggiunti all'avvio. Per aggiungerli invece a mano, incolla qb-core.lua in qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Niente: vengono aggiunti all'avvio, come per qb-inventory la cartella immagini del tuo inventario
qs-inventory Incolla qb-core.lua in qb-core/shared/items.lua, o nella lista item di qs-inventory la cartella immagini del tuo inventario
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Aggiungi gli item alla sua lista item come aggiungi qualsiasi altro item, usando nomi, etichette e pesi di 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). Usa pulse_magpack.png anche per powerbank e pulse_magpack_max la cartella immagini del tuo inventario
ak47_inventory Aggiungi gli item, più le righe onUse qui sotto la cartella immagini del tuo inventario
Inventario predefinito di ESX Niente: vengono aggiunti all'avvio. esx.sql è il metodo a mano non serve
vRP 2 Vedi la sezione vRP più sopra
Standalone Niente

Per gli altri inventari di questa tabella, il telefono rende gli item usabili da solo. ox_inventory usa le righe client = { export = 'phone....' } già presenti nel suo file.

ox_inventory: se prima usavi un altro telefono, rimuovi anche il suo hook Item('phone', ...) da ox_inventory/modules/items/client.lua.

ak47_inventory gestisce l'uso degli item nella voce di ciascun item. Aggiungi queste:

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

I telefoni unici (Config.Item.unique = true) mettono il numero di telefono sull'item, quindi passare l'item significa passare il telefono. Richiedono ox_inventory, qb-inventory, qs-inventory, core_inventory o codem-inventory.

Tradotto dall'inglese. Se qualcosa qui non corrisponde alla pagina in inglese, vale la pagina in inglese. English