Documentação do Pulse Phone

Inventários

Para o Pulse Phone 1.4.28 min de leituraAtualizado a

4. Itens e inventários

Os itens só são precisos em servidores com framework. Os ficheiros estão em config/items/ e as imagens em config/items/images/.

O que o telemóvel faz sozinho. No arranque, determina de que itens precisam as funcionalidades que ativou (a tabela abaixo) e depois:

O seu inventário O que acontece
ESX com o inventário padrão Os itens em falta são adicionados à tabela items do ESX. As linhas existentes nunca são alteradas. A consola mostra uma linha com o que adicionou. Num ESX mais antigo que não consegue recarregar os itens, reinicie o servidor uma vez. O config/items/esx.sql serve só para os adicionar à mão.
QBCore com qb-inventory (também ps-, lj-inventory) Os itens em falta são adicionados aos shared items do QBCore enquanto o servidor corre. Um item que o qb-core já tenha, como o seu próprio phone, fica como está. A consola mostra uma linha com o que adicionou.
ox_inventory (ESX, Qbox, ox_core) O ox_inventory só lê itens do seu próprio ficheiro. A verificação de arranque lista só os itens em falta e mostra as entradas por baixo da caixa, prontas a colar em ox_inventory/data/items.lua.
Qualquer outro inventário A verificação de arranque indica os itens em falta. Adicione-os da forma como esse inventário adiciona itens (a tabela em "O que fazer para o seu inventário").

Importante

As imagens nunca são copiadas por si. A verificação de arranque indica cada imagem em falta e a pasta para onde vai, por exemplo copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

A verificação de arranque tem uma linha Items: [OK] quando todos os itens estão lá, ou [FAIL] com os nomes em falta e a solução por baixo. O phone:health mostra-a outra vez depois de corrigir algo.

Item Precisa dele quando
phone Só com Config.Item.required = true (os jogadores têm de ter um telemóvel consigo) ou com telemóveis únicos.
pulse_phone_box A loja vende telemóveis numa caixa selada. Ativo por defeito (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Os acessórios de carregamento. Ativo por defeito (Config.Charging).
pulse_router Pulse Home Wi-Fi, o router que os jogadores colocam em casa. Ativo por defeito (config/apps.lua).
pulse_burner O Pulse Burner, um telemóvel pré-pago com número próprio. Ativo por defeito (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Proteção do telemóvel: capas, a bolsa à prova de água e a película de ecrã. Ativo por defeito (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, o Pulse Ring Light e a Pulse Card Wallet. Ativo por defeito (config/apps.lua).
powerbank Opcional. O antigo item de power bank; funciona como um Reserve.
pulse_phone_box_<finish> Só com Config.Store.boxPerFinish = true.
radio (ou qualquer nome) Só quando define Config.Radio.item (secção 5, Radio). O ox_inventory e o qb-core já têm um item radio.

Se faltar um item, o telemóvel arranca na mesma. A loja desliga as caixas ou retira esse item de venda, e a consola indica o item a adicionar.

Os Reserves empilham. As baterias cheias não têm metadados, por isso até 20 partilham uma ranhura. Uma bateria retirada a meio da carga passa a ser um item próprio com a carga nos metadados (no ox_inventory, qb-inventory e qs-inventory), por isso precisa de uma ranhura livre. Sem metadados de itens (standalone, o inventário padrão do ESX), só a bateria em uso é acompanhada, uma por personagem e por tamanho.

Com Config.Item.required = true (ou telemóveis únicos), o servidor verifica o item do telemóvel através do seu inventário e recusa os pedidos de um jogador que não o tenha. Perder o item termina as chamadas desse jogador, incluindo as de emergência, e fecha o telemóvel.

Dar uma caixa selada a outra pessoa. No ox_inventory, qb-inventory e qs-inventory, o próprio item da caixa guarda o modelo e o acabamento que foram comprados, por isso quem a abrir recebe esse telemóvel. Em todos os outros inventários, a caixa é um item simples e o modelo e o acabamento ficam no registo de compra do comprador: uma caixa oferecida abre como a próxima compra do novo dono, ou com o modelo e o acabamento padrão. Com Config.Store.boxPerFinish = true, o nome do item da caixa guarda o acabamento, mas não o modelo.

O texto exato a colar, para o seu inventário

Nunca tem de escrever uma entrada de item por si. Quando falta um item, a verificação de arranque mostra o texto exato para o seu inventário por baixo da caixa, e Settings > Server > Health Check mostra o mesmo texto com um botão Copiar. Cole-o, reinicie o inventário e o telemóvel, e corra phone:health outra vez.

O seu inventário O que é mostrado Para onde vai
ox_inventory (ESX, Qbox, ox_core, ND Core) Entradas do ox_inventory ox_inventory/data/items.lua, dentro da tabela
QBCore (qb-, ps-, lj-inventory) Entradas do QBCore (só se o telemóvel não as tiver conseguido adicionar sozinho) qb-core/shared/items.lua
qs-inventory Entradas no formato QBCore A lista de itens do qs-inventory
Inventário padrão do ESX Uma linha SQL (só se o telemóvel não as tiver conseguido adicionar sozinho) A sua ferramenta de base de dados, depois reinicie
TMC Entradas do TMC para todos os itens de que o telemóvel precisa (não é possível perguntar ao TMC quais tem) A lista de itens do TMC (o ficheiro com sim_card), mantendo os que já tem
Qualquer outro inventário Entradas no formato QBCore, o formato que a maioria dos inventários lê A lista de itens desse inventário

Como fica cada um, para o 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);

O item phone do próprio ox_inventory. O ox_inventory traz uma entrada phone feita para outro script de telemóvel. Não precisa de a alterar: usá-la abre o Pulse Phone. A verificação de arranque tem uma linha Phone item que diz como a sua entrada está ligada. Só quando indica o export de outro script ([WARN], ou [FAIL] com telemóveis obrigatórios ou únicos) é que mostra a entrada de substituição. Se o script de telemóvel para o qual essa entrada foi feita ainda estiver a correr, o item abre esse em vez do Pulse: a linha Phone item indica-o; remova-o do server.cfg.

O que fazer para o seu inventário

Inventário Para onde vão os itens Para onde vão as imagens
ox_inventory (ESX, Qbox, ox_core) Cole as entradas que a verificação de arranque mostra (ou o ox_inventory.lua inteiro) em ox_inventory/data/items.lua, dentro da tabela. Mantenha a entrada ['phone'] do próprio ox_inventory (abre o Pulse Phone); substitua-a pela mostrada só quando a linha Phone item disser que abre outro script ox_inventory/web/images/
qb-inventory Nada: adicionados no arranque. Para os adicionar à mão, cole o qb-core.lua em qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Nada: adicionados no arranque, como no qb-inventory a pasta de imagens do seu inventário
qs-inventory Cole o qb-core.lua em qb-core/shared/items.lua, ou na lista de itens do próprio qs-inventory a pasta de imagens do seu inventário
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Adicione os itens à lista de itens da forma como adiciona qualquer item, usando os nomes, etiquetas e pesos do 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). Use pulse_magpack.png também para powerbank e pulse_magpack_max a pasta de imagens do seu inventário
ak47_inventory Adicione os itens, mais as linhas onUse abaixo a pasta de imagens do seu inventário
Inventário padrão do ESX Nada: adicionados no arranque. O esx.sql é a forma manual não é preciso
vRP 2 Veja a secção vRP acima
Standalone Nada

Para os outros inventários desta tabela, o telemóvel torna os itens utilizáveis sozinho. O ox_inventory usa as linhas client = { export = 'phone....' } que já estão no seu ficheiro.

ox_inventory: se usou outro telemóvel antes, remova também o seu hook Item('phone', ...) de ox_inventory/modules/items/client.lua.

O ak47_inventory define o uso de cada item na sua própria entrada. Adicione estas:

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

Os telemóveis únicos (Config.Item.unique = true) guardam o número de telemóvel no item, por isso entregar o item entrega o telemóvel. Requerem ox_inventory, qb-inventory, qs-inventory, core_inventory ou codem-inventory.

Traduzido do inglês. Se alguma coisa aqui não coincidir com a página em inglês, vale a página em inglês. English