Salta ai contenuti

Aggiungere oggetti e trader

Gli oggetti stanno in bs_inventory/config/config_items.lua, in Items.Definitions. All’avvio vengono sincronizzati in bs_item_definitions, quindi modifichi solo il file.

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 è la dimensione sulla griglia, stack il massimo per slot, value il valore di catalogo attorno a cui sono bilanciati i trader.
  • data dipende dalla categoria: heal, hunger, thirst per i consumabili, weapon = 'WEAPON_X' per le armi, handled = true quando lo consuma un’altra resource.
  • Le icone vengono da bs_ui/html/js/icons.js. Senza icona ne viene usata una generica, funziona lo stesso.
  • Vuoi tradurlo? La label può avere una chiave in bs_inventory/locales/<lang>.lua, vedi Lingue.

Riavvia bs_inventory quando è tranquillo (gli inventari delle persone si ricaricano). Più dettagli nella pagina Inventario e, per il codice, in Oggetti e inventario.

Per provarlo, dattelo da F10 > ITEMS, o da codice:

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

Le ricette stanno nello stesso file. Una ricetta con factionBase = true si crafta solo dentro il raggio della bandiera della tua fazione.

I trader sono in bs_traders/config/config_traders.lua, Traders.Traders. Ognuno è posizionato rispetto a una zona sicura:

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 è ciò che il trader paga ai giocatori, sells ciò che i giocatori possono comprare, stock lo limita.
  • Il file incluso tiene i sells a circa 1,4-1,5 volte il value dell’oggetto e i buys sotto. Mantieni questo rapporto o l’economia si rompe in fretta.
  • role = 'quest' con missions = { ... } crea un datore di lavori, le missioni sono in Traders.Missions.
  • Global.traderPriceMultiplier in F1 scala tutti i prezzi d’acquisto.

Riavvia bs_traders per applicare. Se hai cambiato una zona sicura, la pagina della mappa sul sito è disegnata a mano da questi file, quindi non si aggiorna da sola.