Salta ai contenuti

Inventario, equipaggiamento, booster e gadget

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,

Gli oggetti occupano spazio sulla griglia (w x h) e hanno peso. La hotbar sono i tasti 1-5.

Gli oggetti sono in bs_inventory/config/config_items.lua, Items.Definitions. All’avvio vengono sincronizzati nella tabella bs_item_definitions perché database e config non divergano. Uno reale dal file:

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

Cosa va in data dipende dalla categoria. Alcuni che userai:

  • heal, hunger, thirst - consumabili
  • weapon = 'WEAPON_X' - l’oggetto è un’arma (bs_guard controlla anche che tu ce l’abbia davvero)
  • drug = ... - gestito da bs_drugs, vedi Droghe
  • handled = true - l’inventario non lo consuma all’uso, lo fa un’altra resource
  • defaultMeta = {...} - metadati che un nuovo oggetto riceve quando nessuno gliene dà (la batteria del drone usa questo)

Le ricette sono nello stesso file (craft_medkit ecc.). Una ricetta con factionBase = true si fabbrica solo dentro il raggio della bandiera attiva della tua fazione.

Icone: l’inventario usa le icone a linee in bs_ui/html/js/icons.js. Un nuovo oggetto senza icona ne mostra una generica.

Dalla migrazione 021 gli abiti sono aspetto, non oggetti. Ciò che indossi si imposta presso l’NPC del guardaroba (bs_traders) e viene salvato con il personaggio. Solo lo zaino e il giubbotto sono ancora oggetti con slot di equipaggiamento, perché hanno effetto sul gioco (capacità, protezione). È config_clothing.lua.

Il loot dei contenitori (bidoni, auto, armadietti) è in bs_interactions/config/config_containers.lua. Le tabelle di loot degli zombie sono in bs_economy/config/config_economy.lua. Global.lootMultiplier e Global.lootRollsMultiplier in F1 scalano il loot dei contenitori senza toccare le tabelle.

Due sistemi separati con slot propri.

Booster (bs_boosters)Gadget (bs_gadgets)
Cosapotenziamenti personali, a uso istantaneocose che piazzi o piloti
Slot / tasti3, tasti 6 / 7 / 82, tasti 9 / 0
Categoria oggettoboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

I tasti sono key mapping di FiveM, i giocatori possono riassegnarli in Impostazioni > Associazioni tasti > FiveM. Le skill di fazione booster_cd / booster_cd2 riducono entrambi i cooldown.

Booster: Adrenaline (sprint, stamina infinita), Focus (meno rinculo e oscillazione), Painkiller drip (cura nel tempo), Fortify (ignora parte di ogni morso di zombie). Tutti finiscono quando vai a terra.

Gadget:

  • Scout drone - si pilota con WASD, Spazio/Ctrl, Shift accelera, E segnala un punto alla tua squadra. Ha una batteria (Gadgets.Batteries: piccola 60 s, media 120 s, grande 240 s di volo). Si ricarica fermo in un veicolo acceso, oppure con E accanto a un veicolo acceso o a un generatore (Gadgets.Charge).
  • Mini turret - spara solo ai vaganti, mai ai giocatori. Una per giocatore. Ogni colpo è controllato dal server.
  • Medic beacon - cura te e i compagni di squadra nel raggio.
  • Decoy - una boombox che fa rumore e attira i vaganti. Si può abbattere a colpi.
  • Riot shield - per ora sospeso (Gadgets.Types.booster_shield.enabled = false), il prop non compare ancora sul braccio.

Gli id degli oggetti restano booster_drone, booster_turret, booster_medic, booster_decoy così i vecchi salvataggi funzionano. Non rinominarli.

Dai oggetti per testare da F10 > ITEMS (c’è una scheda BOOSTERS e GADGETS), oppure da codice con exports.bs_inventory:GiveItem(src, item, amount, metadata).