| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 1 |  
| 经验 | 1915 |  
| 最后登录 | 2015-4-7 |  
| 在线时间 | 27 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间27 小时注册时间2015-3-1帖子42 | 
| #encoding:utf-8 #==============================================================================
 # ■ 装备强化系统 By wyongcan
 #==============================================================================
 module Equipplus
 #升到各级时装备颜色请在“颜色描绘”脚本中修改
 $maxlv = 12  #最高升到的级数
 $gailv = [100,80,70,60,50,30,20,10,5,5,5,5,1] #每级提升概率
 $gemlv = [[60,23],[10,28],[25,29],[40,30]] #使用宝石提高的几率  [提高几率,宝石ID]
 $uplv = [[12,24],[3,25],[6,26],[9,27]] #强化所需要的强化石 [最大强化到的等级,强化石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 = [31,32] # 意思是:如果有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
 @help_window.hide
 @wu_window.qiangwu_ok
 @qiangxz_window.show
 @qiangxz_window.activate
 end
 #--------------------------------------------------------------------------
 # ● 确定强化防具
 #--------------------------------------------------------------------------
 def qiangfang_ok
 @help_window.hide
 @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
 Equipplus.upweapon(@wu_window.itemid)
 qianging
 @qianghelp_window.set_text($message)
 @qiangxz_window.hide
 Graphics.wait(60)
 @wu_window.activate
 @qiangxz_window.deactivate
 @help_window.hide
 $当前使用宝石加成率 = 0
 $usegem = false
 @fang_window.update_help
 @wu_window.refresh
 @command_window.deactivate
 else
 Equipplus.uparmor(@fang_window.itemid)
 qianging
 @qianghelp_window.set_text($message)
 @qiangxz_window.hide
 Graphics.wait(60)
 @fang_window.activate
 @qiangxz_window.deactivate
 @help_window.hide
 $当前使用宝石加成率 = 0
 $usegem = false
 @fang_window.update_help
 @fang_window.refresh
 @command_window.deactivate
 end
 end
 
 def qiangxz_cancel
 @help_window.refresh
 @help_window.show
 @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
 Equipplus.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)
 @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil
 needmoney = 0
 Equipplus.weaponupable?(item.id)
 qitemname = Equipplus.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 + "\n强化所需" + Vocab::currency_unit + ":" + Equipplus.needmoney.to_s
 text += "\n当前强化等级:" + item.up.to_s + "\n强化需要:" +  qitemname
 text += "\n强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
 text += "\n成功率:" + cgl + "% " + "\n强化后攻击力范围:" + min.to_s + "~" + max.to_s
 @qianghelp.set_text(text)
 end
 #--------------------------------------------------------------------------
 # ● 获取当前武器等级
 #--------------------------------------------------------------------------
 def getweaponup
 Equipplus.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
 Equipplus.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)
 @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil
 needmoney = 0
 Equipplus.armorupable?(item.id)
 qitemname = Equipplus.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 + "\n强化所需" + Vocab::currency_unit + ":" + Equipplus.needmoney.to_s
 text += "\n当前强化等级:" + item.up.to_s + "\n强化需要:" +  qitemname
 text += "\n强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
 text += "\n成功率:" + cgl + "% " + "\n强化后防御力范围:" + min.to_s + "~" + max.to_s
 @qianghelp.set_text(text)
 end
 #--------------------------------------------------------------------------
 # ● 获取当前防具等级
 #--------------------------------------------------------------------------
 def getarmorup
 Equipplus.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(7) + 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[1]])
 @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(Equipplus.idgetitem($强化哈希表["特殊物品"][0]).name, :fangb, @havefangb)
 add_command(Equipplus.idgetitem($强化哈希表["特殊物品"][1]).name, :fangj, @havefangj)
 add_command("开始强化", :start)
 add_command("取消强化", :cancel)
 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
 
 以上是装备增强脚本,但是需要在数据库中,设置,相应的强化宝石物品,,如果没有物品数据,则显示错误。
 | 
 |