Saltearse al contenido

Inventario, equipo, boosters y gadgets

bs_inventory/config/config_inventory.lua, Inventory.Settings:

gridWidth = 8,
gridHeight = 5,
hotbarSlots = 5,
openKey = 'I',
tradeDistance = 3.0,
dropLifetime = 1800, -- seconds a dropped bag stays
pickupRange = 1.8,
corpseLifetime = 900,
overweightSlowdown = 0.75,

Los ítems ocupan espacio en la cuadrícula (w x h) y tienen peso. La barra rápida son las teclas 1-5.

Los ítems están en bs_inventory/config/config_items.lua, Items.Definitions. Al arrancar se sincronizan con la tabla bs_item_definitions para que la base de datos y la config no se desajusten. Uno real del archivo:

medkit = { label = 'Medkit', category = 'medical', weight = 1.2, w = 2, h = 2, stack = 3,
usable = true, value = 120, data = { heal = 75, revive = true } },

Lo que va en data depende de la categoría. Algunos que usarás:

  • heal, hunger, thirst - consumibles
  • weapon = 'WEAPON_X' - el ítem es un arma (bs_guard también comprueba que realmente la tengas)
  • drug = ... - lo gestiona bs_drugs, mira Drogas
  • handled = true - el inventario no lo consume al usarlo, lo hace otro resource
  • defaultMeta = {...} - metadatos que recibe un ítem nuevo cuando nadie le da ninguno (la batería del dron usa esto)

Las recetas están en el mismo archivo (craft_medkit etc.). Una receta con factionBase = true solo fabrica dentro del radio de la bandera activa de tu propia facción.

Iconos: el inventario usa los iconos de línea de bs_ui/html/js/icons.js. Un ítem nuevo sin icono muestra uno genérico.

Desde la migración 021 la ropa es apariencia, no ítems. Lo que llevas puesto se fija en el NPC del vestuario (bs_traders) y se guarda con el personaje. Solo la mochila y el chaleco siguen siendo ítems con ranuras de equipo, porque tienen efecto en el juego (capacidad, protección). Eso es config_clothing.lua.

El botín de contenedores (cubos de basura, coches, armarios) está en bs_interactions/config/config_containers.lua. Las tablas de botín de los zombis están en bs_economy/config/config_economy.lua. Global.lootMultiplier y Global.lootRollsMultiplier en F1 escalan el botín de contenedores sin tocar las tablas.

Dos sistemas separados con sus propias ranuras.

Boosters (bs_boosters)Gadgets (bs_gadgets)
Québuffs personales, de uso instantáneocosas que colocas o pilotas
Ranuras / teclas3, teclas 6 / 7 / 82, teclas 9 / 0
Categoría del ítemboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

Las teclas son key mappings de FiveM, los jugadores pueden reasignarlas en Ajustes > Atajos de teclado > FiveM. Las habilidades de facción booster_cd / booster_cd2 recortan ambos enfriamientos.

Boosters: Adrenaline (sprint, aguante infinito), Focus (menos retroceso y temblor), Painkiller drip (curación con el tiempo), Fortify (ignora parte de cada mordisco de zombi). Todos terminan cuando caes.

Gadgets:

  • Scout drone - se pilota con WASD, Espacio/Ctrl, Shift acelera, E marca un punto para tu escuadra. Tiene batería (Gadgets.Batteries: pequeña 60 s, media 120 s, grande 240 s de vuelo). Se carga parado dentro de un vehículo en marcha, o con E junto a un vehículo en marcha o un generador (Gadgets.Charge).
  • Mini turret - dispara solo a caminantes, nunca a jugadores. Una por jugador. El servidor comprueba cada disparo.
  • Medic beacon - te cura a ti y a tus compañeros de escuadra dentro del radio.
  • Decoy - una boombox que hace ruido y atrae caminantes. Se le puede disparar.
  • Riot shield - aparcado por ahora (Gadgets.Types.booster_shield.enabled = false), el prop aún no aparece en el brazo.

Los ids de los ítems siguen siendo booster_drone, booster_turret, booster_medic, booster_decoy para que las partidas guardadas antiguas funcionen. No los renombres.

Da ítems para probar desde F10 > ITEMS (hay una pestaña BOOSTERS y GADGETS), o desde código con exports.bs_inventory:GiveItem(src, item, amount, metadata).