O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Shop Price Variation

Iniciado por Corvo, 09/01/2020 às 22:19

09/01/2020 às 22:19 Última edição: 10/01/2020 às 09:07 por Corvo
Shop Price Variation


Este código permite que o preço dos itens na loja padrão variem de acordo com a quantidade de itens idênticos em posse do jogador. Quanto mais itens ele possuir, menor o preço de recompra pago pelos NPCs e maior o preço de venda cobrado por eles. O código também esconde o comando Vender/Sell quando este for desabilitado na configuração por eventos da loja.

#==============================================================================
# ** Shop Price Variation
#------------------------------------------------------------------------------
#  This code allows store item values to vary according to the quantity of
#  identical items in inventory. The higher the quantity, the lower the price
#  offered by the NPC and the higher the price charged by it for new items.
#------------------------------------------------------------------------------
# It's free for use on all types of projects. See more at centrorpg.com .
#==============================================================================

#==============================================================================
# ** Window_ShopCommand
#------------------------------------------------------------------------------
#  This window is for selecting buy/sell on the shop screen.
#==============================================================================

class Window_ShopCommand
  alias :add_command_Sell :add_command
  def add_command(*args)
    name, symbol = *args
    return if symbol === :sell && @purchase_only
    add_command_Sell(*args)
  end
end
#==============================================================================
# ** Window_ShopBuy
#------------------------------------------------------------------------------
#  This window displays a list of buyable goods on the shop screen.
#==============================================================================

class Window_ShopBuy < Window_Selectable

  #--------------------------------------------------------------------------
  # * Get Price of Item
  #--------------------------------------------------------------------------
  def price(item)
    if $game_party.item_number($data_items[item.itype_id]) == 0
        @price[item]
    else
        @price[item] + ($game_party.item_number($data_items[item.itype_id]) + (@price[item] / 3))
    end
  end
end
#==============================================================================
# ** Scene_Shop
#------------------------------------------------------------------------------
#  This class performs shop screen processing.
#==============================================================================

class Scene_Shop < Scene_MenuBase

  #--------------------------------------------------------------------------
  # * Calculate Sale Price
  #--------------------------------------------------------------------------
  def calc_sale_price(item)
    return @item.price / $game_party.item_number($data_items[@item.itype_id])
  end
  #--------------------------------------------------------------------------
  # * Get Sale Price
  #--------------------------------------------------------------------------
  def selling_price
    calc_sale_price(@item)
  end
end


O efeito não é perceptível por imagens.


Erros identificados nesta versão: Atualmente, os preços são atualizados por venda. Se o jogador resolver vender seus itens um à um, cada venda será feita em um preço maior que a anterior.


O uso é livre para todos os membros registrados em centrorpg.com.