Pular para o conteúdo

Adicionar itens e traders

Os itens vivem em bs_inventory/config/config_items.lua, em Items.Definitions. No arranque são sincronizados para bs_item_definitions, por isso só editas o ficheiro.

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 é o tamanho na grelha, stack o máximo por slot, value o valor de catálogo em torno do qual os traders são equilibrados.
  • data depende da categoria: heal, hunger, thirst para consumíveis, weapon = 'WEAPON_X' para armas, handled = true quando outro resource o consome.
  • Os ícones vêm de bs_ui/html/js/icons.js. Sem ícone, usa-se um genérico, continua a funcionar.
  • Queres tradução? A label pode ter uma chave em bs_inventory/locales/<lang>.lua, ver Idiomas.

Reinicia o bs_inventory quando estiver calmo (os inventários das pessoas recarregam). Mais detalhe na página Inventário e, para código, em Itens e inventário.

Para testar, dá-o a ti próprio em F10 > ITEMS, ou por código:

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

As receitas ficam no mesmo ficheiro. Uma receita com factionBase = true só se fabrica dentro do raio da bandeira da tua fação.

Os traders estão em bs_traders/config/config_traders.lua, Traders.Traders. Cada um é colocado relativamente a uma zona segura:

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 é o que o trader paga aos jogadores, sells o que os jogadores podem comprar, stock limita-o.
  • O ficheiro incluído mantém os sells a cerca de 1,4 a 1,5x o value do item e os buys abaixo dele. Mantém isso ou a economia desfaz-se depressa.
  • role = 'quest' com missions = { ... } cria um dador de trabalhos, as missões estão em Traders.Missions.
  • O Global.traderPriceMultiplier no F1 escala todos os preços de compra.

Reinicia o bs_traders para aplicar. Se mudaste uma zona segura, a página do mapa no site é desenhada à mão a partir destes ficheiros, por isso não acompanha sozinha.