Documentación de Pulse Phone

Inventarios

Para Pulse Phone 1.4.28 min de lecturaActualizado el

4. Items e inventarios

Los items solo hacen falta en servidores con framework. Los archivos están en config/items/ y las imágenes en config/items/images/.

Lo que hace el teléfono por sí solo. Al iniciar, determina qué items necesitan las funciones que tienes activadas (la tabla de abajo), y después:

Tu inventario Qué pasa
ESX con su inventario por defecto Los items que faltan se añaden a la tabla items de ESX. Las filas existentes nunca se modifican. La consola muestra una línea con lo que añadió. En un ESX antiguo que no puede recargar sus items, reinicia el servidor una vez. config/items/esx.sql es solo para añadirlos a mano.
QBCore con qb-inventory (también ps-, lj-inventory) Los items que faltan se añaden a los shared items de QBCore mientras el servidor está en marcha. Un item que qb-core ya tiene, como su propio phone, se deja como está. La consola muestra una línea con lo que añadió.
ox_inventory (ESX, Qbox, ox_core) ox_inventory solo lee items de su propio archivo. La comprobación de inicio lista solo los items que faltan y muestra sus entradas debajo del recuadro, listas para pegar en ox_inventory/data/items.lua.
Cualquier otro inventario La comprobación de inicio nombra los items que faltan. Añádelos como ese inventario añade los items (la tabla de "Qué hacer según tu inventario").

Importante

Las imágenes nunca se copian por ti. La comprobación de inicio nombra cada imagen que falta y la carpeta donde va, por ejemplo copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

La comprobación de inicio tiene una línea Items: [OK] cuando están todos los items, o [FAIL] con los nombres que faltan y la solución debajo. phone:health la vuelve a mostrar después de que arregles algo.

Item Lo necesitas cuando
phone Solo con Config.Item.required = true (los jugadores deben llevar un teléfono) o con teléfonos únicos.
pulse_phone_box La tienda vende los teléfonos en una caja precintada. Activado por defecto (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Los accesorios de carga. Activado por defecto (Config.Charging).
pulse_router Pulse Home Wi-Fi, el router que los jugadores colocan en casa. Activado por defecto (config/apps.lua).
pulse_burner El Pulse Burner, un teléfono de prepago con su propio número. Activado por defecto (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Protección del teléfono: fundas, la bolsa impermeable y el protector de pantalla. Activado por defecto (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, el Pulse Ring Light y la Pulse Card Wallet. Activado por defecto (config/apps.lua).
powerbank Opcional. El antiguo item de batería externa; funciona como un Reserve.
pulse_phone_box_<finish> Solo con Config.Store.boxPerFinish = true.
radio (o cualquier nombre) Solo cuando configuras Config.Radio.item (sección 5, Radio). ox_inventory y qb-core ya tienen un item radio.

Si falta un item, el teléfono arranca igualmente. La tienda desactiva las cajas o retira ese item de la venta, y la consola nombra el item que hay que añadir.

Los Reserve se apilan. Los packs llenos no llevan metadata, así que hasta 20 comparten un hueco. Un pack que se quita a medio usar pasa a ser su propio item con su carga en la metadata (en ox_inventory, qb-inventory y qs-inventory), así que necesita un hueco libre. Sin metadata de items (standalone, el inventario por defecto de ESX) solo se sigue el pack en uso, uno por personaje y por tamaño.

Con Config.Item.required = true (o con teléfonos únicos) el servidor comprueba el item del teléfono a través de tu inventario y rechaza las peticiones del teléfono de un jugador que no lo tenga. Perder el item corta las llamadas de ese jugador, incluidas las de emergencia, y cierra el teléfono.

Dar una caja precintada a otra persona. En ox_inventory, qb-inventory y qs-inventory el propio item de la caja lleva el modelo y el acabado que se compraron, así que quien la abra recibe ese teléfono. En cualquier otro inventario la caja es un item simple, y el modelo y el acabado están en el registro de compra del comprador: una caja regalada se abre como la siguiente compra del nuevo dueño, o con el modelo y el acabado por defecto. Con Config.Store.boxPerFinish = true el nombre del item de la caja conserva el acabado, pero no el modelo.

El texto exacto que pegar, según tu inventario

Nunca tienes que escribir tú una entrada de item. Cuando falta un item, la comprobación de inicio muestra el texto exacto para tu inventario debajo de su recuadro, y Settings > Server > Health Check muestra el mismo texto con un botón Copy. Pégalo, reinicia el inventario y el teléfono, y vuelve a ejecutar phone:health.

Tu inventario Qué se muestra Dónde va
ox_inventory (ESX, Qbox, ox_core, ND Core) Entradas de ox_inventory ox_inventory/data/items.lua, dentro de su tabla
QBCore (qb-, ps-, lj-inventory) Entradas de QBCore (solo si el teléfono no pudo añadirlas por sí mismo) qb-core/shared/items.lua
qs-inventory Entradas con formato QBCore La lista de items de qs-inventory
Inventario por defecto de ESX Una línea SQL (solo si el teléfono no pudo añadirlos por sí mismo) Tu herramienta de base de datos, y luego reinicia
TMC Entradas de TMC para cada item que necesita el teléfono (a TMC no se le puede preguntar cuáles tiene) La lista de items de TMC (el archivo con sim_card), conservando los que ya tienes
Cualquier otro inventario Entradas con formato QBCore, el formato que leen la mayoría de los inventarios La lista de items de ese inventario

Así es cada una, para el 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);

El item phone propio de ox_inventory. ox_inventory trae una entrada phone hecha para otro script de teléfono. No necesitas cambiarla: al usarla se abre Pulse Phone. La comprobación de inicio tiene una línea Phone item que indica cómo está conectada tu entrada. Solo cuando nombra el export de otro script ([WARN], o [FAIL] con teléfonos obligatorios o únicos) muestra la entrada de sustitución. Si el script de teléfono para el que se hizo esa entrada sigue en marcha, el item abre ese en su lugar: la línea Phone item lo nombra; quítalo de server.cfg.

Qué hacer según tu inventario

Inventario Dónde van los items Dónde van las imágenes
ox_inventory (ESX, Qbox, ox_core) Pega las entradas que muestra la comprobación de inicio (o el ox_inventory.lua completo) en ox_inventory/data/items.lua, dentro de su tabla. Conserva la entrada ['phone'] propia de ox_inventory (abre Pulse Phone); sustitúyela por la que se muestra solo cuando la línea Phone item diga que abre otro script ox_inventory/web/images/
qb-inventory Nada: se añaden al iniciar. Para añadirlos a mano, pega qb-core.lua en qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Nada: se añaden al iniciar, igual que en qb-inventory la carpeta de imágenes de tu inventario
qs-inventory Pega qb-core.lua en qb-core/shared/items.lua, o en la propia lista de items de qs-inventory la carpeta de imágenes de tu inventario
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Añade los items a su lista de items como añades cualquier item, usando los nombres, etiquetas y pesos de 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 también para powerbank y pulse_magpack_max la carpeta de imágenes de tu inventario
ak47_inventory Añade los items, más las líneas onUse de abajo la carpeta de imágenes de tu inventario
Inventario por defecto de ESX Nada: se añaden al iniciar. esx.sql es la forma manual no hace falta
vRP 2 Consulta la sección de vRP de arriba
Standalone Nada

Para los demás inventarios de esta tabla, el teléfono hace que los items sean usables por sí mismo. ox_inventory usa las líneas client = { export = 'phone....' } que ya están en su archivo.

ox_inventory: si antes usabas otro teléfono, quita también su hook Item('phone', ...) de ox_inventory/modules/items/client.lua.

ak47_inventory guarda el uso de cada item en su propia entrada. Añade 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 },

Los teléfonos únicos (Config.Item.unique = true) ponen el número de teléfono en el item, así que entregar el item es entregar el teléfono. Necesitan ox_inventory, qb-inventory, qs-inventory, core_inventory o codem-inventory.

Traducido del inglés. Si algo de aquí no coincide con la página en inglés, la página en inglés es la correcta. English