Przejdź do głównej zawartości

Ekwipunek, wyposażenie, boostery i gadżety

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,

Przedmioty zajmują miejsce na siatce (w x h) i mają wagę. Pasek szybkiego dostępu to klawisze 1-5.

Przedmioty są w bs_inventory/config/config_items.lua, Items.Definitions. Przy starcie synchronizują się do tabeli bs_item_definitions, żeby baza i config się nie rozjeżdżały. Prawdziwy przykład z pliku:

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

To, co trafia do data, zależy od kategorii. Kilka, których użyjesz:

  • heal, hunger, thirst - przedmioty jednorazowego użytku
  • weapon = 'WEAPON_X' - przedmiot jest bronią (bs_guard sprawdza też, czy naprawdę ją masz)
  • drug = ... - obsługiwane przez bs_drugs, zobacz Narkotyki
  • handled = true - ekwipunek nie zużywa go przy użyciu, robi to inny resource
  • defaultMeta = {...} - metadane, które nowy przedmiot dostaje, gdy nikt mu ich nie nada (używa tego bateria drona)

Receptury są w tym samym pliku (craft_medkit itd.). Receptura z factionBase = true craftuje tylko w promieniu aktywnej flagi twojej frakcji.

Ikony: ekwipunek używa ikon liniowych z bs_ui/html/js/icons.js. Nowy przedmiot bez ikony pokazuje po prostu ogólną.

Od migracji 021 ubrania to wygląd, nie przedmioty. To, co nosisz, ustawia się u NPC od garderoby (bs_traders) i zapisuje z postacią. Tylko plecak i kamizelka są nadal przedmiotami ze slotami wyposażenia, bo mają wpływ na rozgrywkę (pojemność, ochrona). To config_clothing.lua.

Loot z kontenerów (kosze, auta, szafki) jest w bs_interactions/config/config_containers.lua. Tabele lootu zombie są w bs_economy/config/config_economy.lua. Global.lootMultiplier i Global.lootRollsMultiplier w F1 skalują loot z kontenerów bez ruszania tabel.

Dwa osobne systemy z własnymi slotami.

Boostery (bs_boosters)Gadżety (bs_gadgets)
Coosobiste buffy, użycie natychmiastowerzeczy, które się stawia lub pilotuje
Sloty / klawisze3, klawisze 6 / 7 / 82, klawisze 9 / 0
Kategoria przedmiotuboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

Klawisze to key mappingi FiveM, gracze mogą je zmienić w Ustawienia > Przypisanie klawiszy > FiveM. Umiejętności frakcji booster_cd / booster_cd2 skracają oba cooldowny.

Boostery: Adrenaline (sprint, nieskończona stamina), Focus (mniejszy odrzut i chwiejenie), Painkiller drip (leczenie w czasie), Fortify (ignoruje część każdego ugryzienia zombie). Wszystkie kończą się, gdy zostaniesz powalony.

Gadżety:

  • Scout drone - sterowanie WASD, Spacja/Ctrl, Shift przyspiesza, E oznacza miejsce dla twojego oddziału. Ma baterię (Gadgets.Batteries: mała 60 s, średnia 120 s, duża 240 s lotu). Ładuje się w działającym pojeździe albo przez E obok działającego pojazdu lub generatora (Gadgets.Charge).
  • Mini turret - strzela tylko do szwendaczy, nigdy do graczy. Jedna na gracza. Każdy strzał sprawdza serwer.
  • Medic beacon - leczy ciebie i członków oddziału w promieniu.
  • Decoy - boombox, który hałasuje i przyciąga szwendaczy. Można go zestrzelić.
  • Riot shield - na razie wstrzymana (Gadgets.Types.booster_shield.enabled = false), prop nie pokazuje się jeszcze na ramieniu.

Identyfikatory przedmiotów to nadal booster_drone, booster_turret, booster_medic, booster_decoy, żeby stare zapisy działały. Nie zmieniaj ich nazw.

Przedmioty do testów dasz z F10 > ITEMS (jest zakładka BOOSTERS i GADGETS) albo z kodu przez exports.bs_inventory:GiveItem(src, item, amount, metadata).