İçeriğe geç

Envanter, ekipman, boosterlar ve gadget'lar

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,

Eşyalar ızgarada yer kaplar (w x h) ve ağırlığı vardır. Hızlı çubuk 1-5 tuşlarıdır.

Eşyalar bs_inventory/config/config_items.lua içinde, Items.Definitions. Başlangıçta bs_item_definitions tablosuna senkronize edilirler, böylece veritabanı ve config birbirinden kopmaz. Dosyadan gerçek bir örnek:

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

data içine ne konacağı kategoriye bağlıdır. Kullanacağın birkaçı:

  • heal, hunger, thirst - tüketilenler
  • weapon = 'WEAPON_X' - eşya bir silahtır (bs_guard ayrıca gerçekten sahip olup olmadığını kontrol eder)
  • drug = ... - bs_drugs tarafından işlenir, bkz. Uyuşturucular
  • handled = true - envanter kullanımda bunu tüketmez, başka bir resource tüketir
  • defaultMeta = {...} - yeni bir eşyaya kimse metadata vermediğinde verilen metadata (drone bataryası bunu kullanır)

Tarifler aynı dosyada (craft_medkit vb.). factionBase = true olan bir tarif yalnızca kendi grubunun aktif bayrak yarıçapı içinde üretilir.

Simgeler: envanter bs_ui/html/js/icons.js içindeki çizgi simgelerini kullanır. Simgesi olmayan yeni bir eşya genel bir simge gösterir.

Migrasyon 021’den beri kıyafetler görünümdür, eşya değil. Giydiğin şey gardırop NPC’sinde (bs_traders) belirlenir ve karakterle birlikte kaydedilir. Yalnızca sırt çantası ve zırh, oynanışa etkisi olduğu için (kapasite, koruma) hâlâ ekipman slotlu eşyalardır. O da config_clothing.lua.

Konteyner lootu (çöp kutuları, arabalar, dolaplar) bs_interactions/config/config_containers.lua içinde. Zombi loot tabloları bs_economy/config/config_economy.lua içinde. F1’deki Global.lootMultiplier ve Global.lootRollsMultiplier tablolara dokunmadan konteyner lootunu ölçekler.

Kendi slotları olan iki ayrı sistem.

Boosterlar (bs_boosters)Gadget’lar (bs_gadgets)
Nekişisel güçlendirmeler, anında kullanılıryerleştirilen ya da uçurulan şeyler
Slotlar / tuşlar3, tuşlar 6 / 7 / 82, tuşlar 9 / 0
Eşya kategorisiboostergadget
Configbs_boosters/config/config_boosters.luabs_gadgets/config/config_gadgets.lua

Tuşlar FiveM key mapping’leridir, oyuncular bunları Ayarlar > Tuş Atamaları > FiveM bölümünden değiştirebilir. booster_cd / booster_cd2 grup yetenekleri iki bekleme süresini de kısaltır.

Boosterlar: Adrenaline (sprint, sınırsız dayanıklılık), Focus (daha az geri tepme ve sallanma), Painkiller drip (zamanla iyileşme), Fortify (her zombi ısırığının bir kısmını yok sayar). Hepsi yere düştüğünde biter.

Gadget’lar:

  • Scout drone - WASD, Boşluk/Ctrl ile uçurulur, Shift hızlandırır, E mangan için bir noktayı işaretler. Bataryası vardır (Gadgets.Batteries: küçük 60 sn, orta 120 sn, büyük 240 sn uçuş). Çalışan bir araçta dururken ya da çalışan bir aracın veya jeneratörün yanında E ile şarj olur (Gadgets.Charge).
  • Mini turret - yalnızca yürüyenlere ateş eder, asla oyunculara. Oyuncu başına bir tane. Her atış sunucu tarafından kontrol edilir.
  • Medic beacon - yarıçap içindeki seni ve manga arkadaşlarını iyileştirir.
  • Decoy - gürültü yapan ve yürüyenleri çeken bir boombox. Vurulabilir.
  • Riot shield - şimdilik askıda (Gadgets.Types.booster_shield.enabled = false), prop henüz kolda görünmüyor.

Eski kayıtlar çalışsın diye eşya kimlikleri hâlâ booster_drone, booster_turret, booster_medic, booster_decoy. Adlarını değiştirme.

Test için eşyaları F10 > ITEMS’tan (BOOSTERS ve GADGETS sekmesi var) ya da koddan exports.bs_inventory:GiveItem(src, item, amount, metadata) ile ver.