| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 17573 | 
 
| 最后登录 | 2020-3-13 | 
 
| 在线时间 | 304 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 138 
 
        - 在线时间
 - 304 小时
 
        - 注册时间
 - 2014-4-11
 
        - 帖子
 - 419
 
 
 
 | 
	
4楼
 
 
 楼主 |
发表于 2014-9-10 14:17:48
|
只看该作者
 
 
 
- #==============================================================================
 
 - # ■ 强化系统 优化版
 
 - #------------------------------------------------------------------------------
 
 - #  强化系统  wyongcan制作
 
 - # 优化版更新内容:优化了语法,修复部分BUG,使代码可读性增强,增加了宝石选择窗口
 
 - # 发布于66RPG  转载请保留版权信息
 
 - #==============================================================================
 
 - module Qiang
 
 - $maxlv = 12  #最高升到的级数
 
 - $gailv = [100,80,70,60,50,30,20,10,5,5,5,5,1] #每级提升概率
 
 - $gemlv = [[30,93],[70,94]] #使用宝石提高的几率  [提高几率,宝石ID] 
 
 - $uplv = [[4,102],[8,103],[12,104]] #强化所需要的强化石 [最大强化到的等级,强化石ID]
 
 - $xxlv = [0,0,5,10,15,20,25,30,30,40,40,45,60] #每级强化后失败物品消失的几率
 
 - $jjlv = [0,10,15,20,30,45,55,65,70,70,75,80,100] #每级强化后失败物品降级的几率
 
 - $tsnl = [10,14,18,22,26,30,34,38,42,46,50,54,65] #每级强化提升能力的百分比
 
 - $tswp = [105,106] # 意思是:如果有31号物品则失败后物品不消失,如果有32号物品则失败后物品不降级
 
 - #武器强化后的计算公式为: 原攻击 * (1 + 提升能力百分比) + (0到当前强化级数随机) * 5 + 当前强化级数
 
 - $gemlv.sort!
 
 - $uplv.sort! 
 
 - $当前使用宝石id = 0
 
 - $当前使用宝石加成率 = 0
 
 - $强化哈希表 = {
 
 - "最高等级" => $maxlv ,
 
 - "每级概率" => $gailv ,
 
 - "宝石效果" => $gemlv ,
 
 - "消失几率" => $xxlv  ,
 
 - "降级几率" => $jjlv  ,
 
 - "提升能力" => $tsnl  ,
 
 - "特殊物品" => $tswp  ,
 
 - "强化材料" => $uplv  }
 
 -  def self.idlostitem(id,amount = 1)
 
 -   $game_party.lose_item(idgetitem(id),amount)
 
 -  end
 
  
-  def self.idlostequip(id,weapon = true,amount = 1)
 
 -   weapon == true ? $game_party.lose_item($data_weapons[id],amount,true) : $game_party.lose_item($data_armors[id],amount,true)
 
 -  end
 
  
-  def self.idgainequip(id,weapon = true,amount = 1)
 
 -   weapon == true ? $game_party.gain_item($data_weapons[id],amount,true) : $game_party.gain_item($data_armors[id],amount,true)
 
 -  end
 
  
-  def self.idgetitem(id)
 
 -   $data_items[id]
 
 -  end
 
  
-  def self.equipable?(id,weapon = true)
 
 -   weapon == true ? weaponupisnil(id) : armorupisnil(id)
 
 -   weapon == true ? equip = $data_weapons[id].dup : equip = $data_armors[id].dup
 
 -   price = equip.price
 
 -   @needmoney = price * equip.up
 
 -   if @needmoney == 0 
 
 -     @needmoney = price / 2 
 
 -   end
 
 -  #循环取出需要的强化材料
 
 -   temp = false
 
 -   for i in $强化哈希表["强化材料"]
 
 -     if equip.up < i[0]
 
 -       @lostitem = idgetitem i[1]
 
 -       $game_party.has_item?(idgetitem(i[1])) ? temp = true : temp = false
 
 -       break
 
 -     end
 
 -   end
 
 -   $game_party.gold >= @needmoney && temp == true ? true : false
 
 -  end
 
  
-  def self.upweapon (id)
 
 -   $message = ""
 
 -   success = false
 
 -   weaponupisnil(id)
 
 -   weapon = $data_weapons[id].dup
 
 -   gl = 0
 
 -   fangb = false
 
 -   fangj = false
 
 -   return unless weapon.up < $强化哈希表["最高等级"] && weaponupable?(id)
 
 -   loststh
 
 -   $message += "本次强化,共消耗:" + Vocab::currency_unit + " " + @needmoney.to_s
 
 -   $message += " " + @lostitem.name + "\n "
 
 -   gl = $强化哈希表["每级概率"][weapon.up]
 
 -   if $usegem == true
 
 -     gl += $当前使用宝石加成率
 
 -     idlostitem($当前使用宝石id)
 
 -     $message += idgetitem($当前使用宝石id).name + " "
 
 -   end
 
 -   if $fangb == true
 
 -     fangb = true
 
 -     idlostitem $强化哈希表["特殊物品"][0]
 
 -     $message += idgetitem($强化哈希表["特殊物品"][0]).name + " "
 
 -   end
 
 -   if $fangj == true
 
 -     fangj = true
 
 -     idlostitem $强化哈希表["特殊物品"][1]
 
 -     $message += idgetitem($强化哈希表["特殊物品"][1]).name + " "
 
 -   end
 
 -   suiji = rand (100)
 
 -   if suiji <= gl
 
 -     success = true
 
 -   end
 
 -   $message += "\n强化结果:"
 
 -   if success == true 
 
 -     $message += "强化成功"
 
 -     idlostequip id
 
 -     weapon.id = $data_weapons.size
 
 -     params = weapon.params.dup
 
 -     params[2] *= 1 + $强化哈希表["提升能力"][weapon.up] / 100
 
 -     params[2] += rand(weapon.up) * 5 + weapon.up
 
 -     params[2] += 1 if params[2] == weapon.params[2]
 
 -     $message += " 攻击力提升:" + (params[2] - weapon.params[2]).to_int.to_s
 
 -     weapon.up += 1
 
 -     $data_weapons.insert $data_weapons.size,weapon
 
 -     $data_weapons[$data_weapons.size-1].params = params
 
 -     idgainequip weapon.id
 
 -   else
 
 -     $message += "强化失败"
 
 -     suiji = rand (100)
 
 -     if suiji <= $强化哈希表["消失几率"][weapon.up]
 
 -       if fangb != true
 
 -       $message += ",道具消失"
 
 -       idlostequip id
 
 -       else
 
 -       $message += ",由于" + idgetitem($强化哈希表["特殊物品"][0]).name + "的作用,道具未消失"
 
 -       end
 
 -     else 
 
 -       suiji = rand (100)
 
 -       if suiji <= $强化哈希表["降级几率"][weapon.up]
 
 -         if fangj == false && weapon.up != 0
 
 -           $message += ",道具降级"
 
 -           params = weapon.params.dup
 
 -           params[2] -= weapon.up + rand(weapon.up) * 5
 
 -           params[2] /= 1 + $强化哈希表["提升能力"][weapon.up] / 100
 
 -           weapon.params = params
 
 -           weapon.up -= 1
 
 -           $data_weapons[id] = weapon
 
 -         else
 
 -           $message += ",由于" + idgetitem($强化哈希表["特殊物品"][1]).name + "的作用,道具未降级"
 
 -         end
 
 -       end
 
 -     end
 
 -   end
 
 -    $usegem = false
 
 -    $fangb = false
 
 -    $fangj = false
 
 -  end
 
 -  
 
 -  def self.weaponupisnil(id)
 
 -    $data_weapons[id].up = 0 unless $data_weapons[id].up != nil
 
 -  end
 
 -  
 
 -  def self.weaponupable?(id)
 
 -   equipable?(id)
 
 -  end
 
 -  
 
 -  def self.uparmor (id)
 
 -   $message = ""
 
 -   success = false
 
 -   armorupisnil(id)
 
 -   armor = $data_armors[id].dup
 
 -   gl = 0
 
 -   fangb = false
 
 -   fangj = false
 
 -   return unless armor.up < $强化哈希表["最高等级"] && armorupable?(id)
 
 -   loststh
 
 -   $message += "本次强化,共消耗:" + Vocab::currency_unit + " " + @needmoney.to_s
 
 -   $message += " " + @lostitem.name + "\n "
 
 -   gl = $强化哈希表["每级概率"][armor.up]
 
 -   if $usegem == true
 
 -     gl += $当前使用宝石加成率
 
 -     idlostitem($当前使用宝石id)
 
 -     $message += idgetitem($当前使用宝石id).name + " "
 
 -   end
 
 -   if $fangb == true
 
 -     fangb = true
 
 -     idlostitem $强化哈希表["特殊物品"][0]
 
 -     $message += idgetitem($强化哈希表["特殊物品"][0]).name + " "
 
 -   end
 
 -   if $fangj == true
 
 -     fangj = true
 
 -     idlostitem $强化哈希表["特殊物品"][1]
 
 -     $message += idgetitem($强化哈希表["特殊物品"][1]).name + " "
 
 -   end
 
 -   suiji = rand (100)
 
 -   if suiji <= gl
 
 -     success = true
 
 -   end
 
 -   $message += "\n强化结果:"
 
 -   if success == true 
 
 -     $message += "强化成功"
 
 -     idlostequip id,false
 
 -     armor.id = $data_armors.size
 
 -     params = armor.params.dup
 
 -     params[3] *= 1 + $强化哈希表["提升能力"][armor.up] / 100
 
 -     params[3] += rand(armor.up) * 5 + armor.up
 
 -     params[3] += 1 if params[3] == armor.params[3]
 
 -     $message += " 防御力提升:" + (params[3] - armor.params[3]).to_int.to_s
 
 -     armor.up += 1
 
 -     $data_armors.insert $data_armors.size,armor
 
 -     $data_armors[$data_armors.size-1].params = params
 
 -     idgainequip armor.id,false
 
 -   else
 
 -     $message += "强化失败"
 
 -     suiji = rand (100)
 
 -     if suiji <= $强化哈希表["消失几率"][armor.up]
 
 -       if fangb != true
 
 -       $message += ",道具消失"
 
 -       idlostequip id,false
 
 -       else
 
 -       $message += ",由于" + idgetitem($强化哈希表["特殊物品"][0]).name + "的作用,道具未消失"
 
 -       end
 
 -     else 
 
 -       suiji = rand (100)
 
 -       if suiji <= $强化哈希表["降级几率"][armor.up]
 
 -         if fangj == false && armor.up != 0
 
 -           $message += ",道具降级"
 
 -           params = armor.params.dup
 
 -           params[3] -= armor.up + rand(armor.up) * 5
 
 -           params[3] /= 1 + $强化哈希表["提升能力"][armor.up] / 100
 
 -           armor.params = params
 
 -           armor.up -= 1
 
 -           $data_armors[id] = armor
 
 -         else
 
 -           $message += ",由于" + idgetitem($强化哈希表["特殊物品"][1]).name + "的作用,道具未降级"
 
 -         end
 
 -       end
 
 -     end
 
 -   end
 
 -    $usegem = false
 
 -    $fangb = false
 
 -    $fangj = false
 
 -  end
 
 -  
 
 -  def self.armorupisnil(id)
 
 -    $data_armors[id].up = 0 unless $data_armors[id].up != nil
 
 -  end
 
 -  def self.armorupable?(id)
 
 -   equipable?(id,false)
 
 -  end
 
 -  def self.loststh()
 
 -    $game_party.lose_item(@lostitem,1)
 
 -    $game_party.lose_gold(@needmoney)
 
 -  end
 
 -  def self.needmoney
 
 -    @needmoney
 
 -  end
 
 -  def self.lostitem
 
 -    @lostitem
 
 -  end
 
 - end
 
 - #==============================================================================
 
 - # ■ Scene_Qiang
 
 - #------------------------------------------------------------------------------
 
 - #  强化画面
 
 - #==============================================================================
 
  
- class Scene_Qiang < Scene_MenuBase
 
 -   $wufang = true
 
 -   $usegem = false
 
 -   $fangb = false
 
 -   $fangj = false
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 开始处理
 
 -   #--------------------------------------------------------------------------
 
 -   def start
 
 -     super
 
 -     create_help_window
 
 -     @help_window.hide
 
 -     create_qianghelp_window
 
 -     create_command_window
 
 -     create_qiangxz_window
 
 -     create_wu_window
 
 -     create_fang_window
 
 -     create_choosegem_window
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成说明窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def create_qianghelp_window
 
 -     @qianghelp_window = Window_Qianghelp.new
 
 -     @qianghelp_window.y = Graphics.height - @qianghelp_window.height
 
 -     @qianghelp_window.viewport = @viewport
 
 -     @qianghelp_window.hide
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成选择宝石
 
 -   #--------------------------------------------------------------------------
 
 -   def create_choosegem_window
 
 -     @choosegem_window = Window_Choosegem.new
 
 -     @choosegem_window.y = Graphics.height - @choosegem_window.height
 
 -     @choosegem_window.viewport = @viewport
 
 -     @choosegem_window.z = 120
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成选择窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def create_qiangxz_window
 
 -     @qiangxz_window = Window_Qiangxz.new
 
 -     @qiangxz_window.y = @help_window.height + fitting_height(5) /2
 
 -     @qiangxz_window.z = 110
 
 -     @qiangxz_window.viewport = @viewport
 
 -     @qiangxz_window.set_handler(:gem,    method(:qiangxz_gem))
 
 -     @qiangxz_window.set_handler(:fangb,    method(:qiangxz_fangb))
 
 -     @qiangxz_window.set_handler(:fangj,    method(:qiangxz_fangj))
 
 -     @qiangxz_window.set_handler(:ok, method(:qiangxz_ok))
 
 -     @qiangxz_window.set_handler(:cancel, method(:qiangxz_cancel))
 
 -     @qiangxz_window.hide
 
 -     @qiangxz_window.deactivate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成指令窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def create_command_window
 
 -     @command_window = Window_QiangCommand.new
 
 -     @command_window.viewport = @viewport
 
 -     @command_window.y = @help_window.height + fitting_height(3) /2
 
 -     @command_window.set_handler(:qiangwu,    method(:qiangwu))
 
 -     @command_window.set_handler(:qiangfang,   method(:qiangfang))
 
 -     @command_window.set_handler(:cancel, method(:return_scene))
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成武器强化窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def create_wu_window
 
 -     @wu_window = Window_Qiangwu.new(@qianghelp_window,@qiangxz_window)
 
 -     @wu_window.viewport = @viewport
 
 -     @wu_window.y += @help_window.height
 
 -     @wu_window.hide
 
 -     @wu_window.help_window= @help_window
 
 -     @wu_window.set_handler(:cancel, method(:qiangwu_cancel))
 
 -     @wu_window.set_handler(:ok,     method(:qiangwu_ok))
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成防具强化窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def create_fang_window
 
 -     @fang_window = Window_Qiangfang.new(@qianghelp_window,@qiangxz_window)
 
 -     @fang_window.viewport = @viewport
 
 -     @fang_window.y += @help_window.height
 
 -     @fang_window.hide
 
 -     @fang_window.help_window= @help_window
 
 -     @fang_window.set_handler(:cancel, method(:qiangfang_cancel))
 
 -     @fang_window.set_handler(:ok,     method(:qiangfang_ok))
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 计算窗口显示指定行数时的应用高度
 
 -   #--------------------------------------------------------------------------
 
 -   def fitting_height(line_number)
 
 -     line_number * 24 + 12 * 2
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 显示强化武器
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangwu
 
 -     @command_window.hide
 
 -     @help_window.show
 
 -     @wu_window.show
 
 -     @wu_window.start
 
 -     @qianghelp_window.show
 
 -     @wu_window.activate
 
 -     $wufang = true
 
 -     @command_window.deactivate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 显示强化防具
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangfang
 
 -     @command_window.hide
 
 -     @help_window.show
 
 -     @fang_window.show
 
 -     @fang_window.start
 
 -     @qianghelp_window.show
 
 -     @fang_window.activate
 
 -     $wufang = false
 
 -     @command_window.deactivate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 取消强化武器
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangwu_cancel
 
 -     @command_window.show
 
 -     @help_window.hide
 
 -     @wu_window.hide
 
 -     @qianghelp_window.hide
 
 -     @command_window.activate
 
 -     @qianghelp_window.set_text("")
 
 -     @help_window.set_text("")
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 取消强化防具
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangfang_cancel
 
 -     @command_window.show
 
 -     @help_window.hide
 
 -     @fang_window.hide
 
 -     @qianghelp_window.hide
 
 -     @command_window.activate
 
 -     @qianghelp_window.set_text("")
 
 -     @help_window.set_text("")
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 确定强化武器 
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangwu_ok
 
 -     @wu_window.qiangwu_ok
 
 -     @qiangxz_window.show
 
 -     @qiangxz_window.activate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 确定强化防具 
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangfang_ok
 
 -     @fang_window.qiangfang_ok
 
 -     @qiangxz_window.show
 
 -     @qiangxz_window.activate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取卖出价格
 
 -   #--------------------------------------------------------------------------
 
 -   def selling_price
 
 -     @item.price / 2
 
 -   end
 
 -   
 
 -   def qiangxz_gem
 
 -     @choosegem_window.start
 
 -     @qiangxz_window.deactivate
 
 -     @choosegem_window.qiangxz= @qiangxz_window
 
 -     if $wufang == true
 
 -       @choosegem_window.wufangwindow= @wu_window
 
 -     else
 
 -       @choosegem_window.wufangwindow= @fang_window
 
 -     end
 
 -   end
 
 -   
 
 -   def qiangxz_fangb
 
 -     $fangb = !$fangb
 
 -     if $wufang == true
 
 -       @wu_window.update_help
 
 -     else
 
 -       @fang_window.update_help
 
 -     end
 
 -     @qiangxz_window.activate
 
 -   end
 
 -   
 
 -   def qiangxz_fangj
 
 -     $fangj = !$fangj
 
 -     if $wufang == true
 
 -       @wu_window.update_help
 
 -     else
 
 -       @fang_window.update_help
 
 -     end
 
 -     @qiangxz_window.activate
 
 -   end
 
 -   
 
 -   def qiangxz_ok
 
 -     if $wufang == true
 
 -       Qiang.upweapon(@wu_window.itemid)
 
 -       qianging
 
 -       @qianghelp_window.set_text($message)
 
 -       @qiangxz_window.hide
 
 -       Graphics.wait(60)
 
 -       @wu_window.activate
 
 -       @qiangxz_window.deactivate
 
 -       $当前使用宝石加成率 = 0
 
 -       $usegem = false
 
 -       @fang_window.update_help
 
 -       @wu_window.refresh
 
 -       @command_window.deactivate
 
 -     else
 
 -       Qiang.uparmor(@fang_window.itemid)
 
 -       qianging
 
 -       @qianghelp_window.set_text($message)
 
 -       @qiangxz_window.hide
 
 -       Graphics.wait(60)
 
 -       @fang_window.activate
 
 -       @qiangxz_window.deactivate
 
 -       $当前使用宝石加成率 = 0
 
 -       $usegem = false
 
 -       @fang_window.update_help
 
 -       @fang_window.refresh
 
 -       @command_window.deactivate
 
 - end
 
 -   end
 
 -   
 
 -   def qiangxz_cancel
 
 -     @wu_window.show
 
 -     @qiangxz_window.hide
 
 -     @qiangxz_window.deactivate
 
 -     if $wufang == true
 
 -       @wu_window.activate
 
 -     else
 
 -       @fang_window.activate
 
 -     end
 
 -     $当前使用宝石加成率 = 0
 
 -     $usegem = false
 
 -     @command_window.deactivate
 
 -   end
 
 -   
 
 -   def qianging
 
 -     i = 0
 
 -     while i < 20 
 
 -       i += 1
 
 -       text = "\n"
 
 -       text += "●" * i + "○" * (20 - i)
 
 -       text = text + "\n强化中,请等待。"
 
 -       @qianghelp_window.set_text(text)
 
 -       Graphics.wait(6)
 
 -     end
 
 -   end
 
 - end
 
  
- class RPG::EquipItem < RPG::BaseItem
 
 -   alias old initialize
 
 -   def initialize
 
 -     old
 
 -     @up = 0 #装备强化次数
 
 -   end
 
 -   attr_accessor :up
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Qiangwu
 
 - #------------------------------------------------------------------------------
 
 - #  强化系统_武器强化窗口
 
 - #==============================================================================
 
  
- class Window_Qiangwu < Window_ItemList 
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(qianghelp,xuanze)
 
 -     super(0, 0, Graphics.width, fitting_height(8))
 
 -     self.openness = 0
 
 -     deactivate
 
 -     @qianghelp = qianghelp
 
 -     @xuanze = xuanze
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 开始输入的处理
 
 -   #--------------------------------------------------------------------------
 
 -   def start
 
 -     self.category = :weapon
 
 -     refresh
 
 -     select(0)
 
 -     open
 
 -     activate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 查询此物品是否可用
 
 -   #--------------------------------------------------------------------------
 
 -   def enable?(item)
 
 -     return false unless item != nil
 
 -     Qiang.weaponupable?(item.id)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 确定强化武器
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangwu_ok
 
 -     result = item ? item.id : 0
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新帮助内容
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help
 
 -     return unless item != nil
 
 -     @help_window.set_item(item)
 
 -     needmoney = 0
 
 -     Qiang.weaponupable?(item.id)
 
 -     qitemname = Qiang.lostitem.name
 
 -     if item.up >= $强化哈希表["最高等级"]
 
 -       qitemname = "无法继续升级"
 
 -     end
 
 -     temp = []
 
 -     $usegem == true ? temp.push("使用") : temp.push("未使用")
 
 -     temp.push($data_items[$强化哈希表["特殊物品"][0]].name)
 
 -     $fangb == true ? temp.push("使用") : temp.push("未使用")
 
 -     temp.push($data_items[$强化哈希表["特殊物品"][1]].name)
 
 -     $fangj == true ? temp.push("使用") : temp.push("未使用")
 
 -     cgl = ($强化哈希表["每级概率"][item.up] + $当前使用宝石加成率).to_s
 
 -     if item.up == 0 
 
 -       min = item.params[2] + 1
 
 -       max = min + 5
 
 -     else
 
 -       if item.up >= $强化哈希表["最高等级"]
 
 -         min = item.params[2].to_int
 
 -         max = min
 
 -       else
 
 -     min = (item.params[2] * (1 + $强化哈希表["提升能力"][item.up] / 100)).to_int + item.up
 
 -     max = min + item.up * 5
 
 -     end
 
 -   end
 
 -     text = "装备名称:" + item.name + " 强化所需" + Vocab::currency_unit + ":" + Qiang.needmoney.to_s
 
 -     text = text + "\n" + "当前强化等级:" + item.up.to_s + " 强化需要:" +  qitemname
 
 -     text = text + "\n" + "强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
 
 -     text = text + "\n" + "成功率:" + cgl + "% " + "强化后攻击力范围:" + min.to_s + "~" + max.to_s
 
 -     @qianghelp.set_text(text)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取当前武器等级
 
 -   #--------------------------------------------------------------------------
 
 -   def getweaponup
 
 -     Qiang.weaponupisnil(item.id)
 
 -     item.up
 
 -   end
 
 -   
 
 -   def itemid
 
 -     item.id
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 选择项目
 
 -   #--------------------------------------------------------------------------
 
 -   def select(index)
 
 -     self.index = index if index
 
 -     update_help
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Qiangfang
 
 - #------------------------------------------------------------------------------
 
 - #  强化系统_防具强化窗口
 
 - #==============================================================================
 
  
- class Window_Qiangfang < Window_ItemList 
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(qianghelp,xuanze)
 
 -     super(0, 0, Graphics.width, fitting_height(8))
 
 -     self.openness = 0
 
 -     deactivate
 
 -     @qianghelp = qianghelp
 
 -     @xuanze = xuanze
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 开始输入的处理
 
 -   #--------------------------------------------------------------------------
 
 -   def start
 
 -     self.category = :armor
 
 -     refresh
 
 -     select(0)
 
 -     open
 
 -     activate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 查询此物品是否可用
 
 -   #--------------------------------------------------------------------------
 
 -   def enable?(item)
 
 -     return false unless item != nil
 
 -     Qiang.armorupable?(item.id)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 确定强化防具
 
 -   #--------------------------------------------------------------------------
 
 -   def qiangfang_ok
 
 -     result = item ? item.id : 0
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新帮助内容
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help
 
 -     return unless item != nil
 
 -     @help_window.set_item(item)
 
 -     needmoney = 0
 
 -     Qiang.armorupable?(item.id)
 
 -     qitemname = Qiang.lostitem.name
 
 -     if item.up >= $强化哈希表["最高等级"]
 
 -       qitemname = "无法继续升级"
 
 -     end
 
 -     temp = []
 
 -     $usegem == true ? temp.push("使用") : temp.push("未使用")
 
 -     temp.push($data_items[$强化哈希表["特殊物品"][0]].name)
 
 -     $fangb == true ? temp.push("使用") : temp.push("未使用")
 
 -     temp.push($data_items[$强化哈希表["特殊物品"][1]].name)
 
 -     $fangj == true ? temp.push("使用") : temp.push("未使用")
 
 -     cgl = ($强化哈希表["每级概率"][item.up] + $当前使用宝石加成率).to_s
 
 -     if item.up == 0 
 
 -       min = item.params[3] + 1
 
 -       max = min + 5
 
 -     else
 
 -       if item.up >= $强化哈希表["最高等级"]
 
 -         min = item.params[3].to_int
 
 -         max = min
 
 -       else
 
 -     min = (item.params[3] * (1 + $强化哈希表["提升能力"][item.up] / 100)).to_int + item.up
 
 -     max = min + item.up * 5
 
 -     end
 
 -   end
 
 -     text = "装备名称:" + item.name + " 强化所需" + Vocab::currency_unit + ":" + Qiang.needmoney.to_s
 
 -     text = text + "\n" + "当前强化等级:" + item.up.to_s + " 强化需要:" +  qitemname
 
 -     text = text + "\n" + "强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
 
 -     text = text + "\n" + "成功率:" + cgl + "% " + "强化后防御力范围:" + min.to_s + "~" + max.to_s
 
 -     @qianghelp.set_text(text)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取当前防具等级
 
 -   #--------------------------------------------------------------------------
 
 -   def getarmorup
 
 -     Qiang.armorupisnil(item.id)
 
 -     item.up
 
 -   end
 
 -   
 
 -   def itemid
 
 -     item.id
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 选择项目
 
 -   #--------------------------------------------------------------------------
 
 -   def select(index)
 
 -     self.index = index if index
 
 -     update_help
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_QiangCommand
 
 - #------------------------------------------------------------------------------
 
 - #  强化系统中,处理命令选择的窗口。
 
 - #==============================================================================
 
  
- class Window_QiangCommand < Window_Command
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super(0, 0)
 
 -     update_placement
 
 -     self.openness = 0
 
 -     open
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取窗口的宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def window_width
 
 -     return 160
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新窗口的位置
 
 -   #--------------------------------------------------------------------------
 
 -   def update_placement
 
 -     self.x = (Graphics.width - width) / 2
 
 -     self.y = (Graphics.height - height) / 2
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成指令列表
 
 -   #--------------------------------------------------------------------------
 
 -   def make_command_list
 
 -     add_command("强化武器",    :qiangwu)
 
 -     add_command("强化防具",    :qiangfang)
 
 -     add_command(Vocab::ShopCancel, :cancel)
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Qianghelp
 
 - #------------------------------------------------------------------------------
 
 - #  显示说明
 
 - #==============================================================================
 
  
- class Window_Qianghelp < Window_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super(0, 0, window_width, fitting_height(4) + 8)
 
 -     refresh
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取窗口的宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def window_width
 
 -     return 544
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取持有金钱
 
 -   #--------------------------------------------------------------------------
 
 -   def value
 
 -     $game_party.gold
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取货币单位
 
 -   #--------------------------------------------------------------------------
 
 -   def currency_unit
 
 -     Vocab::currency_unit
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 设置内容
 
 -   #--------------------------------------------------------------------------
 
 -   def set_text(text)
 
 -     if text != @text
 
 -       @text = text
 
 -       refresh
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 清除
 
 -   #--------------------------------------------------------------------------
 
 -   def clear
 
 -     set_text("")
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 刷新
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     contents.clear
 
 -     draw_text_ex(4, 0, @text)
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Qiangxz
 
 - #------------------------------------------------------------------------------
 
 - #  强化系统中,选择强化方式的窗口。
 
 - #==============================================================================
 
  
- class Window_Qiangxz < Window_Command
 
 -   @havegem = false
 
 -   @havefangb = false
 
 -   @havefangj = false
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super(0, 0)
 
 -     index = 0
 
 -     update_placement
 
 -     self.openness = 0
 
 -     open
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取窗口的宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def window_width
 
 -     return 180
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新窗口的位置
 
 -   #--------------------------------------------------------------------------
 
 -   def update_placement
 
 -     self.x = (Graphics.width - width) / 2
 
 -     self.y = (Graphics.height - height) / 2
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 检查可用
 
 -   #--------------------------------------------------------------------------
 
 -   def haveitem
 
 -     @havegem = false
 
 -     @havefangb = false
 
 -     @havefangj = false
 
 -     for i in $强化哈希表["宝石效果"]
 
 -         if $game_party.has_item?($data_items[i[0]])
 
 -         @havegem = true
 
 -       end
 
 -     end
 
 -     @havefangb = $game_party.has_item?($data_items[$强化哈希表["特殊物品"][0]])
 
 -     @havefangj = $game_party.has_item?($data_items[$强化哈希表["特殊物品"][1]])
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成指令列表
 
 -   #--------------------------------------------------------------------------
 
 -   def make_command_list
 
 -     haveitem
 
 -     add_command("宝石",     :gem, @havegem)
 
 -     add_command(Qiang.idgetitem($强化哈希表["特殊物品"][0]).name, :fangb, @havefangb)
 
 -     add_command(Qiang.idgetitem($强化哈希表["特殊物品"][1]).name, :fangj, @havefangj)
 
 -     add_command("开始强化", :start)
 
 -     add_command("取消强化", :cancel)
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Base
 
 - #------------------------------------------------------------------------------
 
 - #  游戏中所有窗口的父类
 
 - #==============================================================================
 
  
- class Window_Base < Window
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 绘制物品名称
 
 -   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_item_name(item, x, y, enabled = true, width = 172)
 
 -     return unless item
 
 -     draw_icon(item.icon_index, x, y, enabled)
 
 -     change_color(normal_color, enabled)
 
 -   if item.is_a?(RPG::EquipItem)
 
 -   if item.up != nil && item.up != 0
 
 -     draw_text(x + 24, y, width, line_height, item.name + "+" + item.up.to_s)
 
 -   else
 
 -     draw_text(x + 24, y, width, line_height, item.name)
 
 -   end
 
 -   else
 
 -     draw_text(x + 24, y, width, line_height, item.name)
 
 -   end
 
 -   end
 
 - end
 
 - class Window_ItemList
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 查询列表中是否含有此物品
 
 -   #--------------------------------------------------------------------------
 
 -   def include?(item)
 
 -     case @category
 
 -     when :item
 
 -       item.is_a?(RPG::Item) && !item.key_item?
 
 -     when :weapon
 
 -       item.is_a?(RPG::Weapon)
 
 -     when :armor
 
 -       item.is_a?(RPG::Armor)
 
 -     when :key_item
 
 -       item.is_a?(RPG::Item) && item.key_item?
 
 -     when :gem
 
 -       itemid = item ? item.id : 0
 
 -       itemid != 0 ? isgem(itemid) : false
 
 -     else
 
 -       false
 
 -     end
 
 -   end
 
 -   
 
 -   def isgem(itemid)
 
 -     for i in $强化哈希表["宝石效果"]
 
 -       return true if i[1] == itemid
 
 -     end
 
 -     false
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Choosegem
 
 - #------------------------------------------------------------------------------
 
 - #  选择强化使用的宝石
 
 - #==============================================================================
 
  
- class Window_Choosegem < Window_ItemList
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize()
 
 -     super(0, 0, Graphics.width, fitting_height(2))
 
 -     self.openness = 0
 
 -     deactivate
 
 -     @wufangwindow = nil
 
 -     @qiangxz = nil
 
 -     set_handler(:ok,     method(:on_ok))
 
 -     set_handler(:cancel, method(:on_cancel))
 
 -   end
 
 -   
 
 -   def wufangwindow=(wufangwindow)
 
 -     @wufangwindow = wufangwindow
 
 -   end
 
 -   def qiangxz=(qiangxz)
 
 -     @qiangxz = qiangxz
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 开始输入的处理
 
 -   #--------------------------------------------------------------------------
 
 -   def start
 
 -     self.category = :gem
 
 -     self.y = (Graphics.height - height) / 2
 
 -     refresh
 
 -     select(0)
 
 -     open
 
 -     activate
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 确定时的处理
 
 -   #--------------------------------------------------------------------------
 
 -   def on_ok
 
 -     result = item ? item.id : 0
 
 -     if result != 0
 
 -      $usegem = true
 
 -      $当前使用宝石id = result
 
 -      for i in $强化哈希表["宝石效果"]
 
 -        $当前使用宝石加成率 = i[0] if i[1] == $当前使用宝石id
 
 -      end
 
 -    else
 
 -      $当前使用宝石加成率 = 0
 
 -      $usegem = false
 
 -     end
 
 -     @wufangwindow.update_help
 
 -     @qiangxz.activate
 
 -     close
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 查询此物品是否可用
 
 -   #--------------------------------------------------------------------------
 
 -   def enable?(item)
 
 -     true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 取消时的处理
 
 -   #--------------------------------------------------------------------------
 
 -   def on_cancel
 
 -     $当前使用宝石加成率 = 0
 
 -     $usegem = false
 
 -     @wufangwindow.update_help
 
 -     @qiangxz.activate
 
 -     close
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ 强化系统DataManager
 
 - #------------------------------------------------------------------------------
 
 - #  将武器和防具数据保存入存档
 
 - #==============================================================================
 
 - module DataManager
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 生成存档内容
 
 -   #--------------------------------------------------------------------------
 
 -   def self.make_save_contents
 
 -     contents = {}
 
 -     contents[:system]        = $game_system
 
 -     contents[:timer]         = $game_timer
 
 -     contents[:message]       = $game_message
 
 -     contents[:switches]      = $game_switches
 
 -     contents[:variables]     = $game_variables
 
 -     contents[:self_switches] = $game_self_switches
 
 -     contents[:actors]        = $game_actors
 
 -     contents[:party]         = $game_party
 
 -     contents[:troop]         = $game_troop
 
 -     contents[:map]           = $game_map
 
 -     contents[:player]        = $game_player
 
 -     contents[:weapons]       = $data_weapons 
 
 -     contents[:armors]        = $data_armors
 
 -     contents
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 展开存档内容
 
 -   #--------------------------------------------------------------------------
 
 -   def self.extract_save_contents(contents)
 
 -     $game_system        = contents[:system]
 
 -     $game_timer         = contents[:timer]
 
 -     $game_message       = contents[:message]
 
 -     $game_switches      = contents[:switches]
 
 -     $game_variables     = contents[:variables]
 
 -     $game_self_switches = contents[:self_switches]
 
 -     $game_actors        = contents[:actors]
 
 -     $game_party         = contents[:party]
 
 -     $game_troop         = contents[:troop]
 
 -     $game_map           = contents[:map]
 
 -     $game_player        = contents[:player]
 
 -     $data_weapons       = contents[:weapons]
 
 -     $data_armors        = contents[:armors]
 
 -   end
 
 - end
 
  复制代码 这是强化脚本↑- #————————————————————————————————————————
 
 - # ●ITEM_LV By.Clov
 
 - #  *物品等级颜色描绘
 
 - #  *Ver1.1 Date:2013.9.17
 
 - #  *Ver1.2 Date:2013.9.24
 
 - #  *Ver1.3 Date:2013.9.24
 
 - #  *Ver1.4 Date:2013.10.10
 
 - #  *Ver1.5 Date:2013.10.12
 
 - #  *Ver1.6 Date:2013.10.17
 
 - #————————————————————————————————————————
 
 - module ITEM_LV
 
 -   ITEM_NAME = true                #物品名是否也绘色 关闭的话建议关闭ITEM_GFR
 
 -   ITEM_GFR = :UD                  #物品名绘色使用渐变色:LR 左右/:UD 上下/nil关闭
 
 -   ITEM_ENA = true                 #物品名、图标没有“无效透明”
 
 -   ITEM_TYPE = nil#:W                  #背景描绘类型:W 横向 :H纵向
 
 -   ITEM_SYM = ["[]",nil]           #设置取得等级的头尾字符 nil为内部字符
 
 -   ITEM_BACK_WIDTH = 172           #背景显示宽度(nil同步物品名宽度)
 
 -   ITEM_BACK_BBL = 0.5            #背景透明渐变的长度(0.1-0.5)
 
 -   ITEM_COLOR={
 
 -   "wh"=>Color.new(230,230,230,160),  #等级1 白色
 
 -   "bl"=>Color.new(1,108,254,160),    #等级2 蓝色
 
 -   "gr"=>Color.new(2,224,33,160),     #等级3 绿色
 
 -   "go"=>Color.new(246,255,3,160),    #等级4 金色
 
 -   "pe"=>Color.new(234,3,255,160),    #等级5 紫色
 
 -   "bo"=>Color.new(254,37,52,160),    #等级6 红色
 
 -   "cj"=>Color.new(2,253,209,160),   #等级0 成就徽章-湖蓝色
 
 -   "神话"=>Color.new(rand(255),rand(255),rand(255),160)  #神话级 测试颜色
 
 -   }
 
 - end
 
 - #————————————————————————————————————————
 
 - # ●Window_Base
 
 - #————————————————————————————————————————
 
 - class Window_Base < Window
 
 -   #———————————————————————————————————————
 
 -   #绘制物品名称
 
 -   #enabled : 有效的标志。false 的时候使用半透明效果绘制
 
 -   #———————————————————————————————————————
 
 -   def draw_item_name(item, x, y, enabled=true, width=ITEM_LV::ITEM_BACK_WIDTH)
 
 -     return unless item
 
 -     #有效度总开关
 
 -     enabled = ITEM_LV::ITEM_ENA ? ITEM_LV::ITEM_ENA : enabled
 
 -     #·等级绘制
 
 -     f1 = ITEM_LV::ITEM_SYM[0] ; f2 = ITEM_LV::ITEM_SYM[-1]
 
 -     item_lv = item.note.sten(f1, f2) ; if item_lv
 
 -     #等级背景宽为设定值
 
 -     if width ; w = width
 
 -     #等级背景宽同步物品名
 
 -     else ; w = contents.text_size(item.name).width+24 ; end
 
 -     #绘制等级背景
 
 -     item_lv =  item_lv.to_i != 0 ? item_lv.to_i : item_lv
 
 -     color = ITEM_LV::ITEM_COLOR[item_lv]
 
 -     case ITEM_LV::ITEM_TYPE
 
 -     when:W;contents.back_w(x,y,w,line_height,ITEM_LV::ITEM_BACK_BBL,color)
 
 -     when:H;contents.back_h(x,y,w,line_height,ITEM_LV::ITEM_BACK_BBL,color);end
 
 -     #物品名绘色
 
 -     contents.font.color = ITEM_LV::ITEM_NAME ? color : normal_color
 
 -     contents.font.color.alpha = enabled ? 255 : 160
 
 -     #·默认绘制
 
 -     else ; w = width ; change_color(normal_color, enabled) ; end
 
 -     #绘制图标
 
 -     draw_icon(item.icon_index, x, y, enabled)
 
 -     #绘制物品名
 
 -     case ITEM_LV::ITEM_GFR
 
 -     when nil ; draw_text(x + 24, y, w, line_height, item.name)
 
 -     when :LR ; item_name_gfr_text(x + 24, y, item.name,false)
 
 -     when :UD ; item_name_gfr_text(x + 24, y, item.name,true) ; end
 
 -   end
 
 -   #———————————————————————————————————————
 
 -   #绘制渐变物品名称
 
 -   #———————————————————————————————————————
 
 -   def item_name_gfr_text(x, y, text, vertical)
 
 -     color1 = contents.font.color
 
 -     color2 = Color.new(color1.red+80,color1.green+80,color1.blue+80)
 
 -     contents.gfr_text_pix(x, y,color1,color2, text, vertical)
 
 -   end
 
 - end
 
 - #————————————————————————————————————————
 
 - # ●String
 
 - #  *提取指定字符内容
 
 - #  *使用 "<name:abc123>".sten("<>","name:") >> "abc123"
 
 - #  -se为起始终点字符 必须指定两个字符字符作为起始点
 
 - #  -sym为内容标识字符 忽略的话只读第一个匹配sn的内容
 
 - #————————————————————————————————————————
 
 - class String
 
 -   #———————————————————————————————————————
 
 -   def sten(se,sym=nil)
 
 -     if sym ; s,e = se[0]<<sym,se[1] ; f = self.split(s)[1]
 
 -     return nil unless f && f.index(e) ; f[0,f.index(e)] ; else
 
 -     s,e = se[0],se[1] ; f = self ; i0 = f.index(s) ; i1 = f.index(e)
 
 -     return nil unless i0 && i1 ; f[i0+1,i1-i0-1] ; end
 
 -   end
 
 -   #———————————————————————————————————————
 
 -   def resten ; /<SYM(.*?)>/ =~ self ; $1 ; end
 
 -   #———————————————————————————————————————
 
 - end
 
 - #————————————————————————————————————————
 
 - # ●位图的追加绘制方法
 
 - #  *渐透明描绘以及RGSS1用gradient_fill_rect
 
 - #————————————————————————————————————————
 
 - class Bitmap
 
 -   #———————————————————————————————————————
 
 -   # ● 渐透明描绘(宽)
 
 -   #———————————————————————————————————————
 
 -   def back_w(x,y,w,h,bl=0.3,c=Color.new(0,200,230,128))
 
 -     r = c.red ; g = c.green ; b = c.blue ; o = c.alpha
 
 -     l = (w*bl).round
 
 -     all = [l,w-l*2,l]
 
 -     all.each_index {|i| ; w2 = all[i]
 
 -     case i
 
 -     when 0 ; x2 = 0 ; o1 = 0 ; o2 = o
 
 -     when 1 ; x2 = all[0] ; o1 = o2 = o
 
 -     when 2 ; x2 = all[0] + all[1] ; o1 = o ; o2 = 0 ; end
 
 -     c1 = Color.new(r,g,b,o1) ; c2 = Color.new(r,g,b,o2)
 
 -     gradient_fill_rect(x+x2, y, w2, h, c1, c2) if w2 > 0 }
 
 -   end
 
 -   #———————————————————————————————————————
 
 -   # ● 渐透明描绘(高)
 
 -   #———————————————————————————————————————
 
 -   def back_h(x,y,w,h,bl=0.3,c=Color.new(0,200,230,128))
 
 -     r = c.red ; g = c.green ; b = c.blue ; o = c.alpha
 
 -     l = (h*bl).round
 
 -     all = [l,h-l*2,l]
 
 -     all.each_index {|i| ; h2 = all[i]
 
 -     case i
 
 -     when 0 ; y2 = 0 ; o1 = 0 ; o2 = o
 
 -     when 1 ; y2 = all[0] ; o1 = o2 = o
 
 -     when 2 ; y2 = all[0] + all[1] ; o1 = o ; o2 = 0 ; end
 
 -     c1 = Color.new(r,g,b,o1) ; c2 = Color.new(r,g,b,o2)
 
 -     gradient_fill_rect(x, y+y2, w, h2, c1, c2, true) if h2 > 0 }
 
 -   end
 
 - end
 
 - #————————————————————————————————————————
 
 - # ●GFR_TEXT(VA) By.Clov
 
 - #  *横向、纵向渐变描绘文字
 
 - #  -Ver:1.0 Date:2013.10.12
 
 - #  -Ver:1.1 Date:2013.10.17 优化gfr_text_pix
 
 - #  *使用:
 
 - #  -gfr_text_pix(x, y, color1, color2, text, vertica)
 
 - #  -gfr_text_blt(x, y, color1, color2, text, vertica)
 
 - #  -x:x坐标 y:y坐标 color1:左、上颜色 color2:右、下颜色
 
 - #  -text:字符串 vertica:false/左右渐变 true/上下渐变
 
 - #  *gfr_text_pix效率优先取消了渐变透明功能 gfr_text_blt保留全部功能
 
 - #————————————————————————————————————————
 
 - class Bitmap
 
 -   def gfr_text_pix(x, y, color1, color2, text, vertical = false)
 
 -     r1 = color1.red;g1 = color1.green;b1 = color1.blue;o1 = color1.alpha
 
 -     r2 = color2.red;g2 = color2.green;b2 = color2.blue;o2 = color2.alpha
 
 -     case vertical
 
 -     when false
 
 -       ts = text_size(text) ; width,height = ts.width+2,ts.height
 
 -       bit = self.dup ; bit.font = font.dup ; bit.font.outline = false
 
 -       bit.clear ; bit.draw_text(x, y, width, height, text)
 
 -       if font.outline ; fc = font.color.dup ; font.color = Color.new(0,0,0)
 
 -       draw_text(x, y, width, height, text) ; font.color = fc ; end
 
 -       w = (width-1).to_f;plus_r = (r2-r1)/w;plus_g = (g2-g1)/w
 
 -       plus_b = (b2-b1)/w;plus_o = (o2-o1)/w;width.times {|k|
 
 -       height.times {|i| o = bit.get_pixel(x+k,y+i).alpha
 
 -       bit.set_pixel(x+k,y+i,Color.new(r1,g1,b1,o)) if o > 0}
 
 -       r1+=plus_r;g1+=plus_g;b1+=plus_b;o1+=plus_o}
 
 -       blt(x, y ,bit,Rect.new(x,y,width,height)) ; bit.dispose
 
 -     when true
 
 -       ts = text_size(text) ; width,height = ts.width+2,ts.height
 
 -       bit = self.dup ; bit.font = font.dup ; bit.font.outline = false
 
 -       bit.clear ; bit.draw_text(x, y, width, height, text)
 
 -       if font.outline ; fc = font.color.dup ; font.color = Color.new(0,0,0)
 
 -       draw_text(x, y, width, height, text) ; font.color = fc ; end
 
 -       h = (height-1).to_f;plus_r = (r2-r1)/h;plus_g = (g2-g1)/h
 
 -       plus_b = (b2-b1)/h;plus_o = (o2-o1)/h;height.times {|i|
 
 -       width.times {|k| o = bit.get_pixel(x+k,y+i).alpha
 
 -       bit.set_pixel(x+k,y+i,Color.new(r1,g1,b1,o)) if o > 0}
 
 -       r1+=plus_r;g1+=plus_g;b1+=plus_b;o1+=plus_o}
 
 -       blt(x, y ,bit,Rect.new(x,y,width,height)) ; bit.dispose
 
 -     end
 
 -   end
 
 -   #———————————————————————————————————————
 
 -   def gfr_text_blt(x, y, color1, color2, text, vertical = false)
 
 -     r1 = color1.red;g1 = color1.green;b1 = color1.blue;o1 = color1.alpha
 
 -     r2 = color2.red;g2 = color2.green;b2 = color2.blue;o2 = color2.alpha
 
 -     case vertical
 
 -     when false
 
 -       ts = text_size(text) ; width,height = ts.width+2,ts.height
 
 -       bit = self.dup ; bit.font = font.dup
 
 -       w = (width-1).to_f;plus_r = (r2-r1)/w;plus_g = (g2-g1)/w
 
 -       plus_b = (b2-b1)/w;plus_o = (o2-o1)/w;width.times {|k|
 
 -       bit.font.color = Color.new(r1,g1,b1,o1)
 
 -       bit.draw_text(x, y, width, height, text)
 
 -       blt(x+k, y ,bit,Rect.new(x+k,y,1,height))
 
 -       bit.clear;r1+=plus_r;g1+=plus_g;b1+=plus_b;o1+=plus_o};bit.dispose
 
 -     when true
 
 -       ts = text_size(text) ; width,height = ts.width+2,ts.height
 
 -       bit = self.dup ; bit.font = font.dup
 
 -       h = (height-1).to_f;plus_r = (r2-r1)/h;plus_g = (g2-g1)/h
 
 -       plus_b = (b2-b1)/h;plus_o = (o2-o1)/h;height.times {|i|
 
 -       bit.font.color = Color.new(r1,g1,b1,o1)
 
 -       bit.draw_text(x, y, width, height, text)
 
 -       blt(x, y+i ,bit,Rect.new(x,y+i,width,1))
 
 -       bit.clear;r1+=plus_r;g1+=plus_g;b1+=plus_b;o1+=plus_o};bit.dispose
 
 -     end
 
 -   end
 
 - end
 
  复制代码 这是颜色脚本↑ 
 
 
@三途亚梦  |   
 
 
 
 |