Pular para o conteúdo

Inventário, equipamento, boosters e 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,

Os itens ocupam espaço na grelha (w x h) e têm peso. A hotbar são as teclas 1-5.

Os itens estão em bs_inventory/config/config_items.lua, Items.Definitions. No arranque são sincronizados para a tabela bs_item_definitions, para a base de dados e a config não divergirem. Um exemplo real do ficheiro:

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

O que vai em data depende da categoria. Alguns que vais usar:

  • heal, hunger, thirst - consumíveis
  • weapon = 'WEAPON_X' - o item é uma arma (o bs_guard também verifica que a tens mesmo)
  • drug = ... - tratado pelo bs_drugs, vê Drogas
  • handled = true - o inventário não o consome ao usar, outro resource é que o faz
  • defaultMeta = {...} - metadados que um item novo recebe quando ninguém lhe dá nenhuns (a bateria do drone usa isto)

As receitas estão no mesmo ficheiro (craft_medkit etc). Uma receita com factionBase = true só fabrica dentro do raio da bandeira ativa da tua própria fação.

Ícones: o inventário usa os ícones de linha em bs_ui/html/js/icons.js. Um item novo sem ícone mostra apenas um genérico.

Desde a migração 021, a roupa é aparência, não itens. O que vestes é definido no NPC do roupeiro (bs_traders) e guardado com a personagem. Só a mochila e o colete continuam a ser itens com slots de equipamento, porque têm efeito no jogo (capacidade, proteção). Isso é o config_clothing.lua.

O loot de contentores (caixotes, carros, armários) está em bs_interactions/config/config_containers.lua. As tabelas de loot dos zombies estão em bs_economy/config/config_economy.lua. Global.lootMultiplier e Global.lootRollsMultiplier no F1 escalam o loot dos contentores sem mexer nas tabelas.

Dois sistemas separados com os seus próprios slots.

Boosters (bs_boosters)Gadgets (bs_gadgets)
O quêbuffs pessoais, de uso instantâneocoisas que colocas ou pilotas
Slots / teclas3, teclas 6 / 7 / 82, teclas 9 / 0
Categoria do itemboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

As teclas são key mappings do FiveM, os jogadores podem reatribuí-las em Definições > Atalhos de teclado > FiveM. As skills de fação booster_cd / booster_cd2 reduzem ambos os cooldowns.

Boosters: Adrenaline (sprint, stamina infinita), Focus (menos recuo e oscilação), Painkiller drip (cura ao longo do tempo), Fortify (ignora parte de cada mordida de zombie). Todos terminam quando caíres.

Gadgets:

  • Scout drone - pilota-se com WASD, Espaço/Ctrl, Shift acelera, E marca um local para o teu esquadrão. Tem bateria (Gadgets.Batteries: pequena 60 s, média 120 s, grande 240 s de voo). Carrega parado num veículo em funcionamento, ou com E junto a um veículo em funcionamento ou a um gerador (Gadgets.Charge).
  • Mini turret - dispara só contra caminhantes, nunca contra jogadores. Uma por jogador. Cada disparo é verificado pelo servidor.
  • Medic beacon - cura-te a ti e aos colegas de esquadrão dentro do raio.
  • Decoy - uma boombox que faz barulho e atrai caminhantes. Pode ser destruída a tiro.
  • Riot shield - suspenso por agora (Gadgets.Types.booster_shield.enabled = false), o prop ainda não aparece no braço.

Os ids dos itens continuam a ser booster_drone, booster_turret, booster_medic, booster_decoy para os saves antigos funcionarem. Não os renomeies.

Dá itens para testar a partir de F10 > ITEMS (há um separador BOOSTERS e GADGETS), ou por código com exports.bs_inventory:GiveItem(src, item, amount, metadata).