本帖最后由 345912390 于 2014-8-30 17:06 编辑  
 
 你需要对物品设置第二货币价格,在物品 的备注中输入 不想在RPG::BaseItem中加入price属性就多改了一点,用以下 脚本替换你发的那个 
 
#第二货币设置 $SECOND_CURRENCY_SWITCH = 100 $SECOND_CURRENCY_NAME = "**" #第二货币方法 class Game_Party < Game_Unit   attr_reader    :spegold   alias initialize_normal_sc initialize   def initialize     initialize_normal_sc     @spegold = 0   end   alias gain_gold_normal_sc gain_gold   def gain_gold(amount)     if $game_switches[$SECOND_CURRENCY_SWITCH]       @spegold = [[@spegold + amount, 0].max, max_gold].min     else       gain_gold_normal_sc(amount)     end   end end #第二货币的显示 class Window_Gold < Window_Base   #覆盖方法!可能引起冲突   def initialize     super(0, 0, window_width, fitting_height(2))     self.opacity = 100     refresh   end   alias refresh_normal_sc refresh   def refresh     refresh_normal_sc     draw_currency_value($game_party.spegold, $SECOND_CURRENCY_NAME, 4, 24, contents.width - 8)   end end #战斗胜利不获得第二货币 module BattleManager   #覆盖方法!可能引起冲突   def self.gain_gold     if $game_troop.gold_total > 0       text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)       $game_message.add('\.' + text)       $game_party.gain_gold_normal_sc($game_troop.gold_total)     end     wait_for_message   end end #用第二货币买东西 module RPG   class Item     def price       if $game_switches[$SECOND_CURRENCY_SWITCH]         note.split(/[\r\n]+/).each { |line|           case line           when /<第二货币价格:(\d+)>/i             return $1.to_i           end         }         return 0       else         return @price       end     end   end   class EquipItem     def price       if $game_switches[$SECOND_CURRENCY_SWITCH]         note.split(/[\r\n]+/).each { |line|           case line           when /<第二货币价格:(\d+)>/i             return $1.to_i           end         }         return 0       else         return @price       end     end   end end #商店中购买灵魄物品显示灵魄 class Window_ShopNumber < Window_Selectable   alias draw_total_price_normal_sc draw_total_price   def draw_total_price     if $game_switches[$SECOND_CURRENCY_SWITCH]       @currency_unit = $SECOND_CURRENCY_NAME     end     draw_total_price_normal_sc   end end class Scene_Shop < Scene_MenuBase   alias money_normal_sc money   def money     if $game_switches[$SECOND_CURRENCY_SWITCH]       return $game_party.spegold     else       return money_normal_sc     end   end   alias create_gold_window_normal_sc create_gold_window   def create_gold_window     create_gold_window_normal_sc     @gold_window.y -= 10   end end 
 
 #第二货币设置  
$SECOND_CURRENCY_SWITCH = 100  
$SECOND_CURRENCY_NAME = "**"  
#第二货币方法  
class Game_Party < Game_Unit  
  attr_reader    :spegold  
  alias initialize_normal_sc initialize  
  def initialize  
    initialize_normal_sc  
    @spegold = 0  
  end  
  alias gain_gold_normal_sc gain_gold  
  def gain_gold(amount)  
    if $game_switches[$SECOND_CURRENCY_SWITCH]  
      @spegold = [[@spegold + amount, 0].max, max_gold].min  
    else  
      gain_gold_normal_sc(amount)  
    end  
  end  
end  
#第二货币的显示  
class Window_Gold < Window_Base  
  #覆盖方法!可能引起冲突  
  def initialize  
    super(0, 0, window_width, fitting_height(2))  
    self.opacity = 100  
    refresh  
  end  
  alias refresh_normal_sc refresh  
  def refresh  
    refresh_normal_sc  
    draw_currency_value($game_party.spegold, $SECOND_CURRENCY_NAME, 4, 24, contents.width - 8)  
  end  
end  
#战斗胜利不获得第二货币  
module BattleManager  
  #覆盖方法!可能引起冲突  
  def self.gain_gold  
    if $game_troop.gold_total > 0  
      text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)  
      $game_message.add('\.' + text)  
      $game_party.gain_gold_normal_sc($game_troop.gold_total)  
    end  
    wait_for_message  
  end  
end  
#用第二货币买东西  
module RPG  
  class Item  
    def price  
      if $game_switches[$SECOND_CURRENCY_SWITCH]  
        note.split(/[\r\n]+/).each { |line|  
          case line  
          when /<第二货币价格:(\d+)>/i  
            return $1.to_i  
          end  
        }  
        return 0  
      else  
        return @price  
      end  
    end  
  end  
  class EquipItem  
    def price  
      if $game_switches[$SECOND_CURRENCY_SWITCH]  
        note.split(/[\r\n]+/).each { |line|  
          case line  
          when /<第二货币价格:(\d+)>/i  
            return $1.to_i  
          end  
        }  
        return 0  
      else  
        return @price  
      end  
    end  
  end  
end  
#商店中购买灵魄物品显示灵魄  
class Window_ShopNumber < Window_Selectable  
  alias draw_total_price_normal_sc draw_total_price  
  def draw_total_price  
    if $game_switches[$SECOND_CURRENCY_SWITCH]  
      @currency_unit = $SECOND_CURRENCY_NAME  
    end  
    draw_total_price_normal_sc  
  end  
end  
class Scene_Shop < Scene_MenuBase  
  alias money_normal_sc money  
  def money  
    if $game_switches[$SECOND_CURRENCY_SWITCH]  
      return $game_party.spegold  
    else  
      return money_normal_sc  
    end  
  end  
  alias create_gold_window_normal_sc create_gold_window  
  def create_gold_window  
    create_gold_window_normal_sc  
    @gold_window.y -= 10  
  end  
end  
 
  |