设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1554|回复: 1
打印 上一主题 下一主题

[已经过期] 请好心的哥哥姐姐们帮我看一下这个怎么代价

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2012-4-9
帖子
24
跳转到指定楼层
1
发表于 2012-5-4 19:55:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个强化武器的脚本 ,强化不花钱  怎么改成要花钱的
具体的就是这个 请帮忙 感激不尽


武器隨機生成,强化,魔石添加,三合一腳本(插件版)
http://rpg.blue/thread-74766-1-1.html




module Vocab
  Smith_Price = "鍛煉代價"
  Smith_Gold  = "金錢"
  Smith_Need  = "需要"
  Smith_Hold  = "現有"
  Smith_Strenthen = "强化"
  Smith_Dress = "着裝"
  Smith_Yes = "是"
  Smith_No = "否"
end

#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
#  模仿 VX 寫的游戲界面超級類
#==============================================================================
unless defined? Scene_Base
class Scene_Base
  #--------------------------------------------------------------------------
  # ● 主處理
  #--------------------------------------------------------------------------
  def main
    window_create       #生成窗口
    Graphics.transition #執行過渡
    loop_do             #主循環
    Graphics.freeze     #準備過渡
    window_dispose      #釋放窗口
    background_dispose  #背景釋放
  end
  #--------------------------------------------------------------------------
  # ● 主循環
  #--------------------------------------------------------------------------
  def loop_do
    loop do
      Graphics.update   #刷新「游戏畫面」
      Input.update      #刷新「輸入信息」
      update            #刷新畫面
      
      #如果切換畫面就中斷循環
      break if $scene != self
    end
  end
  #--------------------------------------------------------------------------
  # ● 生成主要窗口
  #--------------------------------------------------------------------------
  def window_create
  end
  #--------------------------------------------------------------------------
  # ● 刷新畫面
  #--------------------------------------------------------------------------
  def update
  end
  #--------------------------------------------------------------------------
  # ● 釋放窗口
  #--------------------------------------------------------------------------
  def window_dispose
  end
  #--------------------------------------------------------------------------
  # ● 背景釋放
  #--------------------------------------------------------------------------
  def background_dispose
    @background.dispose unless @background.nil?
  end
end
end

#==============================================================================
# ■ Deatwo_Smith_Shop1
#------------------------------------------------------------------------------
#  處理角色選擇界面的類
#==============================================================================
class Deatwo_Smith_Shop1 < Scene_Base
  #--------------------------------------------------------------------------
  # ● 取得初始光標位置
  #--------------------------------------------------------------------------
  def initialize(actor=0); @ini_index = actor; end
  #--------------------------------------------------------------------------
  # ● 主處理
  #--------------------------------------------------------------------------
  def main
    @background = Spriteset_Map.new
    super
  end
  #--------------------------------------------------------------------------
  # ● 生成主要窗口
  #--------------------------------------------------------------------------
  def window_create
    #------------------------------------
    # ● 幫助窗口
    #------------------------------------
    @help_window = Deatwo_Smith_Help.new
    #------------------------------------
    # ● 人物窗口
    #------------------------------------
    @actor_window = Deatwo_Smith_Status.new
    @actor_window.index = @ini_index         # 修正光標位置
    @actor_window.help_window = @help_window # 聯繫幫助窗口
    #------------------------------------
    # ● 選項窗口
    #------------------------------------
    @command_window = Deatwo_Smith_Command.new
  end
  #--------------------------------------------------------------------------
  # ● 釋放窗口
  #--------------------------------------------------------------------------
  def window_dispose
    @help_window.dispose    # 釋放「幫助窗口」
    @actor_window.dispose   # 釋放「人物窗口」
    @command_window.dispose # 釋放「選項窗口」
  end
  #--------------------------------------------------------------------------
  # ● 刷新畫面
  #--------------------------------------------------------------------------
  def update
    @help_window.update    # 刷新「幫助窗口」
    @actor_window.update   # 刷新「人物窗口」
    @command_window.update # 刷新「選項窗口」
   
    # 如果人物窗口活躍,調用 update_actor
    if @actor_window.active
      update_actor
      return
    end
    # 如果選項窗口活躍,調用 update_command
    if @command_window.active
      update_command
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 如果人物窗口激活,調用 update_actor
  #--------------------------------------------------------------------------
  def update_actor
    # 按下 B or Esc 键的情况下
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se) # 演奏确定 SE
      $scene = Scene_Map.new                         # 切换回地圖畫面
      #->切換到地圖畫面
      return
    end
    # 按下 C or Space 键的情况下
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se) # 演奏确定 SE
      @actor_window.active = false                   # 凍結角色窗口
      @actor = @actor_window.index                   # 記錄當前選擇角色
      
      @command_window.active = true                  # 活躍選項窗口
      @command_window.index = 0                      # 修正初始光標位置
      #->切換到選項窗口
    end
  end
  #--------------------------------------------------------------------------
  # ● 如果選項窗口激活,調用 update_command
  #--------------------------------------------------------------------------
  def update_command
    # 按下 B or Esc 鍵的情况下
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se) # 演奏确定 SE
      @actor_window.active = true                    # 活躍角色窗口
      @command_window.active = false                 # 凍結選項窗口
      @command_window.index = -1                     # 隱藏光標
      #->切換到人物窗口
      return
    end
    # 按下 C or Space 鍵的情况下
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se) # 演奏确定 SE
      case @command_window.index
      when 0: $scene = Deatwo_Smith_Shop2.new(@actor)      # 轉入强化畫面
      when 1: $scene = Deatwo_Smith_Shop3.new(@actor)      # 轉入裝備畫面
      end
    end
  end
end
#==============================================================================
# ■ Deatwo_Smith_Help
#------------------------------------------------------------------------------
#  描述角色裝備的幫助窗口
#==============================================================================
class Deatwo_Smith_Help < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(300, 150, 640-300, 420-90)
    self.z = 120
    self.opacity = 190
    self.visible = true
    self.contents = Bitmap.new(width - 32, height - 32)
  end
  #--------------------------------------------------------------------------
  # ● 設置文本
  #--------------------------------------------------------------------------
  def set_text(data)
    @data = data
    set_actor_text(@data)
  end
  #--------------------------------------------------------------------------
  # ● 描绘物品名
  #     item : 物品
  #     x    : 描画目标 X 坐标
  #     y    : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_item_name(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name)
  end
  #--------------------------------------------------------------------------
  # ● 描繪全裝備
  #   
  #--------------------------------------------------------------------------
  def set_actor_text(actor)
    @actor = actor
    y=0
    self.contents.clear
    @data = [$data_weapons[@actor.weapon_id],
      $data_armors[@actor.armor1_id],
      $data_armors[@actor.armor2_id],
      $data_armors[@actor.armor3_id],
      $data_armors[@actor.armor4_id]
    ]
    self.contents.font.color = system_color
    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
    self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
    for i in [0,1,2,3,4]
      draw_item_name(@data, 92, 32 * i)
    end
  end
end
#==============================================================================
# ■ Deatwo_Smith_Status
#------------------------------------------------------------------------------
#  顯示角色狀態的窗口。
#==============================================================================

class Deatwo_Smith_Status < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化目標
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 300, 480)
    @item_max = $game_party.actors.size
    self.contents = Bitmap.new(width - 32, height - 32)
    self.active = true
    self.index = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 獲取人物
  #--------------------------------------------------------------------------
  def actor
    return $game_party.actors[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors
      draw_actor_graphic(actor, x - 40, y + 80)
      draw_actor_exp(actor, x, y + 64)
      draw_actor_name(actor, x, y)
      draw_actor_level(actor, x, y + 32)
      draw_actor_class(actor, x + 144, y)
      draw_actor_state(actor, x + 90, y + 32)
      draw_actor_hp(actor, x + 236, y + 32)
      draw_actor_sp(actor, x + 236, y + 64)
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新幫助文本
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(actor)
  end
  #--------------------------------------------------------------------------
  # ● 刷新光標矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
  end
end
#==============================================================================
# ■ Deatwo_Smith_Command
#------------------------------------------------------------------------------
#  選擇行爲的窗口
#==============================================================================
class Deatwo_Smith_Command < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化對象
  #--------------------------------------------------------------------------
  def initialize
    super(300, 0, 340, 150)
    @commands = [Vocab::Smith_Strenthen,Vocab::Smith_Dress]
    @item_max = 2
    @column_max = 2
    self.index = -1
    self.active = false
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 描繪文字
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(35, 5, 240, 45, @commands[0])
    self.contents.draw_text(self.height + 35, 5, 240, 45, @commands[1])
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * (self.height), 0, (self.width/2-35), (self.height-35))
    end
  end
end

#==============================================================================
# ■ Deatwo_Smith_Shop2
#------------------------------------------------------------------------------
#  處理裝備强化界面的類
#==============================================================================
class Deatwo_Smith_Shop2 < Scene_Base
  #--------------------------------------------------------------------------
  # ● 取得選擇之角色資料
  #--------------------------------------------------------------------------
  def initialize(actor); @actor = actor; end
  #--------------------------------------------------------------------------
  # ● 主處理
  #--------------------------------------------------------------------------
  def main
    @background = Spriteset_Map.new
    super
  end
  #--------------------------------------------------------------------------
  # ● 生成主要窗口
  #--------------------------------------------------------------------------
  def window_create
    #------------------------------------
    # ● 確認窗口
    #------------------------------------
    @confirm_window = Deatwo_Smith_Confirm.new
    #------------------------------------
    # ● 幫助窗口
    #------------------------------------
    @help_window = Window_Help_Self.new
    #------------------------------------
    # ● 代價窗口
    #------------------------------------
    @price_window = Deatwo_Smith_Price.new
    #------------------------------------
    # ● 金錢窗口
    #------------------------------------
    @gold_window = Window_Gold.new
    @gold_window.x = 0
    @gold_window.y = 416
    @gold_window.z = 155
    #------------------------------------
    # ● 强化窗口
    #------------------------------------
    @upgrade_window = Deatwo_Smith_Equipment.new(@actor)
    @upgrade_window.active = true
    @upgrade_window.visible = true
    @upgrade_window.help_window = @help_window
    @upgrade_window.help_plus_window = @price_window
  end
  #--------------------------------------------------------------------------
  # ● 釋放窗口
  #--------------------------------------------------------------------------
  def window_dispose
    @confirm_window.dispose # 釋放「確認窗口」
    @help_window.dispose    # 釋放「幫助窗口」
    @price_window.dispose   # 釋放「代價窗口」
    @gold_window.dispose    # 釋放「金錢窗口」
    @upgrade_window.dispose # 釋放「强化窗口」
  end
  #--------------------------------------------------------------------------
  # ● 刷新畫面
  #--------------------------------------------------------------------------
  def update
    @confirm_window.update # 刷新「確認窗口」
    @help_window.update    # 刷新「幫助窗口」
    @price_window.update   # 刷新「代價窗口」
    @gold_window.update    # 刷新「金錢窗口」
    @upgrade_window.update # 刷新「强化窗口」
   
    # 如果强化窗口活躍: 调用 update_upgrade
    if @upgrade_window.active
      update_upgrade
      return
    end
    # 如果確認窗口活躍:調用 update_confirm
    if @confirm_window.active
      update_confirm
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 如果强化窗口活躍: 调用 update_upgrade
  #--------------------------------------------------------------------------
  def update_upgrade
    # 按下 B or Esc 鍵的情况下
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se) #演奏確認 SE
      $scene = Deatwo_Smith_Shop1.new(@actor)        #切換到 Step1
      #->切換到 Step1 界面
      return
    end
    # 按下 C or Space 鍵的情况下
    if Input.trigger?(Input::C)
      # 取得需要强化之物品
      @item = @upgrade_window.item
      
      # 如果不可强化則中止
      unless judgement(@item)
        $game_system.se_play($data_system.buzzer_se) #演奏凍結 SE
        return
      end
      
      $game_system.se_play($data_system.decision_se) #演奏確認 SE
      @confirm_window.visible = true                 #顯示「確認窗口」
      @confirm_window.active = true                  #活躍「確認窗口」
      @upgrade_window.active = false                 #凍結「强化窗口」
      #->切換到確認窗口
    end
  end
  #--------------------------------------------------------------------------
  # ● 判斷物品是否可以强化
  #--------------------------------------------------------------------------
  def judgement(item)
    # 沒有裝備的情况不能强化
    return false if item.nil?
   
    # 達到最高級不能强化
    return false if item.lv >= Upgrade::Max_lv
   
    @price = Upgrade::Price                          # 取得代價資料
    # 代價不足不能强化
    equipment_kind = 0 if item.is_a?(RPG::Weapon)
    equipment_kind = (item.kind + 1) if item.is_a?(RPG::Armor)
    lv = 0
    lv += (item.lv + 1) if (@price[equipment_kind].size - 1) >= (item.lv + 1)
    @items = @price[equipment_kind][lv][0]
    @gold = @price[equipment_kind][lv][1]
    pass = 0
    if @items.nil?
      item_enough = true
    else
      for item_id in @items.keys
        pass += 1 if $game_party.item_number(item_id) >= @items[item_id]
      end
      item_enough = true if pass == @items.size
    end
    if @gold.nil?
      gold_enough = true
    else
      gold_enough = true if $game_party.gold >= @gold
    end
    return false unless item_enough
    return false unless gold_enough
    return true
  end
  
   
  #--------------------------------------------------------------------------
  # ● 如果確認窗口活躍:調用 update_confirm
  #--------------------------------------------------------------------------
  def update_confirm
    # 按下 B or Esc 鍵的情况下
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se) #演奏確認 SE
      @confirm_window.visible = false                #隱藏「確認窗口」
      @confirm_window.active = false                 #凍結「確認窗口」
      @upgrade_window.active = true                  #活躍「强化窗口」
      #->切換到强化窗口
      return
    end
    # 按下 C or Space 鍵的情况下
    if Input.trigger?(Input::C)
      case @confirm_window.index
      when 0  # 確認
        # 扣除代價
        $game_party.lose_gold(@gold) unless @gold.nil?
        @items.each{|item_id, num| $game_party.lose_item(item_id, num)} unless @items.nil?
        
        kind = 0 if @item.is_a?(RPG::Weapon)
        kind = 1 if @item.is_a?(RPG::Armor)
        
        Upgrade.up_grade(@item.id, kind)

        @confirm_window.visible = false
        @confirm_window.active = false
        @upgrade_window.active = true
        # 刷新各窗口
        @price_window.non_auto_update
        @help_window.non_auto_update
        @upgrade_window.refresh(@actor)
        @gold_window.refresh
      when 1  # 取消
        @confirm_window.visible = false
        @confirm_window.active = false
        @upgrade_window.active = true
        return
      end
    end
  end
end

#==============================================================================
# ■ Deatwo_Smith_Confirm
#------------------------------------------------------------------------------
#  確認的窗口
#==============================================================================

class Deatwo_Smith_Confirm < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(300, 270, 240, 100)
    @item_max = 2
    @commands = [Vocab::Smith_Yes, Vocab::Smith_No]
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 255
    self.index =0
    self.z=150
    self.active = false
    self.visible = false
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    y =  index * 30 - 5
    self.contents.draw_text(5, -5, 240, 45, @commands[0])
    self.contents.draw_text(5, 25, 240, 45, @commands[1])
  end
end
#==============================================================================
# ■ Deatwo_Smith_Price
#------------------------------------------------------------------------------
#  描述强化代價的幫助窗口
#==============================================================================
class Deatwo_Smith_Price < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化對象
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 320, 480)
    self.z = 120
    self.opacity = 190
    self.visible = true
    self.contents = Bitmap.new(width - 32, height - 32)
    # 取得代價設定
    @price = Upgrade::Price
  end
  #--------------------------------------------------------------------------
  # ● 手動更新帮助窗口
  #--------------------------------------------------------------------------
  def non_auto_update
    data = @data
    set_price_text(data)
  end
  #--------------------------------------------------------------------------
  # ● 設置描述
  #--------------------------------------------------------------------------
  def set_text(data)
    if data != nil && @data != data
      @data = data
      set_price_text(@data)
    else
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 描繪代價
  #--------------------------------------------------------------------------
  def set_price_text(data)
    y=0
    self.contents.clear
    #---------------------
    # ● 裝備種類取得
    #---------------------
    equipment_kind = 0 if data.is_a?(RPG::Weapon)
    equipment_kind = (data.kind + 1) if data.is_a?(RPG::Armor)
    #---------------------
    # ● 代價資料取得
    #---------------------
    lv = 0
    lv += (data.lv + 1) if (@price[equipment_kind].size - 1) >= (data.lv + 1)
    items = @price[equipment_kind][lv][0]
    gold = @price[equipment_kind][lv][1]
    #---------------------
    # ● 標題描繪
    #---------------------
    y+=32
    text_title = Vocab::Smith_Price
    self.contents.font.color = normal_color
    self.contents.font.size = 18
    self.contents.draw_text(4, y-32, 212, 32, text_title, 0)
    #---------------------
    # ● 消耗金錢描繪
    #---------------------
    y+=32
    text_gold = Vocab::Smith_Gold + ":1000"
    self.contents.font.color = system_color
    self.contents.font.size = 16
    self.contents.draw_text(4, y-32, 212, 32, text_gold, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(4+100, y-32, 212, 32, gold.to_s, 0)
    #---------------------
    # ● 消耗物品描繪
    #---------------------
    unless items.nil?
      for item_id in items.keys
        y+=32
        need = items[item_id].to_s
        bring = $game_party.item_number(item_id).to_s
        
        text_name = $data_items[item_id].name
        text_need = (Vocab::Smith_Need + need)
        text_bring = (Vocab::Smith_Hold + bring)
        
        self.contents.font.color = system_color
        self.contents.font.size = 16
        self.contents.draw_text(4, y-32, 212, 32, text_name)
        
        self.contents.font.color = normal_color
        self.contents.draw_text(104, y-32, 212, 32, text_need)
        self.contents.draw_text(184, y-32, 212, 32, text_bring)
      end
    end
  end
end
#==============================================================================
# ■ Deatwo_Smith_Equipment
#------------------------------------------------------------------------------
#  主畫面用:顯示可以强化的裝備
#==============================================================================

class Deatwo_Smith_Equipment < Window_Selectable
  attr_reader :column_max
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize(n)
    super(320, 60-60, 640-320, 420+60)
    actor = n
    @max_lv = Upgrade::Max_lv # 取得最高等級
    @price = Upgrade::Price   # 取得代價設定
    @column_max = 1
    self.index = 0
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ● 获取物品
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh(n)
    unless self.contents.nil?
      self.contents.dispose
      self.contents = nil
    end
    actor = $game_party.actors[n]
    @data = [$data_weapons[actor.weapon_id],
      $data_armors[actor.armor1_id],
      $data_armors[actor.armor2_id],
      $data_armors[actor.armor3_id],
      $data_armors[actor.armor4_id]]
    # 如果项目数不是 0 就生成位图、描绘全部项目
    @item_max = 5
    if @data.size > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      5.times do |index|draw_item(index) end
    end
  end
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    return if item.nil?
   
    # 判斷裝備是否可以强化
    if judgement(item)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4
    y = index * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
  #--------------------------------------------------------------------------
  # ● 判斷裝備是否可以强化
  #--------------------------------------------------------------------------
  def judgement(item)
    return false if item.nil?
    return false unless item.lv < @max_lv
    equipment_kind = 0 if item.is_a?(RPG::Weapon)
    equipment_kind = (item.kind + 1) if item.is_a?(RPG::Armor)
    lv = 0
    lv += (item.lv + 1) if (@price[equipment_kind].size - 1) >= (item.lv + 1)
    @items = @price[equipment_kind][lv][0]
    @gold = @price[equipment_kind][lv][1]
    pass = 0
    if @items.nil?
      item_enough = true
    else
      for item_id in @items.keys
        pass += 1 if $game_party.item_number(item_id) >= @items[item_id]
      end
      item_enough = true if pass == @items.size
    end
    if @gold.nil?
      gold_enough = true
    else
      gold_enough = true if $game_party.gold >= @gold
    end
    return false unless item_enough
    return false unless gold_enough
    return true
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self,item)
  end
  #--------------------------------------------------------------------------
  # ● 幫助窗口的设置
  #     help_plus_window : 新的幫助窗口
  #--------------------------------------------------------------------------
  def update
    super
    update_help_plus if (self.active and @help_plus_window != nil)
  end
  def help_plus_window=(help_plus_window)
    @help_plus_window = help_plus_window
    # 刷新幫助文本 (update_help 定義了繼承目標)
    update_help_plus if (self.active and @help_plus_window != nil)
  end
  def update_help_plus
    @help_plus_window.set_text(item)
  end
end
#==============================================================================
# ■ Deatwo_Smith_Shop3
#------------------------------------------------------------------------------
#  處理裝備着裝界面的類
#==============================================================================
class Deatwo_Smith_Shop3 < Scene_Equip
  #--------------------------------------------------------------------------
  # ● 刷新画面 (右侧窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_right
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)   # 演奏取消 SE
      $scene = Deatwo_Smith_Shop1.new(@actor_index)  #切換到 Step1
      #->切換到 Step1 界面
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      #...固定装备的情况下
      if @actor.equip_fix?(@right_window.index)
        $game_system.se_play($data_system.buzzer_se) # 演奏冻结 SE
        return
      end
      $game_system.se_play($data_system.decision_se) # 演奏确定 SE
      #...激活物品窗口
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      return
    end
    # 按下 R 键的情况下
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)  # 演奏光标 SE
      # 移至下一位角色
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      # 切换到别的装备画面
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    # 按下 L 键的情况下
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se) # 演奏光标 SE
      # 移至上一位角色
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      # 切换到别的装备画面
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
  end
end



‘‘──[email protected]于2012-5-4 19:56补充以下内容

在线等  情哥哥 姐姐 帮帮忙
’’

Lv3.寻梦者

双子人

梦石
0
星屑
3185
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 2012-5-4 20:08:28 | 只看该作者
  1. class Upgrade
  2.   alias xy_basic_set basic_set
  3.   def basic_set
  4.     xy_basic_set
  5.     @price = 设定代价
  6.   end
  7. end
复制代码
在Main前面直接添加,但是要添加在原先脚本的后面,不能添加在前面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 22:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表