İçeriğe geç

Eşya ve trader ekleme

Eşyalar bs_inventory/config/config_items.lua içinde, Items.Definitions altında durur. Başlangıçta bs_item_definitions ile senkronize edilir, yani yalnızca dosyayı düzenlersin.

my_tin = { label = 'Tinned Peaches', category = 'food', weight = 0.4, w = 1, h = 1, stack = 5,
usable = true, value = 14, data = { hunger = 25, thirst = 5 } },
  • w / h ızgara boyutudur, stack slot başına azami adet, value trader’ların dengelendiği katalog değeridir.
  • data kategoriye bağlıdır: tüketilebilirler için heal, hunger, thirst; silahlar için weapon = 'WEAPON_X'; başka bir resource tükettiğinde handled = true.
  • İkonlar bs_ui/html/js/icons.js dosyasından gelir. İkon yoksa genel bir tanesi kullanılır, yine de çalışır.
  • Çevrilsin mi? Label’a bs_inventory/locales/<lang>.lua içinde bir anahtar verilebilir, bkz. Diller.

bs_inventoryyi sakin bir zamanda yeniden başlat (insanların envanterleri yeniden yüklenir). Daha fazla ayrıntı Envanter sayfasında, kod için Eşyalar ve envanter sayfasında.

Test etmek için kendine F10 > ITEMS üzerinden ver ya da kodla:

exports.bs_inventory:GiveItem(src, 'my_tin', 3)

Tarifler aynı dosyada durur. factionBase = true olan bir tarif yalnızca fraksiyonunun bayrak yarıçapı içinde üretilebilir.

Trader’lar bs_traders/config/config_traders.lua içinde, Traders.Traders altındadır. Her biri bir güvenli bölgeye göre yerleştirilir:

trader_sandy = {
label = 'Camp Trader', role = 'trader', clothing = true,
zone = 'sandy_camp', offset = vector3(-6.0, 4.0, 0.0), heading = 30.0,
model = 'a_m_m_farmer_01', scenario = 'WORLD_HUMAN_STAND_IMPATIENT',
buys = { { item = 'scrap_metal', price = 3 } },
sells = { { item = 'my_tin', price = 20, stock = 30 } },
},
  • buys trader’ın oyunculara ödediği, sells oyuncuların satın alabildiği şeydir, stock onu sınırlar.
  • Gelen dosya sells fiyatlarını eşyanın value değerinin yaklaşık 1,4 ila 1,5 katında, buys fiyatlarını ise altında tutar. Buna uy, yoksa ekonomi çabuk bozulur.
  • missions = { ... } ile role = 'quest' bir görev vericisi yapar, görevler Traders.Missions içindedir.
  • F1’deki Global.traderPriceMultiplier tüm alış fiyatlarını ölçekler.

Uygulamak için bs_tradersı yeniden başlat. Bir güvenli bölgeyi değiştirdiysen, web sitesindeki harita sayfası bu dosyalardan elle çizilir, bu yüzden kendiliğinden takip etmez.