Zum Inhalt springen

Inventar, Ausrüstung, Booster und 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,

Items belegen Platz im Raster (w x h) und haben Gewicht. Die Hotbar sind die Tasten 1-5.

Items stehen in bs_inventory/config/config_items.lua, Items.Definitions. Beim Start werden sie in die Tabelle bs_item_definitions synchronisiert, damit Datenbank und Config nicht auseinanderlaufen. Ein echtes aus der Datei:

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

Was in data steht, hängt von der Kategorie ab. Einige, die du nutzen wirst:

  • heal, hunger, thirst - Verbrauchsgüter
  • weapon = 'WEAPON_X' - das Item ist eine Waffe (bs_guard prüft auch, dass du sie wirklich hast)
  • drug = ... - wird von bs_drugs behandelt, siehe Drogen
  • handled = true - das Inventar verbraucht es beim Benutzen nicht, eine andere Resource tut das
  • defaultMeta = {...} - Metadaten, die ein neues Item bekommt, wenn ihm niemand welche gibt (der Drohnenakku nutzt das)

Rezepte stehen in derselben Datei (craft_medkit usw.). Ein Rezept mit factionBase = true craftet nur im Radius der aktiven Flagge deiner eigenen Fraktion.

Icons: Das Inventar nutzt die Linien-Icons in bs_ui/html/js/icons.js. Ein neues Item ohne Icon zeigt einfach ein generisches.

Kleidung ist seit Migration 021 Aussehen, keine Items. Was du trägst, wird beim Kleiderschrank-NPC (bs_traders) festgelegt und mit dem Charakter gespeichert. Nur Rucksack und Körperpanzerung sind noch Items mit Ausrüstungsslots, weil sie Spielwirkung haben (Kapazität, Schutz). Das ist config_clothing.lua.

Container-Loot (Mülltonnen, Autos, Schränke) steht in bs_interactions/config/config_containers.lua. Zombie-Loot-Tabellen stehen in bs_economy/config/config_economy.lua. Global.lootMultiplier und Global.lootRollsMultiplier in F1 skalieren Container-Loot, ohne die Tabellen anzufassen.

Zwei getrennte Systeme mit eigenen Slots.

Booster (bs_boosters)Gadgets (bs_gadgets)
Waspersönliche Buffs, sofort benutztDinge, die man platziert oder fliegt
Slots / Tasten3, Tasten 6 / 7 / 82, Tasten 9 / 0
Item-Kategorieboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

Die Tasten sind FiveM-Key-Mappings, Spieler können sie unter Einstellungen > Tastenbelegung > FiveM ändern. Die Fraktions-Skills booster_cd / booster_cd2 verkürzen beide Cooldowns.

Booster: Adrenaline (Sprint, endlose Ausdauer), Focus (weniger Rückstoß und Wackeln), Painkiller drip (Heilung über Zeit), Fortify (ignoriert einen Teil jedes Zombiebisses). Alle enden, wenn du niedergehst.

Gadgets:

  • Scout drone - mit WASD fliegen, Leertaste/Strg, Shift Boost, E markiert einen Ort für deinen Trupp. Hat einen Akku (Gadgets.Batteries: klein 60 s, mittel 120 s, groß 240 s Flugzeit). Lädt in einem laufenden Fahrzeug, oder mit E neben einem laufenden Fahrzeug oder einem Generator (Gadgets.Charge).
  • Mini turret - schießt nur auf Walker, nie auf Spieler. Eine pro Spieler. Jeder Schuss wird vom Server geprüft.
  • Medic beacon - heilt dich und Truppmitglieder im Radius.
  • Decoy - eine Boombox, die Lärm macht und Walker anlockt. Kann abgeschossen werden.
  • Riot shield - vorerst geparkt (Gadgets.Types.booster_shield.enabled = false), das Prop erscheint noch nicht am Arm.

Die Item-IDs sind weiterhin booster_drone, booster_turret, booster_medic, booster_decoy, damit alte Spielstände funktionieren. Benenne sie nicht um.

Items zum Testen vergibst du über F10 > ITEMS (es gibt einen Tab BOOSTERS und GADGETS) oder per Code mit exports.bs_inventory:GiveItem(src, item, amount, metadata).