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

Project1

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

[已经过期] 如何把这两个脚本合成一个脚本?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
62
在线时间
19 小时
注册时间
2011-5-19
帖子
10
跳转到指定楼层
1
发表于 2013-7-31 12:59:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
游戏中设置了许多脚本,其中有物品装备等的颜色描绘和装备强化脚本,但是这两个脚本在描绘物品名称的地方有冲突,虽然这并不会导致游戏无法运行,但会使颜色描绘没有作用,我自己尝试着改过,但出错了(不过ms是一个较为简单的修改{:2_254:} ),求助~~~
这是颜色脚本
RUBY 代码复制
  1. #==============================================================================
  2.  
  3. # [PS0]物品颜色描绘
  4.  
  5. #      Window_Base_Itemcolor
  6.  
  7. #------------------------------------------------------------------------------
  8.  
  9. #     在物品、技能选项中显示物品品质并显示品质框和修改物品名颜色。
  10.  
  11. #==============================================================================
  12.  
  13. # [更新记录]
  14.  
  15. #    - 2012.01.03 By 仲秋启明
  16.  
  17. #      * 修改为VA定义
  18.  
  19. #    - 2011.12.27 By 仲秋启明
  20.  
  21. #      * 移植至RGSS3,遵循PS0协议;
  22.  
  23. #      * 优化数据库备注中设定方法
  24.  
  25. #    - 2011.08.22 By 冰舞蝶恋
  26.  
  27. #      * 蓝本(实用·极简 -- 按品质,给物品描绘色彩边框)
  28.  
  29. #    - 2010.08.06 By 仲秋启明
  30.  
  31. #      * 蓝本(物品颜色描绘脚本(完整无冲突版))
  32.  
  33. #------------------------------------------------------------------------------
  34.  
  35. # [使用方法]
  36.  
  37. #    - 替换原Window_Base中的draw_item_name定义或复制到Main之前
  38.  
  39. #==============================================================================
  40.  
  41. $_PS0 = {} if $_PS0 == nil  
  42.  
  43. $_PS0["Window_Base_Itemcolor"] = 20111227
  44.  
  45. #==============================================================================
  46.  
  47. # [PS0] 通用配置模块  
  48.  
  49. #==============================================================================
  50.  
  51. module PS0
  52.  
  53.   module Window_Base_Itemcolor
  54.  
  55.     Color1 = Color.new(255, 255, 255)  # 一般品质的色彩(白,1)
  56.  
  57.     Color2 = Color.new(128, 255, 128)  # 平庸品质的色彩(绿,2)
  58.  
  59.     Color3 = Color.new(128, 128, 255)  # 精良品质的色彩(蓝,3)
  60.  
  61.     Color4 = Color.new(255, 0, 255)    # 卓越品质的色彩(紫,4)
  62.  
  63.     Color5 = Color.new(255, 128, 128)  # 神秘品质的色彩(红,5)
  64.  
  65.     Color6 = Color.new(255, 128, 0)    # 传说品质的色彩(橙,6)
  66.  
  67.     Color7 = Color.new(255, 255, 128)  # 特殊品质的色彩(黄,7)
  68.  
  69.   end
  70.  
  71. end
  72.  
  73. #==============================================================================
  74.  
  75. # ■ Window_Base
  76.  
  77. #==============================================================================
  78.  
  79. class Window_Base < Window
  80.  
  81.   def draw_item_name(item, x, y, enabled = true, width = 172)
  82.  
  83.     if item != nil
  84.  
  85.       n = item.note
  86.  
  87.       a = n.split{/<(?:Quality|品质)\s*(.+)>/i}
  88.  
  89.       c = a[1].to_i
  90.  
  91.       if c <= 1
  92.  
  93.         color = PS0::Window_Base_Itemcolor::Color1
  94.  
  95.       elsif c == 2
  96.  
  97.         color = PS0::Window_Base_Itemcolor::Color2
  98.  
  99.       elsif c == 3
  100.  
  101.         color = PS0::Window_Base_Itemcolor::Color3
  102.  
  103.       elsif c == 4
  104.  
  105.         color = PS0::Window_Base_Itemcolor::Color4
  106.  
  107.       elsif c == 5
  108.  
  109.         color = PS0::Window_Base_Itemcolor::Color5
  110.  
  111.       elsif c == 6
  112.  
  113.         color = PS0::Window_Base_Itemcolor::Color6
  114.  
  115.       elsif c == 7
  116.  
  117.         color = PS0::Window_Base_Itemcolor::Color7
  118.  
  119.       else
  120.  
  121.         color = Color.new(0, 0, 0, 0)
  122.  
  123.       end
  124.  
  125.       self.contents.fill_rect(x, y, 24, 1, color)
  126.  
  127.       self.contents.fill_rect(x, y, 1, 24, color)
  128.  
  129.       self.contents.fill_rect(x, y+23, 24, 1, color)
  130.  
  131.       self.contents.fill_rect(x+23, y, 1, 24, color)
  132.  
  133.       draw_icon(item.icon_index, x, y, enabled)
  134.  
  135.       change_color(color, enabled)
  136.  
  137.       draw_text(x + 24, y, width, line_height, item.name)
  138.  
  139.     end
  140.  
  141.   end
  142.  
  143. end
  144.  
  145. #==============================================================================
  146. # [PS0] End of Script
  147. #==============================================================================

下面是强化脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 强化系统 优化版
  3. #------------------------------------------------------------------------------
  4. #  强化系统  wyongcan制作
  5. #==============================================================================
  6. module Qiang
  7. $maxlv = 12  #最高升到的级数
  8. $gailv = [100,80,70,60,50,30,20,10,5,5,5,5,1] #每级提升概率
  9. $gemlv = [[60,23],[10,28],[25,29],[40,30]] #使用宝石提高的几率  [提高几率,宝石ID]
  10. $uplv = [[12,24],[3,25],[6,26],[9,27]] #强化所需要的强化石 [最大强化到的等级,强化石ID]
  11. $xxlv = [0,0,5,10,15,20,25,30,30,40,40,45,60] #每级强化后失败物品消失的几率
  12. $jjlv = [0,10,15,20,30,45,55,65,70,70,75,80,100] #每级强化后失败物品降级的几率
  13. $tsnl = [10,14,18,22,26,30,34,38,42,46,50,54,65] #每级强化提升能力的百分比
  14. $tswp = [31,32] # 意思是:如果有31号物品则失败后物品不消失,如果有32号物品则失败后物品不降级
  15. #武器强化后的计算公式为: 原攻击 * (1 + 提升能力百分比) + (0到当前强化级数随机) * 5 + 当前强化级数
  16. $gemlv.sort!
  17. $uplv.sort!
  18. $当前使用宝石id = 0
  19. $当前使用宝石加成率 = 0
  20. $强化哈希表 = {
  21. "最高等级" => $maxlv ,
  22. "每级概率" => $gailv ,
  23. "宝石效果" => $gemlv ,
  24. "消失几率" => $xxlv  ,
  25. "降级几率" => $jjlv  ,
  26. "提升能力" => $tsnl  ,
  27. "特殊物品" => $tswp  ,
  28. "强化材料" => $uplv  }
  29. def self.idlostitem(id,amount = 1)
  30.   $game_party.lose_item(idgetitem(id),amount)
  31. end
  32.  
  33. def self.idlostequip(id,weapon = true,amount = 1)
  34.   weapon == true ? $game_party.lose_item($data_weapons[id],amount,true) : $game_party.lose_item($data_armors[id],amount,true)
  35. end
  36.  
  37. def self.idgainequip(id,weapon = true,amount = 1)
  38.   weapon == true ? $game_party.gain_item($data_weapons[id],amount,true) : $game_party.gain_item($data_armors[id],amount,true)
  39. end
  40.  
  41. def self.idgetitem(id)
  42.   $data_items[id]
  43. end
  44.  
  45. def self.equipable?(id,weapon = true)
  46.   weapon == true ? weaponupisnil(id) : armorupisnil(id)
  47.   weapon == true ? equip = $data_weapons[id].dup : equip = $data_armors[id].dup
  48.   price = equip.price
  49.   @needmoney = price * equip.up
  50.   if @needmoney == 0
  51.     @needmoney = price / 2
  52.   end
  53. #循环取出需要的强化材料
  54.   temp = false
  55.   for i in $强化哈希表["强化材料"]
  56.     if equip.up < i[0]
  57.       @lostitem = idgetitem i[1]
  58.       $game_party.has_item?(idgetitem(i[1])) ? temp = true : temp = false
  59.       break
  60.     end
  61.   end
  62.   $game_party.gold >= @needmoney && temp == true ? true : false
  63. end
  64.  
  65. def self.upweapon (id)
  66.   $message = ""
  67.   success = false
  68.   weaponupisnil(id)
  69.   weapon = $data_weapons[id].dup
  70.   gl = 0
  71.   fangb = false
  72.   fangj = false
  73.   return unless weapon.up < $强化哈希表["最高等级"] && weaponupable?(id)
  74.   loststh
  75.   $message += "本次强化,共消耗:" + Vocab::currency_unit + " " + @needmoney.to_s
  76.   $message += " " + @lostitem.name + "\n "
  77.   gl = $强化哈希表["每级概率"][weapon.up]
  78.   if $usegem == true
  79.     gl += $当前使用宝石加成率
  80.     idlostitem($当前使用宝石id)
  81.     $message += idgetitem($当前使用宝石id).name + " "
  82.   end
  83.   if $fangb == true
  84.     fangb = true
  85.     idlostitem $强化哈希表["特殊物品"][0]
  86.     $message += idgetitem($强化哈希表["特殊物品"][0]).name + " "
  87.   end
  88.   if $fangj == true
  89.     fangj = true
  90.     idlostitem $强化哈希表["特殊物品"][1]
  91.     $message += idgetitem($强化哈希表["特殊物品"][1]).name + " "
  92.   end
  93.   suiji = rand (100)
  94.   if suiji <= gl
  95.     success = true
  96.   end
  97.   $message += "\n强化结果:"
  98.   if success == true
  99.     $message += "强化成功"
  100.     idlostequip id
  101.     weapon.id = $data_weapons.size
  102.     params = weapon.params.dup
  103.     params[2] *= 1 + $强化哈希表["提升能力"][weapon.up] / 100
  104.     params[2] += rand(weapon.up) * 5 + weapon.up
  105.     params[2] += 1 if params[2] == weapon.params[2]
  106.     $message += " 攻击力提升:" + (params[2] - weapon.params[2]).to_int.to_s
  107.     weapon.up += 1
  108.     $data_weapons.insert $data_weapons.size,weapon
  109.     $data_weapons[$data_weapons.size-1].params = params
  110.     idgainequip weapon.id
  111.   else
  112.     $message += "强化失败"
  113.     suiji = rand (100)
  114.     if suiji <= $强化哈希表["消失几率"][weapon.up]
  115.       if fangb != true
  116.       $message += ",道具消失"
  117.       idlostequip id
  118.       else
  119.       $message += ",由于" + idgetitem($强化哈希表["特殊物品"][0]).name + "的作用,道具未消失"
  120.       end
  121.     else
  122.       suiji = rand (100)
  123.       if suiji <= $强化哈希表["降级几率"][weapon.up]
  124.         if fangj == false && weapon.up != 0
  125.           $message += ",道具降级"
  126.           params = weapon.params.dup
  127.           params[2] -= weapon.up + rand(weapon.up) * 5
  128.           params[2] /= 1 + $强化哈希表["提升能力"][weapon.up] / 100
  129.           weapon.params = params
  130.           weapon.up -= 1
  131.           $data_weapons[id] = weapon
  132.         else
  133.           $message += ",由于" + idgetitem($强化哈希表["特殊物品"][1]).name + "的作用,道具未降级"
  134.         end
  135.       end
  136.     end
  137.   end
  138.    $usegem = false
  139.    $fangb = false
  140.    $fangj = false
  141. end
  142.  
  143. def self.weaponupisnil(id)
  144.    $data_weapons[id].up = 0 unless $data_weapons[id].up != nil
  145. end
  146.  
  147. def self.weaponupable?(id)
  148.   equipable?(id)
  149. end
  150.  
  151. def self.uparmor (id)
  152.   $message = ""
  153.   success = false
  154.   armorupisnil(id)
  155.   armor = $data_armors[id].dup
  156.   gl = 0
  157.   fangb = false
  158.   fangj = false
  159.   return unless armor.up < $强化哈希表["最高等级"] && armorupable?(id)
  160.   loststh
  161.   $message += "本次强化,共消耗:" + Vocab::currency_unit + " " + @needmoney.to_s
  162.   $message += " " + @lostitem.name + "\n "
  163.   gl = $强化哈希表["每级概率"][armor.up]
  164.   if $usegem == true
  165.     gl += $当前使用宝石加成率
  166.     idlostitem($当前使用宝石id)
  167.     $message += idgetitem($当前使用宝石id).name + " "
  168.   end
  169.   if $fangb == true
  170.     fangb = true
  171.     idlostitem $强化哈希表["特殊物品"][0]
  172.     $message += idgetitem($强化哈希表["特殊物品"][0]).name + " "
  173.   end
  174.   if $fangj == true
  175.     fangj = true
  176.     idlostitem $强化哈希表["特殊物品"][1]
  177.     $message += idgetitem($强化哈希表["特殊物品"][1]).name + " "
  178.   end
  179.   suiji = rand (100)
  180.   if suiji <= gl
  181.     success = true
  182.   end
  183.   $message += "\n强化结果:"
  184.   if success == true
  185.     $message += "强化成功"
  186.     idlostequip id,false
  187.     armor.id = $data_armors.size
  188.     params = armor.params.dup
  189.     params[3] *= 1 + $强化哈希表["提升能力"][armor.up] / 100
  190.     params[3] += rand(armor.up) * 5 + armor.up
  191.     params[3] += 1 if params[3] == armor.params[3]
  192.     $message += " 防御力提升:" + (params[3] - armor.params[3]).to_int.to_s
  193.     armor.up += 1
  194.     $data_armors.insert $data_armors.size,armor
  195.     $data_armors[$data_armors.size-1].params = params
  196.     idgainequip armor.id,false
  197.   else
  198.     $message += "强化失败"
  199.     suiji = rand (100)
  200.     if suiji <= $强化哈希表["消失几率"][armor.up]
  201.       if fangb != true
  202.       $message += ",道具消失"
  203.       idlostequip id,false
  204.       else
  205.       $message += ",由于" + idgetitem($强化哈希表["特殊物品"][0]).name + "的作用,道具未消失"
  206.       end
  207.     else
  208.       suiji = rand (100)
  209.       if suiji <= $强化哈希表["降级几率"][armor.up]
  210.         if fangj == false && armor.up != 0
  211.           $message += ",道具降级"
  212.           params = armor.params.dup
  213.           params[3] -= armor.up + rand(armor.up) * 5
  214.           params[3] /= 1 + $强化哈希表["提升能力"][armor.up] / 100
  215.           armor.params = params
  216.           armor.up -= 1
  217.           $data_armors[id] = armor
  218.         else
  219.           $message += ",由于" + idgetitem($强化哈希表["特殊物品"][1]).name + "的作用,道具未降级"
  220.         end
  221.       end
  222.     end
  223.   end
  224.    $usegem = false
  225.    $fangb = false
  226.    $fangj = false
  227. end
  228.  
  229. def self.armorupisnil(id)
  230.    $data_armors[id].up = 0 unless $data_armors[id].up != nil
  231. end
  232. def self.armorupable?(id)
  233.   equipable?(id,false)
  234. end
  235. def self.loststh()
  236.    $game_party.lose_item(@lostitem,1)
  237.    $game_party.lose_gold(@needmoney)
  238. end
  239. def self.needmoney
  240.    @needmoney
  241. end
  242. def self.lostitem
  243.    @lostitem
  244. end
  245. end
  246. #==============================================================================
  247. # ■ Scene_Qiang
  248. #------------------------------------------------------------------------------
  249. #  强化画面
  250. #==============================================================================
  251.  
  252. class Scene_Qiang < Scene_MenuBase
  253.   $wufang = true
  254.   $usegem = false
  255.   $fangb = false
  256.   $fangj = false
  257.   #--------------------------------------------------------------------------
  258.   # ● 开始处理
  259.   #--------------------------------------------------------------------------
  260.   def start
  261.     super
  262.     create_help_window
  263.     @help_window.hide
  264.     create_qianghelp_window
  265.     create_command_window
  266.     create_qiangxz_window
  267.     create_wu_window
  268.     create_fang_window
  269.     create_choosegem_window
  270.   end
  271.   #--------------------------------------------------------------------------
  272.   # ● 生成说明窗口
  273.   #--------------------------------------------------------------------------
  274.   def create_qianghelp_window
  275.     @qianghelp_window = Window_Qianghelp.new
  276.     @qianghelp_window.y = Graphics.height - @qianghelp_window.height
  277.     @qianghelp_window.viewport = @viewport
  278.     @qianghelp_window.hide
  279.   end
  280.   #--------------------------------------------------------------------------
  281.   # ● 生成选择宝石
  282.   #--------------------------------------------------------------------------
  283.   def create_choosegem_window
  284.     @choosegem_window = Window_Choosegem.new
  285.     @choosegem_window.y = Graphics.height - @choosegem_window.height
  286.     @choosegem_window.viewport = @viewport
  287.     @choosegem_window.z = 120
  288.   end
  289.   #--------------------------------------------------------------------------
  290.   # ● 生成选择窗口
  291.   #--------------------------------------------------------------------------
  292.   def create_qiangxz_window
  293.     @qiangxz_window = Window_Qiangxz.new
  294.     @qiangxz_window.y = @help_window.height + fitting_height(5) /2
  295.     @qiangxz_window.z = 110
  296.     @qiangxz_window.viewport = @viewport
  297.     @qiangxz_window.set_handler(:gem,    method(:qiangxz_gem))
  298.     @qiangxz_window.set_handler(:fangb,    method(:qiangxz_fangb))
  299.     @qiangxz_window.set_handler(:fangj,    method(:qiangxz_fangj))
  300.     @qiangxz_window.set_handler(:ok, method(:qiangxz_ok))
  301.     @qiangxz_window.set_handler(:cancel, method(:qiangxz_cancel))
  302.     @qiangxz_window.hide
  303.     @qiangxz_window.deactivate
  304.   end
  305.   #--------------------------------------------------------------------------
  306.   # ● 生成指令窗口
  307.   #--------------------------------------------------------------------------
  308.   def create_command_window
  309.     @command_window = Window_QiangCommand.new
  310.     @command_window.viewport = @viewport
  311.     @command_window.y = @help_window.height + fitting_height(3) /2
  312.     @command_window.set_handler(:qiangwu,    method(:qiangwu))
  313.     @command_window.set_handler(:qiangfang,   method(:qiangfang))
  314.     @command_window.set_handler(:cancel, method(:return_scene))
  315.   end
  316.   #--------------------------------------------------------------------------
  317.   # ● 生成武器强化窗口
  318.   #--------------------------------------------------------------------------
  319.   def create_wu_window
  320.     @wu_window = Window_Qiangwu.new(@qianghelp_window,@qiangxz_window)
  321.     @wu_window.viewport = @viewport
  322.     @wu_window.y += @help_window.height
  323.     @wu_window.hide
  324.     @wu_window.help_window= @help_window
  325.     @wu_window.set_handler(:cancel, method(:qiangwu_cancel))
  326.     @wu_window.set_handler(:ok,     method(:qiangwu_ok))
  327.   end
  328.   #--------------------------------------------------------------------------
  329.   # ● 生成防具强化窗口
  330.   #--------------------------------------------------------------------------
  331.   def create_fang_window
  332.     @fang_window = Window_Qiangfang.new(@qianghelp_window,@qiangxz_window)
  333.     @fang_window.viewport = @viewport
  334.     @fang_window.y += @help_window.height
  335.     @fang_window.hide
  336.     @fang_window.help_window= @help_window
  337.     @fang_window.set_handler(:cancel, method(:qiangfang_cancel))
  338.     @fang_window.set_handler(:ok,     method(:qiangfang_ok))
  339.   end
  340.   #--------------------------------------------------------------------------
  341.   # ● 计算窗口显示指定行数时的应用高度
  342.   #--------------------------------------------------------------------------
  343.   def fitting_height(line_number)
  344.     line_number * 24 + 12 * 2
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   # ● 显示强化武器
  348.   #--------------------------------------------------------------------------
  349.   def qiangwu
  350.     @command_window.hide
  351.     @help_window.show
  352.     @wu_window.show
  353.     @wu_window.start
  354.     @qianghelp_window.show
  355.     @wu_window.activate
  356.     $wufang = true
  357.     @command_window.deactivate
  358.   end
  359.   #--------------------------------------------------------------------------
  360.   # ● 显示强化防具
  361.   #--------------------------------------------------------------------------
  362.   def qiangfang
  363.     @command_window.hide
  364.     @help_window.show
  365.     @fang_window.show
  366.     @fang_window.start
  367.     @qianghelp_window.show
  368.     @fang_window.activate
  369.     $wufang = false
  370.     @command_window.deactivate
  371.   end
  372.   #--------------------------------------------------------------------------
  373.   # ● 取消强化武器
  374.   #--------------------------------------------------------------------------
  375.   def qiangwu_cancel
  376.     @command_window.show
  377.     @help_window.hide
  378.     @wu_window.hide
  379.     @qianghelp_window.hide
  380.     @command_window.activate
  381.     @qianghelp_window.set_text("")
  382.     @help_window.set_text("")
  383.   end
  384.   #--------------------------------------------------------------------------
  385.   # ● 取消强化防具
  386.   #--------------------------------------------------------------------------
  387.   def qiangfang_cancel
  388.     @command_window.show
  389.     @help_window.hide
  390.     @fang_window.hide
  391.     @qianghelp_window.hide
  392.     @command_window.activate
  393.     @qianghelp_window.set_text("")
  394.     @help_window.set_text("")
  395.   end
  396.   #--------------------------------------------------------------------------
  397.   # ● 确定强化武器
  398.   #--------------------------------------------------------------------------
  399.   def qiangwu_ok
  400.     @wu_window.qiangwu_ok
  401.     @qiangxz_window.show
  402.     @qiangxz_window.activate
  403.   end
  404.   #--------------------------------------------------------------------------
  405.   # ● 确定强化防具
  406.   #--------------------------------------------------------------------------
  407.   def qiangfang_ok
  408.     @fang_window.qiangfang_ok
  409.     @qiangxz_window.show
  410.     @qiangxz_window.activate
  411.   end
  412.   #--------------------------------------------------------------------------
  413.   # ● 获取卖出价格
  414.   #--------------------------------------------------------------------------
  415.   def selling_price
  416.     @item.price / 2
  417.   end
  418.  
  419.   def qiangxz_gem
  420.     @choosegem_window.start
  421.     @qiangxz_window.deactivate
  422.     @choosegem_window.qiangxz= @qiangxz_window
  423.     if $wufang == true
  424.       @choosegem_window.wufangwindow= @wu_window
  425.     else
  426.       @choosegem_window.wufangwindow= @fang_window
  427.     end
  428.   end
  429.  
  430.   def qiangxz_fangb
  431.     $fangb = !$fangb
  432.     if $wufang == true
  433.       @wu_window.update_help
  434.     else
  435.       @fang_window.update_help
  436.     end
  437.     @qiangxz_window.activate
  438.   end
  439.  
  440.   def qiangxz_fangj
  441.     $fangj = !$fangj
  442.     if $wufang == true
  443.       @wu_window.update_help
  444.     else
  445.       @fang_window.update_help
  446.     end
  447.     @qiangxz_window.activate
  448.   end
  449.  
  450.   def qiangxz_ok
  451.     if $wufang == true
  452.       Qiang.upweapon(@wu_window.itemid)
  453.       qianging
  454.       @qianghelp_window.set_text($message)
  455.       @qiangxz_window.hide
  456.       Graphics.wait(60)
  457.       @wu_window.activate
  458.       @qiangxz_window.deactivate
  459.       $当前使用宝石加成率 = 0
  460.       $usegem = false
  461.       @fang_window.update_help
  462.       @wu_window.refresh
  463.       @command_window.deactivate
  464.     else
  465.       Qiang.uparmor(@fang_window.itemid)
  466.       qianging
  467.       @qianghelp_window.set_text($message)
  468.       @qiangxz_window.hide
  469.       Graphics.wait(60)
  470.       @fang_window.activate
  471.       @qiangxz_window.deactivate
  472.       $当前使用宝石加成率 = 0
  473.       $usegem = false
  474.       @fang_window.update_help
  475.       @fang_window.refresh
  476.       @command_window.deactivate
  477. end
  478.   end
  479.  
  480.   def qiangxz_cancel
  481.     @wu_window.show
  482.     @qiangxz_window.hide
  483.     @qiangxz_window.deactivate
  484.     if $wufang == true
  485.       @wu_window.activate
  486.     else
  487.       @fang_window.activate
  488.     end
  489.     $当前使用宝石加成率 = 0
  490.     $usegem = false
  491.     @command_window.deactivate
  492.   end
  493.  
  494.   def qianging
  495.     i = 0
  496.     while i < 20
  497.       i += 1
  498.       text = "\n"
  499.       text += "★" * i + "☆" * (20 - i)
  500.       text = text + "\n强化中,请等待。"
  501.       @qianghelp_window.set_text(text)
  502.       Graphics.wait(6)
  503.     end
  504.   end
  505. end
  506.  
  507. class RPG::EquipItem < RPG::BaseItem
  508.   alias old initialize
  509.   def initialize
  510.     old
  511.     @up = 0 #装备强化次数
  512.   end
  513.   attr_accessor :up
  514. end
  515. #==============================================================================
  516. # ■ Window_Qiangwu
  517. #------------------------------------------------------------------------------
  518. #  强化系统_武器强化窗口
  519. #==============================================================================
  520.  
  521. class Window_Qiangwu < Window_ItemList
  522.   #--------------------------------------------------------------------------
  523.   # ● 初始化对象
  524.   #--------------------------------------------------------------------------
  525.   def initialize(qianghelp,xuanze)
  526.     super(0, 0, Graphics.width, fitting_height(8))
  527.     self.openness = 0
  528.     deactivate
  529.     @qianghelp = qianghelp
  530.     @xuanze = xuanze
  531.   end
  532.   #--------------------------------------------------------------------------
  533.   # ● 开始输入的处理
  534.   #--------------------------------------------------------------------------
  535.   def start
  536.     self.category = :weapon
  537.     refresh
  538.     select(0)
  539.     open
  540.     activate
  541.   end
  542.   #--------------------------------------------------------------------------
  543.   # ● 查询此物品是否可用
  544.   #--------------------------------------------------------------------------
  545.   def enable?(item)
  546.     return false unless item != nil
  547.     Qiang.weaponupable?(item.id)
  548.   end
  549.   #--------------------------------------------------------------------------
  550.   # ● 确定强化武器
  551.   #--------------------------------------------------------------------------
  552.   def qiangwu_ok
  553.     result = item ? item.id : 0
  554.   end
  555.   #--------------------------------------------------------------------------
  556.   # ● 更新帮助内容
  557.   #--------------------------------------------------------------------------
  558.   def update_help
  559.     return unless item != nil
  560.     @help_window.set_item(item)
  561.     needmoney = 0
  562.     Qiang.weaponupable?(item.id)
  563.     qitemname = Qiang.lostitem.name
  564.     if item.up >= $强化哈希表["最高等级"]
  565.       qitemname = "无法继续升级"
  566.     end
  567.     temp = []
  568.     $usegem == true ? temp.push("使用") : temp.push("未使用")
  569.     temp.push($data_items[$强化哈希表["特殊物品"][0]].name)
  570.     $fangb == true ? temp.push("使用") : temp.push("未使用")
  571.     temp.push($data_items[$强化哈希表["特殊物品"][1]].name)
  572.     $fangj == true ? temp.push("使用") : temp.push("未使用")
  573.     cgl = ($强化哈希表["每级概率"][item.up] + $当前使用宝石加成率).to_s
  574.     if item.up == 0
  575.       min = item.params[2] + 1
  576.       max = min + 5
  577.     else
  578.       if item.up >= $强化哈希表["最高等级"]
  579.         min = item.params[2].to_int
  580.         max = min
  581.       else
  582.     min = (item.params[2] * (1 + $强化哈希表["提升能力"][item.up] / 100)).to_int + item.up
  583.     max = min + item.up * 5
  584.     end
  585.   end
  586.     text = "装备名称:" + item.name + " 强化所需" + Vocab::currency_unit + ":" + Qiang.needmoney.to_s
  587.     text = text + "\n" + "当前强化等级:" + item.up.to_s + " 强化需要:" +  qitemname
  588.     text = text + "\n" + "强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
  589.     text = text + "\n" + "成功率:" + cgl + "% " + "强化后攻击力范围:" + min.to_s + "~" + max.to_s
  590.     @qianghelp.set_text(text)
  591.   end
  592.   #--------------------------------------------------------------------------
  593.   # ● 获取当前武器等级
  594.   #--------------------------------------------------------------------------
  595.   def getweaponup
  596.     Qiang.weaponupisnil(item.id)
  597.     item.up
  598.   end
  599.  
  600.   def itemid
  601.     item.id
  602.   end
  603.   #--------------------------------------------------------------------------
  604.   # ● 选择项目
  605.   #--------------------------------------------------------------------------
  606.   def select(index)
  607.     self.index = index if index
  608.     update_help
  609.   end
  610. end
  611. #==============================================================================
  612. # ■ Window_Qiangfang
  613. #------------------------------------------------------------------------------
  614. #  强化系统_防具强化窗口
  615. #==============================================================================
  616.  
  617. class Window_Qiangfang < Window_ItemList
  618.   #--------------------------------------------------------------------------
  619.   # ● 初始化对象
  620.   #--------------------------------------------------------------------------
  621.   def initialize(qianghelp,xuanze)
  622.     super(0, 0, Graphics.width, fitting_height(8))
  623.     self.openness = 0
  624.     deactivate
  625.     @qianghelp = qianghelp
  626.     @xuanze = xuanze
  627.   end
  628.   #--------------------------------------------------------------------------
  629.   # ● 开始输入的处理
  630.   #--------------------------------------------------------------------------
  631.   def start
  632.     self.category = :armor
  633.     refresh
  634.     select(0)
  635.     open
  636.     activate
  637.   end
  638.   #--------------------------------------------------------------------------
  639.   # ● 查询此物品是否可用
  640.   #--------------------------------------------------------------------------
  641.   def enable?(item)
  642.     return false unless item != nil
  643.     Qiang.armorupable?(item.id)
  644.   end
  645.   #--------------------------------------------------------------------------
  646.   # ● 确定强化防具
  647.   #--------------------------------------------------------------------------
  648.   def qiangfang_ok
  649.     result = item ? item.id : 0
  650.   end
  651.   #--------------------------------------------------------------------------
  652.   # ● 更新帮助内容
  653.   #--------------------------------------------------------------------------
  654.   def update_help
  655.     return unless item != nil
  656.     @help_window.set_item(item)
  657.     needmoney = 0
  658.     Qiang.armorupable?(item.id)
  659.     qitemname = Qiang.lostitem.name
  660.     if item.up >= $强化哈希表["最高等级"]
  661.       qitemname = "无法继续升级"
  662.     end
  663.     temp = []
  664.     $usegem == true ? temp.push("使用") : temp.push("未使用")
  665.     temp.push($data_items[$强化哈希表["特殊物品"][0]].name)
  666.     $fangb == true ? temp.push("使用") : temp.push("未使用")
  667.     temp.push($data_items[$强化哈希表["特殊物品"][1]].name)
  668.     $fangj == true ? temp.push("使用") : temp.push("未使用")
  669.     cgl = ($强化哈希表["每级概率"][item.up] + $当前使用宝石加成率).to_s
  670.     if item.up == 0
  671.       min = item.params[3] + 1
  672.       max = min + 5
  673.     else
  674.       if item.up >= $强化哈希表["最高等级"]
  675.         min = item.params[3].to_int
  676.         max = min
  677.       else
  678.     min = (item.params[3] * (1 + $强化哈希表["提升能力"][item.up] / 100)).to_int + item.up
  679.     max = min + item.up * 5
  680.     end
  681.   end
  682.     text = "装备名称:" + item.name + " 强化所需" + Vocab::currency_unit + ":" + Qiang.needmoney.to_s
  683.     text = text + "\n" + "当前强化等级:" + item.up.to_s + " 强化需要:" +  qitemname
  684.     text = text + "\n" + "强化宝石:" + temp [0] + " " + temp[1] + ":" + temp[2]+ " " + temp[3] + ":" + temp[4]
  685.     text = text + "\n" + "成功率:" + cgl + "% " + "强化后防御力范围:" + min.to_s + "~" + max.to_s
  686.     @qianghelp.set_text(text)
  687.   end
  688.   #--------------------------------------------------------------------------
  689.   # ● 获取当前防具等级
  690.   #--------------------------------------------------------------------------
  691.   def getarmorup
  692.     Qiang.armorupisnil(item.id)
  693.     item.up
  694.   end
  695.  
  696.   def itemid
  697.     item.id
  698.   end
  699.   #--------------------------------------------------------------------------
  700.   # ● 选择项目
  701.   #--------------------------------------------------------------------------
  702.   def select(index)
  703.     self.index = index if index
  704.     update_help
  705.   end
  706. end
  707. #==============================================================================
  708. # ■ Window_QiangCommand
  709. #------------------------------------------------------------------------------
  710. #  强化系统中,处理命令选择的窗口。
  711. #==============================================================================
  712.  
  713. class Window_QiangCommand < Window_Command
  714.   #--------------------------------------------------------------------------
  715.   # ● 初始化对象
  716.   #--------------------------------------------------------------------------
  717.   def initialize
  718.     super(0, 0)
  719.     update_placement
  720.     self.openness = 0
  721.     open
  722.   end
  723.   #--------------------------------------------------------------------------
  724.   # ● 获取窗口的宽度
  725.   #--------------------------------------------------------------------------
  726.   def window_width
  727.     return 160
  728.   end
  729.   #--------------------------------------------------------------------------
  730.   # ● 更新窗口的位置
  731.   #--------------------------------------------------------------------------
  732.   def update_placement
  733.     self.x = (Graphics.width - width) / 2
  734.     self.y = (Graphics.height - height) / 2
  735.   end
  736.   #--------------------------------------------------------------------------
  737.   # ● 生成指令列表
  738.   #--------------------------------------------------------------------------
  739.   def make_command_list
  740.     add_command("强化武器",    :qiangwu)
  741.     add_command("强化防具",    :qiangfang)
  742.     add_command(Vocab::ShopCancel, :cancel)
  743.   end
  744. end
  745. #==============================================================================
  746. # ■ Window_Qianghelp
  747. #------------------------------------------------------------------------------
  748. #  显示说明
  749. #==============================================================================
  750.  
  751. class Window_Qianghelp < Window_Base
  752.   #--------------------------------------------------------------------------
  753.   # ● 初始化对象
  754.   #--------------------------------------------------------------------------
  755.   def initialize
  756.     super(0, 0, window_width, fitting_height(4) + 8)
  757.     refresh
  758.   end
  759.   #--------------------------------------------------------------------------
  760.   # ● 获取窗口的宽度
  761.   #--------------------------------------------------------------------------
  762.   def window_width
  763.     return 544
  764.   end
  765.   #--------------------------------------------------------------------------
  766.   # ● 获取持有金钱
  767.   #--------------------------------------------------------------------------
  768.   def value
  769.     $game_party.gold
  770.   end
  771.   #--------------------------------------------------------------------------
  772.   # ● 获取货币单位
  773.   #--------------------------------------------------------------------------
  774.   def currency_unit
  775.     Vocab::currency_unit
  776.   end
  777.   #--------------------------------------------------------------------------
  778.   # ● 设置内容
  779.   #--------------------------------------------------------------------------
  780.   def set_text(text)
  781.     if text != @text
  782.       @text = text
  783.       refresh
  784.     end
  785.   end
  786.   #--------------------------------------------------------------------------
  787.   # ● 清除
  788.   #--------------------------------------------------------------------------
  789.   def clear
  790.     set_text("")
  791.   end
  792.   #--------------------------------------------------------------------------
  793.   # ● 刷新
  794.   #--------------------------------------------------------------------------
  795.   def refresh
  796.     contents.clear
  797.     draw_text_ex(4, 0, @text)
  798.   end
  799. end
  800. #==============================================================================
  801. # ■ Window_Qiangxz
  802. #------------------------------------------------------------------------------
  803. #  强化系统中,选择强化方式的窗口。
  804. #==============================================================================
  805.  
  806. class Window_Qiangxz < Window_Command
  807.   @havegem = false
  808.   @havefangb = false
  809.   @havefangj = false
  810.   #--------------------------------------------------------------------------
  811.   # ● 初始化对象
  812.   #--------------------------------------------------------------------------
  813.   def initialize
  814.     super(0, 0)
  815.     index = 0
  816.     update_placement
  817.     self.openness = 0
  818.     open
  819.   end
  820.   #--------------------------------------------------------------------------
  821.   # ● 获取窗口的宽度
  822.   #--------------------------------------------------------------------------
  823.   def window_width
  824.     return 180
  825.   end
  826.   #--------------------------------------------------------------------------
  827.   # ● 更新窗口的位置
  828.   #--------------------------------------------------------------------------
  829.   def update_placement
  830.     self.x = (Graphics.width - width) / 2
  831.     self.y = (Graphics.height - height) / 2
  832.   end
  833.   #--------------------------------------------------------------------------
  834.   # ● 检查可用
  835.   #--------------------------------------------------------------------------
  836.   def haveitem
  837.     @havegem = false
  838.     @havefangb = false
  839.     @havefangj = false
  840.     for i in $强化哈希表["宝石效果"]
  841.         if $game_party.has_item?($data_items[i[0]])
  842.         @havegem = true
  843.       end
  844.     end
  845.     @havefangb = $game_party.has_item?($data_items[$强化哈希表["特殊物品"][0]])
  846.     @havefangj = $game_party.has_item?($data_items[$强化哈希表["特殊物品"][1]])
  847.   end
  848.   #--------------------------------------------------------------------------
  849.   # ● 生成指令列表
  850.   #--------------------------------------------------------------------------
  851.   def make_command_list
  852.     haveitem
  853.     add_command("宝石",     :gem, @havegem)
  854.     add_command(Qiang.idgetitem($强化哈希表["特殊物品"][0]).name, :fangb, @havefangb)
  855.     add_command(Qiang.idgetitem($强化哈希表["特殊物品"][1]).name, :fangj, @havefangj)
  856.     add_command("开始强化", :start)
  857.     add_command("取消强化", :cancel)
  858.   end
  859. end
  860. #==============================================================================
  861. # ■ Window_Base
  862. #------------------------------------------------------------------------------
  863. #  游戏中所有窗口的父类
  864. #==============================================================================
  865.  
  866. class Window_Base < Window
  867.   #--------------------------------------------------------------------------
  868.   # ● 绘制物品名称
  869.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  870.   #--------------------------------------------------------------------------
  871.   def draw_item_name(item, x, y, enabled = true, width = 172)
  872.     return unless item
  873.     draw_icon(item.icon_index, x, y, enabled)
  874.     change_color(normal_color, enabled)
  875.   if item.is_a?(RPG::EquipItem)
  876.   if item.up != nil && item.up != 0
  877.     draw_text(x + 24, y, width, line_height, item.name + " + " + item.up.to_s)
  878.   else
  879.     draw_text(x + 24, y, width, line_height, item.name)
  880.   end
  881.   else
  882.     draw_text(x + 24, y, width, line_height, item.name)
  883.   end
  884.   end
  885. end
  886. class Window_ItemList
  887.   #--------------------------------------------------------------------------
  888.   # ● 查询列表中是否含有此物品
  889.   #--------------------------------------------------------------------------
  890.   def include?(item)
  891.     case @category
  892.     when :item
  893.       item.is_a?(RPG::Item) && !item.key_item?
  894.     when :weapon
  895.       item.is_a?(RPG::Weapon)
  896.     when :armor
  897.       item.is_a?(RPG::Armor)
  898.     when :key_item
  899.       item.is_a?(RPG::Item) && item.key_item?
  900.     when :gem
  901.       itemid = item ? item.id : 0
  902.       itemid != 0 ? isgem(itemid) : false
  903.     else
  904.       false
  905.     end
  906.   end
  907.  
  908.   def isgem(itemid)
  909.     for i in $强化哈希表["宝石效果"]
  910.       return true if i[1] == itemid
  911.     end
  912.     false
  913.   end
  914. end
  915. #==============================================================================
  916. # ■ Window_Choosegem
  917. #------------------------------------------------------------------------------
  918. #  选择强化使用的宝石
  919. #==============================================================================
  920.  
  921. class Window_Choosegem < Window_ItemList
  922.   #--------------------------------------------------------------------------
  923.   # ● 初始化对象
  924.   #--------------------------------------------------------------------------
  925.   def initialize()
  926.     super(0, 0, Graphics.width, fitting_height(2))
  927.     self.openness = 0
  928.     deactivate
  929.     @wufangwindow = nil
  930.     @qiangxz = nil
  931.     set_handler(:ok,     method(:on_ok))
  932.     set_handler(:cancel, method(:on_cancel))
  933.   end
  934.  
  935.   def wufangwindow=(wufangwindow)
  936.     @wufangwindow = wufangwindow
  937.   end
  938.   def qiangxz=(qiangxz)
  939.     @qiangxz = qiangxz
  940.   end
  941.   #--------------------------------------------------------------------------
  942.   # ● 开始输入的处理
  943.   #--------------------------------------------------------------------------
  944.   def start
  945.     self.category = :gem
  946.     self.y = (Graphics.height - height) / 2
  947.     refresh
  948.     select(0)
  949.     open
  950.     activate
  951.   end
  952.   #--------------------------------------------------------------------------
  953.   # ● 确定时的处理
  954.   #--------------------------------------------------------------------------
  955.   def on_ok
  956.     result = item ? item.id : 0
  957.     if result != 0
  958.      $usegem = true
  959.      $当前使用宝石id = result
  960.      for i in $强化哈希表["宝石效果"]
  961.        $当前使用宝石加成率 = i[0] if i[1] == $当前使用宝石id
  962.      end
  963.    else
  964.      $当前使用宝石加成率 = 0
  965.      $usegem = false
  966.     end
  967.     @wufangwindow.update_help
  968.     @qiangxz.activate
  969.     close
  970.   end
  971.   #--------------------------------------------------------------------------
  972.   # ● 查询此物品是否可用
  973.   #--------------------------------------------------------------------------
  974.   def enable?(item)
  975.     true
  976.   end
  977.   #--------------------------------------------------------------------------
  978.   # ● 取消时的处理
  979.   #--------------------------------------------------------------------------
  980.   def on_cancel
  981.     $当前使用宝石加成率 = 0
  982.     $usegem = false
  983.     @wufangwindow.update_help
  984.     @qiangxz.activate
  985.     close
  986.   end
  987. end
  988. #==============================================================================
  989. # ■ 强化系统DataManager
  990. #------------------------------------------------------------------------------
  991. #  将武器和防具数据保存入存档
  992. #==============================================================================
  993. module DataManager
  994.   #--------------------------------------------------------------------------
  995.   # ● 生成存档内容
  996.   #--------------------------------------------------------------------------
  997.   def self.make_save_contents
  998.     contents = {}
  999.     contents[:system]        = $game_system
  1000.     contents[:timer]         = $game_timer
  1001.     contents[:message]       = $game_message
  1002.     contents[:switches]      = $game_switches
  1003.     contents[:variables]     = $game_variables
  1004.     contents[:self_switches] = $game_self_switches
  1005.     contents[:actors]        = $game_actors
  1006.     contents[:party]         = $game_party
  1007.     contents[:troop]         = $game_troop
  1008.     contents[:map]           = $game_map
  1009.     contents[:player]        = $game_player
  1010.     contents[:weapons]       = $data_weapons
  1011.     contents[:armors]        = $data_armors
  1012.     contents
  1013.   end
  1014.   #--------------------------------------------------------------------------
  1015.   # ● 展开存档内容
  1016.   #--------------------------------------------------------------------------
  1017.   def self.extract_save_contents(contents)
  1018.     $game_system        = contents[:system]
  1019.     $game_timer         = contents[:timer]
  1020.     $game_message       = contents[:message]
  1021.     $game_switches      = contents[:switches]
  1022.     $game_variables     = contents[:variables]
  1023.     $game_self_switches = contents[:self_switches]
  1024.     $game_actors        = contents[:actors]
  1025.     $game_party         = contents[:party]
  1026.     $game_troop         = contents[:troop]
  1027.     $game_map           = contents[:map]
  1028.     $game_player        = contents[:player]
  1029.     $data_weapons       = contents[:weapons]
  1030.     $data_armors        = contents[:armors]
  1031.   end
  1032. end







Lv1.梦旅人

梦石
0
星屑
62
在线时间
19 小时
注册时间
2011-5-19
帖子
10
来自 2楼
 楼主| 发表于 2013-7-31 15:31:44 | 只看该作者
ps.  装备强化从867开始是绘制物体名称
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 02:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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