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

Project1

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

[已经过期] 关于详细帮助脚本

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6117
在线时间
1557 小时
注册时间
2011-6-14
帖子
520
跳转到指定楼层
1
发表于 2015-8-10 09:42:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 347780682 于 2015-8-10 10:36 编辑

详细帮助脚本会挡住使用窗口, 求帮改
RUBY 代码复制
  1. #==============================================================================
  2. # 禾西製作 / Created by Quarcy
  3. #==============================================================================
  4. class Window_Help < Window_Base
  5.   attr_reader :materia
  6.   #--------------------------------------------------------------------------
  7.   # ● 定義不顯示的屬性與狀態
  8.   #--------------------------------------------------------------------------
  9.   def unshown
  10.     @unshow_elements = [17, 18]
  11.     @unshow_states = []
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化對象
  15.   #--------------------------------------------------------------------------
  16.   def initialize
  17.     super(0, 0, 640, 64)
  18.     self.opacity = 150
  19.     self.z=150
  20.     self.visible = false
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 設置文本
  24.   #     data  : 窗口顯示的字符串/物品資料
  25.   #     align : 對齊方式 (0..左對齊、1..中間對齊、2..右對齊)
  26.   #--------------------------------------------------------------------------
  27.   def set_text(data, align=0)
  28.     #------------------------------------------------------------------------
  29.     # ● 當資料爲文字時候
  30.     #------------------------------------------------------------------------
  31.     # 如果文本或對齊方式至少一方与上次的不同
  32.     if data != @text or align != @align
  33.       if data.is_a?(String)
  34.         # 再描繪文本
  35. #        self.width = 640
  36. #        self.height = 64
  37. #        self.x=0
  38. #        self.y=0
  39. #        self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  40. #        self.contents.clear
  41. #        self.contents.font.color = normal_color
  42. #        self.contents.font.size = 20
  43. #        self.contents.draw_text(4, 0, self.width - 40, 32, data, align)
  44.         @text = data
  45.         @align = align
  46.         @actor = nil
  47.         self.visible = false
  48.       end
  49.     end
  50.     return if data.is_a?(String)
  51.     #------------------------------------------------------------------------
  52.     # ● 當沒有資料時候
  53.     #------------------------------------------------------------------------
  54.     if data.nil?
  55.       self.visible=false
  56.     else
  57.       self.visible=true
  58.     end
  59.     #------------------------------------------------------------------------
  60.     # ● 當資料爲物品/技能時候
  61.     #------------------------------------------------------------------------
  62.     if data != nil && @data != data
  63.       self.width = 210
  64.       self.height = 430
  65.       self.x=0
  66.       self.y=200
  67.       unshown
  68.       non_auto_update(data)
  69.     else
  70.       return
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 更新帮助窗口
  75.   #--------------------------------------------------------------------------
  76.   def non_auto_update(data=@data)
  77.     @data = data
  78.     case @data
  79.     when RPG::Item
  80.       set_item_text(@data)
  81.     when RPG::Weapon
  82.       set_equipment_text(@data)
  83.     when RPG::Armor
  84.       set_equipment_text(@data)
  85.     when RPG::Skill
  86.       set_skill_text(@data)
  87.     end
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 裝備帮助窗口
  91.   #--------------------------------------------------------------------------
  92.   def set_equipment_text(equipment)
  93.     #------------------------------------------------------------------------
  94.     # ● 取得基本質料
  95.     #------------------------------------------------------------------------
  96.     # 取得屬性、附加狀態、解除狀態之副本
  97.     case equipment
  98.     when RPG::Weapon
  99.       element_set = equipment.element_set.clone
  100.       plus_state_set = equipment.plus_state_set.clone
  101.       minus_state_set = equipment.minus_state_set.clone
  102.       #----------------------#
  103.       # 過濾不顯示的狀態描述 #
  104.       #----------------------#
  105.       plus_state_set -= @unshow_states
  106.       minus_state_set -= @unshow_states
  107.     when RPG::Armor
  108.       element_set = equipment.guard_element_set.clone
  109.       guard_state_set = equipment.guard_state_set.clone
  110.       #----------------------#
  111.       # 過濾不顯示的狀態描述 #
  112.       #----------------------#
  113.       auto_state_id = equipment.auto_state_id
  114.       guard_state_set -= @unshow_states
  115.     end
  116.     #----------------------#
  117.     # 過濾不顯示的屬性描述 #
  118.     #----------------------#
  119.     element_set -= @unshow_elements
  120.     #--------------#
  121.     # 取得說明文字 #
  122.     #--------------#
  123.     description = equipment.description.clone
  124.     # 初始化數據設定
  125.     x = 0
  126.     y = 0
  127.     h = 0
  128.     phrase = {}
  129.  
  130.     # 基本文字設定
  131.     phrase["price"] = "价格:"
  132.     phrase["elements"] = "属性:"
  133.     phrase["minus_states"] = "解除状态:"
  134.     phrase["plus_states"] = "附加状态:"
  135.     phrase["guard_elements"] = "防御属性"
  136.     phrase["guard_states"] = "防御状态"
  137.     phrase["auto_state"] = "自动状态"
  138.  
  139.     # 基本數據設定
  140. =begin
  141.     name_size = 名字文字大小
  142.     size = 描述文字大小
  143.     word = 每行的描述文字數
  144.     move = 全體描述偏移幅度
  145. =end
  146.     name_size = 18
  147.     size = 14
  148.     word = 12
  149.     move = 80
  150.     #------------------------------------------------------------------------
  151.     # ● 確定背景圖片的高度
  152.     #------------------------------------------------------------------------
  153.     h += (description.size/3/word)
  154.     h += 1 if (description.size/3%word) > 0
  155.     h += 1 if equipment.is_a?(RPG::Weapon)
  156.     now_h = h
  157.     h += 1
  158.     h += 1 unless equipment.pdef.zero?
  159.     h += 1 unless equipment.mdef.zero?
  160.     h += 1 if element_set.size > 0
  161.     h += 1 if element_set.size >= 5
  162.     case equipment
  163.     when RPG::Weapon
  164.       h += 1 unless minus_state_set.empty?
  165.       h += minus_state_set.size
  166.       h += 1 unless plus_state_set.empty?
  167.       h += plus_state_set.size
  168.     when RPG::Armor
  169.       h += 1 unless guard_state_set.empty?
  170.       h += guard_state_set.size
  171.       h += 1 unless auto_state_id.zero?
  172.     end
  173.     h += 1
  174.     h += 1 unless equipment.str_plus.zero?
  175.     h += 1 unless equipment.dex_plus.zero?
  176.     h += 1 unless equipment.agi_plus.zero?
  177.     h += 1 unless equipment.int_plus.zero?
  178.     h += materia_height_plus(equipment) unless self.materia.nil?
  179.     #------------------------------------------------------------------------
  180.     # ● 圖片顯示保證高度
  181.     #------------------------------------------------------------------------
  182.     h = 6 + now_h if (h - now_h) < 6
  183.     #------------------------------------------------------------------------
  184.     # ● 換算高度
  185.     #------------------------------------------------------------------------
  186.     self.height = h * size + name_size + 32
  187.     #------------------------------------------------------------------------
  188.     # ● 生成背景
  189.     #------------------------------------------------------------------------
  190.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  191.     self.contents.clear
  192.     #------------------------------------------------------------------------
  193.     # ● 名字描繪
  194.     #------------------------------------------------------------------------
  195.     text = equipment.name
  196.     self.contents.font.color = draw_name_color(equipment)
  197.     self.contents.font.size = name_size
  198.     if text.nil?
  199.       self.visible = false
  200.     else
  201.       self.visible = true
  202.       self.contents.draw_text(0, 0, text.size*7, name_size, text, 0)
  203.     end
  204.     #------------------------------------------------------------------------
  205.     # ● 說明描繪
  206.     #------------------------------------------------------------------------
  207.     x = 0
  208.     y += 1
  209.     while ((text = description.slice!(/./m)) != nil)
  210.       self.contents.font.color = normal_color
  211.       self.contents.font.size = size
  212.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  213.       x+=1
  214.       if x == word
  215.         x=0
  216.         y+=1   
  217.       end
  218.     end
  219.     #------------------------------------------------------------------------
  220.     # ● 圖標描繪
  221.     #------------------------------------------------------------------------
  222.     bitmap = RPG::Cache.icon(equipment.icon_name)
  223.     opacity = self.contents.font.color == normal_color ? 255 : 128
  224.     self.contents.blt(0 ,y*size + 20, bitmap, Rect.new(0, 0, 95, 100), 225)
  225.     #------------------------------------------------------------------------
  226.     # ● 鑒定接口
  227.     #------------------------------------------------------------------------
  228.    # if identified
  229.      # return unless equipment.identified
  230.    # end
  231.     #------------------------------------------------------------------------
  232.     # ● 攻擊力描繪(武器)
  233.     #------------------------------------------------------------------------
  234.     if equipment.is_a?(RPG::Weapon)
  235.       x = 0
  236.       y += 1
  237.       text = $data_system.words.atk+":"+equipment.atk.to_s
  238.       self.contents.font.color = normal_color
  239.       self.contents.font.size = size
  240.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  241.     end
  242.     #------------------------------------------------------------------------
  243.     # ● 價格描繪
  244.     #------------------------------------------------------------------------
  245.     x = 0
  246.     y += 1
  247.     text = phrase["price"] + equipment.price.to_s
  248.     self.contents.font.color = normal_color
  249.     self.contents.font.size = size
  250.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  251.     #------------------------------------------------------------------------
  252.     # ● 物理防禦
  253.     #------------------------------------------------------------------------
  254.     unless equipment.pdef.zero?
  255.       x = 0
  256.       y += 1
  257.       text = $data_system.words.pdef+":"+equipment.pdef.to_s
  258.       self.contents.font.color = normal_color
  259.       self.contents.font.size = size
  260.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  261.     end
  262.     #------------------------------------------------------------------------
  263.     # ● 魔法防禦
  264.     #------------------------------------------------------------------------
  265.     unless equipment.mdef.zero?
  266.       x = 0
  267.       y += 1
  268.       text=$data_system.words.mdef+":"+equipment.mdef.to_s
  269.       self.contents.font.color = normal_color
  270.       self.contents.font.size = size
  271.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  272.     end
  273.     #------------------------------------------------------------------------
  274.     # ● 屬性
  275.     #------------------------------------------------------------------------
  276.     if element_set.size > 0
  277.       x = 0
  278.       y += 1
  279.       text = phrase["elements"]
  280.       for i in 0...element_set.size
  281.         break if i > 4
  282.         text += $data_system.elements[element_set[i]]
  283.       end
  284.       self.contents.font.color = normal_color
  285.       self.contents.font.size = size
  286.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  287.     end
  288.     if element_set.size >= 5
  289.       x = (phrase["elements"].size)*5-4
  290.       y += 1
  291.       text = ""
  292.       for i in 4...element_set.size
  293.         text += $data_system.elements[element_set[i]]
  294.       end
  295.       self.contents.font.color = normal_color
  296.       self.contents.font.size = size
  297.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  298.     end
  299.     #------------------------------------------------------------------------
  300.     # ● 描述分流 武器/防具
  301.     #------------------------------------------------------------------------
  302.     case equipment
  303.     when RPG::Weapon
  304.       #------------------------------------------------------------------------
  305.       # ● 解除狀態(武器)
  306.       #------------------------------------------------------------------------
  307.       unless minus_state_set.empty?
  308.         x = 0
  309.         y += 1
  310.         text=phrase["minus_states"]
  311.         text=phrase["guard_states"]
  312.         self.contents.font.color = normal_color
  313.         self.contents.font.size = size
  314.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  315.         for i in 0...minus_state_set.size
  316.           y += 1
  317.           text = $data_states[minus_state_set[i]].name        
  318.           self.contents.font.color = normal_color
  319.           self.contents.font.size = size
  320.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  321.         end
  322.       end
  323.       #------------------------------------------------------------------------
  324.       # ● 附加狀態(武器)
  325.       #------------------------------------------------------------------------
  326.       unless plus_state_set.empty?
  327.         x = 0
  328.         y += 1
  329.         text = phrase["plus_states"]
  330.         self.contents.font.color = normal_color
  331.         self.contents.font.size = size
  332.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  333.         for i in 0...plus_state_set.size
  334.           y += 1
  335.           text=$data_states[plus_state_set[i]].name        
  336.           self.contents.font.color = normal_color
  337.           self.contents.font.size = size
  338.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  339.         end  
  340.       end
  341.     when RPG::Armor
  342.       #------------------------------------------------------------------------
  343.       # ● 防禦狀態(防具)
  344.       #------------------------------------------------------------------------
  345.       unless guard_state_set.empty?
  346.         x = 0
  347.         y += 1
  348.         text=phrase["guard_states"]
  349.         self.contents.font.color = normal_color
  350.         self.contents.font.size = size
  351.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  352.         for i in 0...guard_state_set.size
  353.           y += 1
  354.           text = $data_states[guard_state_set[i]].name        
  355.           self.contents.font.color = normal_color
  356.           self.contents.font.size = size
  357.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  358.         end
  359.       end
  360.       #------------------------------------------------------------------------
  361.       # ● 自動狀態(防具)
  362.       #------------------------------------------------------------------------
  363.       unless auto_state_id.zero?
  364.         x = 0
  365.         y += 1
  366.         text = phrase["auto_state"] + $data_states[auto_state_id].name
  367.         self.contents.font.color = normal_color
  368.         self.contents.font.size = size
  369.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  370.       end
  371.     end
  372.     #------------------------------------------------------------------------
  373.     # ● 空行
  374.     #------------------------------------------------------------------------
  375.     y+=1
  376.     #------------------------------------------------------------------------
  377.     # ● 力量
  378.     #------------------------------------------------------------------------
  379.     unless equipment.str_plus.zero?
  380.       x = 0
  381.       y += 1
  382.       h += 1
  383.       if equipment.str_plus > 0
  384.         text=$data_system.words.str+" +"+ equipment.str_plus.to_s
  385.       else
  386.         text=$data_system.words.str+" -"+ (-equipment.str_plus).to_s
  387.       end
  388.       self.contents.font.color = normal_color
  389.       self.contents.font.size = size
  390.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)  
  391.     end
  392.     #------------------------------------------------------------------------
  393.     # ● 靈巧
  394.     #------------------------------------------------------------------------
  395.     unless equipment.dex_plus.zero?
  396.       x = 0
  397.       y += 1
  398.       h += 1
  399.       if equipment.dex_plus > 0
  400.         text=$data_system.words.dex+" +"+ equipment.dex_plus.to_s
  401.       else
  402.         text=$data_system.words.dex+" -"+ (-equipment.dex_plus).to_s
  403.       end
  404.       self.contents.font.color = normal_color
  405.       self.contents.font.size = size
  406.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  407.     end
  408.     #------------------------------------------------------------------------
  409.     # ● 速度
  410.     #------------------------------------------------------------------------
  411.     unless equipment.agi_plus.zero?
  412.       x = 0
  413.       y += 1
  414.       h += 1
  415.       if equipment.agi_plus > 0
  416.         text=$data_system.words.agi+" +"+ equipment.agi_plus.to_s
  417.       else
  418.         text=$data_system.words.agi+" -"+ (-equipment.agi_plus).to_s
  419.       end
  420.       self.contents.font.color = normal_color
  421.       self.contents.font.size = size
  422.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  423.     end
  424.     #------------------------------------------------------------------------
  425.     # ● 智力
  426.     #------------------------------------------------------------------------
  427.     unless equipment.int_plus.zero?
  428.       x = 0
  429.       y += 1
  430.       h += 1
  431.       if equipment.int_plus > 0
  432.         text=$data_system.words.int+" +"+ equipment.int_plus.to_s
  433.       else
  434.         text=$data_system.words.int+" -"+ (-equipment.int_plus).to_s
  435.       end
  436.       self.contents.font.color = normal_color
  437.       self.contents.font.size = size
  438.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  439.     end
  440.     #------------------------------------------------------------------------
  441.     # ● 魔力石描繪
  442.     #------------------------------------------------------------------------
  443.     y += draw_materia(equipment, move, y, size) unless self.materia.nil?
  444.   end
  445.   #--------------------------------------------------------------------------
  446.   # ● 物品幫助窗口
  447.   #--------------------------------------------------------------------------
  448.   def set_item_text(item)
  449.     # 取得描述
  450.     description = item.description.clone
  451.     # 取得屬性、附加狀態、解除狀態之副本
  452.     element_set = item.element_set.clone
  453.     plus_state_set = item.plus_state_set.clone
  454.     minus_state_set = item.minus_state_set.clone
  455.     # 過濾不顯示的描述
  456.     element_set -= @unshow_elements
  457.     plus_state_set -= @unshow_states
  458.     minus_state_set -= @unshow_states
  459.     # 初始化數據設定
  460.     x = 0
  461.     y = 0
  462.     h = 0
  463.     phrase = {}
  464.     scope ={}
  465.     parameter_type = {}
  466.  
  467.     # 基本數據設定
  468. =begin
  469.     name_size = 名字文字大小
  470.     size = 描述文字大小
  471.     word = 每行的描述文字數
  472.     move = 全體描述偏移幅度
  473. =end
  474.     name_size = 18
  475.     size = 14
  476.     word = 12
  477.     move = 80
  478.  
  479.     # 基本文字設定
  480.     phrase["scope"] = "范围:"
  481.     phrase["price"] = "价格:"
  482.     phrase["recover_hp_rate"] = "HP 回复率:"
  483.     phrase["recover_hp"] = "HP 回复量:"
  484.     phrase["recover_sp_rate"] = "SP 回复率:"
  485.     phrase["recover_sp"] = "SP 回复量:"
  486.     phrase["elements"] = "属性:"
  487.     phrase["plus"] = "附加"
  488.     phrase["minus"] = "解除"
  489.     phrase["states"] = "状态"
  490.     scope[0] = "特殊物品"
  491.     scope[1] = "特殊物品"
  492.     scope[2] = "敌单体"
  493.     scope[3] = "敌全体"
  494.     scope[4] = "己方单体"
  495.     scope[5] = "己方全体"
  496.     scope[6] = "己方昏死单体"
  497.     scope[7] = "己方昏死全体"
  498.     scope[8] = "使用者"
  499.  
  500.     parameter_type[1] = "MaxHP"
  501.     parameter_type[2] = "MaxSP"
  502.     parameter_type[3] = $data_system.words.str
  503.     parameter_type[4] = $data_system.words.dex
  504.     parameter_type[5] = $data_system.words.agi
  505.     parameter_type[6] = $data_system.words.int
  506.  
  507.     #依顯示内容確定自身高
  508.     h = (description.size/3/word)
  509.     h +=1 if (description.size/3%word)> 0
  510.     now_h = h
  511.     h +=3  # 空行,效果範圍,價格
  512.     h += 1 unless item.recover_hp_rate.zero?
  513.     h += 1 unless item.recover_hp.zero?
  514.     h += 1 unless item.recover_sp_rate.zero?
  515.     h += 1 unless item.recover_sp.zero?
  516.     h += 1 unless item.parameter_type.zero?
  517.     h += 1 unless element_set[0].nil?
  518.     h += 1 unless element_set[4].nil?
  519.     h += (1+plus_state_set.size) unless plus_state_set.empty?
  520.     h += (1+minus_state_set.size) unless minus_state_set.empty?
  521.     #------------------------------------------------------------------------
  522.     # ● 圖片顯示保證高度
  523.     #------------------------------------------------------------------------
  524.     h = 6 + now_h if (h - now_h) < 6
  525.     #------------------------------------------------------------------------
  526.     # ● 換算高度
  527.     #------------------------------------------------------------------------
  528.     self.height = h * size + name_size + 32
  529.     #------------------------------------------------------------------------
  530.     # ● 生成背景
  531.     #------------------------------------------------------------------------
  532.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  533.     self.contents.clear
  534.     #------------------------------------------------------------------------
  535.     # ● 名字描繪
  536.     #------------------------------------------------------------------------
  537.     text = item.name
  538.     self.contents.font.color = normal_color#顔色腳本
  539.     self.contents.font.size = name_size
  540.     if text.nil?
  541.       self.visible = false
  542.     else
  543.       self.visible = true
  544.       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
  545.     end
  546.     #------------------------------------------------------------------------
  547.     # ● 說明描繪
  548.     #------------------------------------------------------------------------
  549.     x = 0
  550.     y += 1
  551.     while ((text = description.slice!(/./m)) != nil)
  552.       self.contents.font.color = normal_color
  553.       self.contents.font.size = size
  554.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  555.       x+=1
  556.       if x == word
  557.         x = 0
  558.         y += 1
  559.       end
  560.     end
  561.     #------------------------------------------------------------------------
  562.     # ● 圖標描繪
  563.     #------------------------------------------------------------------------
  564.     bitmap = RPG::Cache.icon(item.icon_name) unless item.icon_name.nil?
  565.     opacity = self.contents.font.color == normal_color ? 255 : 128
  566.     self.contents.blt(0 ,y*size + 20, bitmap, Rect.new(0, 0, 95, 100), 225)
  567.     #------------------------------------------------------------------------
  568.     # ● 魔力石接口
  569.     #------------------------------------------------------------------------
  570.     unless self.materia.nil?
  571.       return if is_materia?(item)
  572.     end
  573.     #------------------------------------------------------------------------
  574.     # ● 效果範圍
  575.     #------------------------------------------------------------------------
  576.     text= phrase["scope"] + scope[item.scope]
  577.     x = 0
  578.     y += 1
  579.     self.contents.font.color = normal_color
  580.     self.contents.font.size = size
  581.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  582.     #------------------------------------------------------------------------
  583.     # ● 價格
  584.     #------------------------------------------------------------------------
  585.     x = 0
  586.     y += 1      
  587.     text = phrase["price"] + item.price.to_s
  588.     self.contents.font.color = normal_color
  589.     self.contents.font.size = size
  590.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  591.  
  592.     #------------------------------------------------------------------------
  593.     # ● HP回復率
  594.     #------------------------------------------------------------------------
  595.     unless item.recover_hp_rate.zero?  
  596.       x = 0
  597.       y += 1
  598.       text = phrase["recover_hp_rate"] + item.recover_hp_rate.to_s+"%"
  599.       self.contents.font.color = normal_color
  600.       self.contents.font.size = size
  601.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)   
  602.     end
  603.     #------------------------------------------------------------------------
  604.     # ● HP回復量
  605.     #------------------------------------------------------------------------
  606.     unless item.recover_hp.zero?  
  607.       x = 0
  608.       y += 1      
  609.       text = phrase["recover_hp"] + item.recover_hp.to_s
  610.       self.contents.font.color = normal_color
  611.       self.contents.font.size = size
  612.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  613.     end
  614.     #------------------------------------------------------------------------
  615.     # ● SP回復率
  616.     #------------------------------------------------------------------------
  617.     unless item.recover_sp_rate.zero?
  618.       x = 0
  619.       y += 1      
  620.       text = phrase["recover_sp_rate"] + item.recover_sp_rate.to_s+"%"
  621.       self.contents.font.color = normal_color
  622.       self.contents.font.size = size
  623.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  624.     end
  625.     #------------------------------------------------------------------------
  626.     # ● SP回復量
  627.     #------------------------------------------------------------------------
  628.     unless item.recover_sp.zero?  
  629.       x = 0
  630.       y += 1      
  631.       text = phrase["elements"] + item.recover_sp.to_s
  632.       self.contents.font.color = normal_color
  633.       self.contents.font.size = size
  634.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  635.     end
  636.     #------------------------------------------------------------------------
  637.     # ● 能力值增加
  638.     #------------------------------------------------------------------------
  639.     unless item.parameter_type.zero?
  640.       x = 0
  641.       y += 1      
  642.       text= parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s
  643.  
  644.       self.contents.font.color = normal_color
  645.       self.contents.font.size = size
  646.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  647.     end
  648.     #------------------------------------------------------------------------
  649.     # ● 屬性
  650.     #------------------------------------------------------------------------
  651.     if element_set.size > 0
  652.       x = 0
  653.       y += 1
  654.       text = phrase["elements"]
  655.       for i in 0...element_set.size
  656.         break if i > 4
  657.         text += $data_system.elements[element_set[i]]
  658.       end
  659.       self.contents.font.color = normal_color
  660.       self.contents.font.size = size
  661.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  662.     end
  663.     if element_set.size >= 5
  664.       x = (phrase["elements"].size)*5-4
  665.       y += 1
  666.       text = ""
  667.       for i in 4...element_set.size
  668.         text += $data_system.elements[element_set[i]]
  669.       end
  670.       self.contents.font.color = normal_color
  671.       self.contents.font.size = size
  672.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  673.     end
  674.     #------------------------------------------------------------------------
  675.     # ● 狀態添加
  676.     #------------------------------------------------------------------------
  677.     unless plus_state_set.empty?
  678.       text = phrase["plus"]
  679.       x = 0
  680.       y += 1
  681.       self.contents.font.color = normal_color
  682.       self.contents.font.size = size
  683.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  684.       plus_state_set.each do |plus_state|
  685.         y += 1
  686.         text = $data_states[plus_state].name        
  687.         self.contents.font.color = normal_color
  688.         self.contents.font.size = size
  689.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)      
  690.       end  
  691.     end
  692.     #------------------------------------------------------------------------
  693.     # ● 狀態解除
  694.     #------------------------------------------------------------------------
  695.     unless minus_state_set.empty?
  696.       text = phrase["minus"]
  697.       x = 0
  698.       y += 1
  699.       self.contents.font.color = normal_color
  700.       self.contents.font.size = size
  701.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  702.       minus_state_set.each do |minus_state|
  703.         y += 1
  704.         text = $data_states[minus_state].name
  705.         self.contents.font.color = normal_color
  706.         self.contents.font.size = size
  707.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)   
  708.       end
  709.     end
  710.   end
  711.   #--------------------------------------------------------------------------
  712.   # ● 技能帮助窗口
  713.   #--------------------------------------------------------------------------
  714.   def set_skill_text(skill)
  715.     # 取得描述
  716.     description = skill.description.clone
  717.     # 取得屬性、附加狀態、解除狀態之副本
  718.     element_set = skill.element_set.clone
  719.     plus_state_set = skill.plus_state_set.clone
  720.     minus_state_set = skill.minus_state_set.clone
  721.     # 過濾不顯示的描述
  722.     element_set -= @unshow_elements
  723.     plus_state_set -= @unshow_states
  724.     minus_state_set -= @unshow_states
  725.     # 初始化設定
  726.     x = 0
  727.     y = 0
  728.     h = 0
  729.     phrase = {}
  730.     scope = {}
  731.  
  732.     # 基本數據設定
  733. =begin
  734.     name_size = 名字文字大小
  735.     size = 描述文字大小
  736.     word = 每行的描述文字數
  737.     move = 全體描述偏移幅度
  738. =end
  739.     name_size = 18
  740.     size = 14
  741.     word = 12
  742.     move = 80
  743.  
  744.     # 基本文字設定
  745.     phrase["scope"] = "范围:"
  746.     #
  747.     phrase["power"] = "威力:"
  748.     phrase["cost_sp"] = "消耗SP:"
  749.     phrase["hit_rate"] = "命中率:"
  750.     phrase["elements"] = "攻击属性"
  751.     #
  752.     phrase["plus"] = "附加"
  753.     phrase["minus"] = "解除"
  754.     phrase["states"] = "状态"
  755.     scope[0] = "特殊技能"
  756.     scope[1] = "敌单体"
  757.     scope[2] = "敌全体"
  758.     scope[3] = "我方单体"
  759.     scope[4] = "我方全体"
  760.     scope[5] = "我方昏死(单体)"
  761.     scope[6] = "我方昏死(全体)"
  762.     scope[7] = "自身"
  763.  
  764.  
  765.     #由描叙确定高
  766.     h =description.size/3/word
  767.     h += 1 if (description.size%3/word) > 0
  768.     h += 4  #空行,效果范围,消费SP,命中率
  769.     h += 1 unless skill.power.zero?
  770.     h += 1 unless element_set.empty?
  771.     h += 1 unless element_set[4].nil?
  772.     h += plus_state_set.size
  773.     h += minus_state_set.size
  774.     #------------------------------------------------------------------------
  775.     # ● 換算高度
  776.     #------------------------------------------------------------------------
  777.     self.height=h * size + name_size + 32  
  778.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  779.     self.contents.clear
  780.  
  781.     #------------------------------------------------------------------------
  782.     # ● 名字描述
  783.     #------------------------------------------------------------------------
  784.     text = skill.name
  785.     self.contents.font.color = Color.new(255, 255, 128, 255)
  786.     self.contents.font.size = name_size
  787.     if text!=nil
  788.       self.visible = true
  789.       self.contents.draw_text(0,0, text.size*7, name_size, text, 0)
  790.     else
  791.       self.visible = false
  792.     end
  793.  
  794.     #------------------------------------------------------------------------
  795.     # ● 說明描述
  796.     #------------------------------------------------------------------------
  797.     x = 0
  798.     y += 1
  799.     text = description
  800.     while ((text = description.slice!(/./m)) != nil)
  801.       self.contents.font.color = normal_color
  802.       self.contents.font.size = size
  803.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  804.       x+=1
  805.       if x==word#每行10个字
  806.         x = 0
  807.         y += 1      
  808.       end
  809.     end
  810.  
  811.     #------------------------------------------------------------------------
  812.     # ● 攻擊範圍
  813.     #------------------------------------------------------------------------
  814.     text = phrase["scope"] + scope[skill.scope]
  815.     x = 0
  816.     y += 1
  817.     self.contents.font.color = normal_color
  818.     self.contents.font.size = size
  819.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  820.     #------------------------------------------------------------------------
  821.     # ● 空一行
  822.     #------------------------------------------------------------------------
  823.     y += 1
  824.     #------------------------------------------------------------------------
  825.     # ● 威力描述
  826.     #------------------------------------------------------------------------
  827.     unless skill.power.zero?
  828.       power = skill.power > 0 ? skill.power : -1 * skill.power
  829.       text = phrase["power"] + power.to_s
  830.       x = 0
  831.       y += 1
  832.       self.contents.font.color = normal_color
  833.       self.contents.font.size = size  
  834.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  835.     end  
  836.     #------------------------------------------------------------------------
  837.     # ● 消費SP描述
  838.     #------------------------------------------------------------------------
  839.     text = phrase["cost_sp"] + skill.sp_cost.to_s
  840.     x = 0
  841.     y += 1
  842.     self.contents.font.color = normal_color
  843.     self.contents.font.size = size   
  844.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  845.     #------------------------------------------------------------------------
  846.     # ● 命中率描述
  847.     #------------------------------------------------------------------------
  848.     text = phrase["hit_rate"] + skill.hit.to_s + "%"
  849.     x = 0
  850.     y += 1
  851.     self.contents.font.color = normal_color
  852.     self.contents.font.size = size
  853.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  854.     #------------------------------------------------------------------------
  855.     # ● 攻擊屬性
  856.     #------------------------------------------------------------------------
  857.     if element_set.size > 0
  858.       text=phrase["elements"]
  859.       for i in 0...element_set.size
  860.         if i < 4
  861.           text+=$data_system.elements[element_set[i]]
  862.         else
  863.           break
  864.         end        
  865.       end
  866.       x = 0
  867.       y += 1
  868.       self.contents.font.color = normal_color
  869.       self.contents.font.size = size
  870.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  871.     end
  872.     if element_set.size >= 5
  873.       text=""
  874.       for i in 4...element_set.size
  875.         text+=$data_system.elements[element_set[i]]
  876.       end
  877.       x= (phrase["elements"].size)*3
  878.       y += 1
  879.       self.contents.font.color = normal_color
  880.       self.contents.font.size = size
  881.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  882.     end
  883.     #------------------------------------------------------------------------
  884.     # ● 狀態附加
  885.     #------------------------------------------------------------------------
  886.     unless plus_state_set.empty?
  887.       text= phrase["plus"]
  888.       x = 0
  889.       y += 1
  890.       self.contents.font.color = normal_color
  891.       self.contents.font.size = size
  892.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  893.       plus_state_set.each do |plus_state|
  894.         y += 1
  895.         text=$data_states[plus_state].name        
  896.         self.contents.font.color = normal_color
  897.         self.contents.font.size = size
  898.         self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)        
  899.       end  
  900.     end
  901.     #------------------------------------------------------------------------
  902.     # ●狀態解除
  903.     #------------------------------------------------------------------------
  904.     unless minus_state_set.empty?
  905.       text = phrase["minus"]
  906.       x = 0
  907.       y += 1
  908.       self.contents.font.color = normal_color
  909.       self.contents.font.size=size
  910.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  911.       minus_state_set.each do |minus_state|
  912.         y += 1
  913.         text=$data_states[minus_state].name        
  914.         self.contents.font.color = normal_color
  915.         self.contents.font.size=size
  916.         self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)        
  917.       end  
  918.     end     
  919.   end
  920.   #--------------------------------------------------------------------------
  921.   # ● 设置角色
  922.   #     actor : 要显示状态的角色
  923.   #--------------------------------------------------------------------------
  924.   def set_actor(actor)
  925.     if actor != @actor
  926.       self.contents.clear
  927.       draw_actor_name(actor, 4, 0)
  928.       draw_actor_state(actor, 140, 0)
  929.       draw_actor_hp(actor, 284, 0)
  930.       draw_actor_sp(actor, 460, 0)
  931.       @actor = actor
  932.       @text = nil
  933.       self.visible = true
  934.     end
  935.   end
  936.   #--------------------------------------------------------------------------
  937.   # ● 設置角色
  938.   #     actor : 要顯示狀態之角色
  939.   #--------------------------------------------------------------------------
  940.   def set_actor(actor)
  941.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  942.     if actor != @actor
  943.       self.contents.clear
  944.       draw_actor_name(actor, 4, 0)
  945.       draw_actor_state(actor, 140, 0)
  946.       draw_actor_hp(actor, 284, 0)
  947.       draw_actor_sp(actor, 460, 0)
  948.       @actor = actor
  949.       @text = nil
  950.       self.visible = true
  951.     end
  952.   end
  953.   #--------------------------------------------------------------------------
  954.   # ● 設置敵人
  955.   #     enemy : 要顯示名字與狀態之敵人
  956.   #--------------------------------------------------------------------------
  957.   def set_enemy(enemy)
  958.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  959.     text = enemy.name.sub(/\\[Ff]\[([0-9]+)\]/) {""}
  960.     state_text = make_battler_state_text(enemy, 112, false)
  961.     if state_text != ""
  962.       text += "  " + state_text
  963.     end
  964.     set_text(text, 1)
  965.     self.visible = true
  966.   end
  967.   #--------------------------------------------------------------------------
  968.   # ● 校正帮助窗口位置
  969.   #--------------------------------------------------------------------------
  970.   def set_pos(x,y,width,oy,index,column_max)
  971.     #光标坐标
  972.     cursor_width = width / column_max - 32
  973.     xx = index % column_max * (cursor_width + 32)
  974.     yy = index / column_max * 32 - oy
  975.     self.x=xx+x+150
  976.     self.y=yy+y+30
  977.     if self.x+self.width>640
  978.       self.x=640-self.width
  979.     end
  980.     if self.y+self.height>480
  981.       self.y=480-self.height
  982.     end  
  983.   end
  984.   #------------------------------------------------------------------------
  985.   # ● 裝備名字顔色變化 接口
  986.   #------------------------------------------------------------------------
  987.   def draw_name_color(equipment)
  988.     return normal_color
  989.   end
  990.   #------------------------------------------------------------------------
  991.   # ● 自身身份確認
  992.   #------------------------------------------------------------------------
  993.   def original_help?
  994.     return false
  995.   end
  996. end
  997.  
  998. #------------------------------------------------------------------------------
  999.  
  1000.  
  1001.  
  1002. #------------------------------------------------------------------------------
  1003. #==============================================================================
  1004. # ■ Window_Item
  1005. #------------------------------------------------------------------------------
  1006. #  物品画面、战斗画面、显示浏览物品的窗口。
  1007. #==============================================================================
  1008.  
  1009. class Window_Item < Window_Selectable
  1010.   #--------------------------------------------------------------------------
  1011.   # ● 初始化对像
  1012.   #--------------------------------------------------------------------------
  1013.   def initialize
  1014.     super(0, 64-64, 640, 416+64)
  1015.     @column_max = 2
  1016.     refresh
  1017.     self.index = 0
  1018.     # 战斗中的情况下将窗口移至中央并将其半透明化
  1019.     if $game_temp.in_battle
  1020.       self.y = 64
  1021.       self.height = 256
  1022.       self.back_opacity = 160
  1023.     end
  1024.   end
  1025.   #--------------------------------------------------------------------------
  1026.   # ● 刷新帮助文本
  1027.   #--------------------------------------------------------------------------
  1028.   def update_help
  1029.     @help_window.set_text(item)
  1030.     #校正帮助窗口位置
  1031.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1032.   end
  1033. end
  1034. #------------------------------------------------------------------------------
  1035.  
  1036.  
  1037.  
  1038. #------------------------------------------------------------------------------
  1039. #==============================================================================
  1040. # ■ Window_Skill
  1041. #------------------------------------------------------------------------------
  1042. #  特技画面、战斗画面、显示可以使用的特技浏览的窗口。
  1043. #==============================================================================
  1044.  
  1045. class Window_Skill < Window_Selectable
  1046.   #--------------------------------------------------------------------------
  1047.   # ● 初始化对像
  1048.   #     actor : 角色
  1049.   #--------------------------------------------------------------------------
  1050.   def initialize(actor)
  1051.     super(0, 97, 640, 352)
  1052.     @actor = actor
  1053.     @column_max = 2
  1054.     refresh
  1055.     self.index = 0
  1056.     # 战斗中的情况下将窗口移至中央并将其半透明化
  1057.     if $game_temp.in_battle
  1058.       self.y = 64
  1059.       self.height = 256
  1060.       self.back_opacity = 160
  1061.     end
  1062.   end
  1063.   #--------------------------------------------------------------------------
  1064.   # ● 刷新帮助文本
  1065.   #--------------------------------------------------------------------------
  1066.  
  1067.   def update_help
  1068.     @help_window.set_text(skill)
  1069.     #校正帮助窗口位置
  1070.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1071.   end
  1072. end
  1073. #------------------------------------------------------------------------------
  1074.  
  1075.  
  1076.  
  1077. #------------------------------------------------------------------------------
  1078. #==============================================================================
  1079. # ■ Window_SkillStatus
  1080. #------------------------------------------------------------------------------
  1081. #  显示特技画面、特技使用者的窗口。
  1082. #==============================================================================
  1083.  
  1084. class Window_SkillStatus < Window_Base
  1085.   #--------------------------------------------------------------------------
  1086.   # ● 初始化对像
  1087.   #     actor : 角色
  1088.   #--------------------------------------------------------------------------
  1089.   def initialize(actor)
  1090. # -------------------
  1091. # 修改開始
  1092.     super(0, 35-5, 640, 64)#★★★★★★★★★★★★★★★★★★★★
  1093. # 修改終了
  1094. # -------------------
  1095.     self.contents = Bitmap.new(width - 32, height - 32)
  1096.     @actor = actor
  1097.  
  1098.     refresh
  1099.   end
  1100. end
  1101. #------------------------------------------------------------------------------
  1102.  
  1103.  
  1104.  
  1105. #------------------------------------------------------------------------------
  1106. #==============================================================================
  1107. # ■ Window_EquipLeft
  1108. #------------------------------------------------------------------------------
  1109. #  装备画面的、显示角色能力值变化的窗口。
  1110. #==============================================================================
  1111. class Window_EquipLeft < Window_Base
  1112.   #--------------------------------------------------------------------------
  1113.   # ● 初始化对像
  1114.   #     actor : 角色
  1115.   #--------------------------------------------------------------------------
  1116.   def initialize(actor)
  1117. # -------------------
  1118. # 修改開始
  1119.     super(0, 35-1, 272, 416)#★★★★★★★★★★★★★★★★★★★★
  1120. # 修改終了
  1121. # -------------------
  1122.     self.contents = Bitmap.new(width - 32, height - 32)
  1123.     @actor = actor
  1124.     refresh
  1125.   end
  1126. end
  1127. #------------------------------------------------------------------------------
  1128.  
  1129.  
  1130.  
  1131. #------------------------------------------------------------------------------
  1132. #==============================================================================
  1133. # ■ Window_EquipRight
  1134. #------------------------------------------------------------------------------
  1135. #  装备画面、显示角色现在装备的物品的窗口。
  1136. #==============================================================================
  1137.  
  1138. class Window_EquipRight < Window_Selectable
  1139.   #--------------------------------------------------------------------------
  1140.   # ● 初始化对像
  1141.   #     actor : 角色
  1142.   #--------------------------------------------------------------------------
  1143.   def initialize(actor)
  1144. # -------------------
  1145. # 修改開始
  1146.     super(272, 35, 368, 256)#★★★★★★★★★★★★★★★★★★★★
  1147. # 修改終了
  1148. # -------------------
  1149.     self.contents = Bitmap.new(width - 32, height - 32)
  1150.     @actor = actor
  1151.     self.opacity = 0
  1152.     refresh
  1153.     self.index = 0
  1154.   end
  1155.   #--------------------------------------------------------------------------
  1156.   # ● 刷新帮助文本
  1157.   #--------------------------------------------------------------------------
  1158.  
  1159.   def update_help
  1160.     @help_window.set_text(item)
  1161.     #校正帮助窗口位置
  1162.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1163.   end
  1164. end
  1165. #------------------------------------------------------------------------------
  1166.  
  1167.  
  1168.  
  1169. #------------------------------------------------------------------------------
  1170. #==============================================================================
  1171. # ■ Window_EquipItem
  1172. #------------------------------------------------------------------------------
  1173. #  装备画面、显示浏览变更装备的候补物品的窗口。
  1174. #==============================================================================
  1175.  
  1176. class Window_EquipItem < Window_Selectable
  1177.   #--------------------------------------------------------------------------
  1178.   # ● 初始化对像
  1179.   #     actor      : 角色
  1180.   #     equip_type : 装备部位 (0~3)
  1181.   #--------------------------------------------------------------------------
  1182.   def initialize(actor, equip_type)
  1183. # -------------------
  1184. # 修改開始
  1185.     super(272, 285+5, 368, 160)#★★★★★★★★★★★★★★★★★★★★
  1186. # 修改終了
  1187. # -------------------
  1188.     @actor = actor
  1189.     @equip_type = equip_type
  1190.     @column_max = 1
  1191.     self.opacity = 0
  1192.     refresh
  1193.     self.active = false
  1194.     self.index = -1
  1195.   end
  1196.   def update_help
  1197.     @help_window.set_text(item)
  1198.     #校正帮助窗口位置
  1199.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1200.   end
  1201. end
  1202. #------------------------------------------------------------------------------
  1203.  
  1204.  
  1205.  
  1206. #------------------------------------------------------------------------------
  1207. #==============================================================================
  1208. # ■ Window_ShopCommand
  1209. #------------------------------------------------------------------------------
  1210. #  商店画面、选择要做的事的窗口
  1211. #==============================================================================
  1212.  
  1213. class Window_ShopCommand < Window_Selectable
  1214.   #--------------------------------------------------------------------------
  1215.   # ● 初始化对像
  1216.   #--------------------------------------------------------------------------
  1217.   def initialize
  1218. # -------------------
  1219. # 修改開始
  1220.     super(0, 64-64, 480, 64)#★★★★★★★★★★★★★★★★★
  1221. # 修改終了
  1222. # -------------------
  1223.     self.contents = Bitmap.new(width - 32, height - 32)
  1224.     @item_max = 3
  1225.     @column_max = 3
  1226.     @commands = ["买", "卖", "取消"]
  1227.     refresh
  1228.     self.index = 0
  1229.   end
  1230. end
  1231. #------------------------------------------------------------------------------
  1232.  
  1233.  
  1234.  
  1235. #------------------------------------------------------------------------------
  1236. #========================================================================================================================
  1237. # ■ Window_ShopBuy
  1238. #------------------------------------------------------------------------------
  1239. #  商店画面、浏览显示可以购买的商品的窗口。
  1240. #==============================================================================
  1241.  
  1242. class Window_ShopBuy < Window_Selectable
  1243.   #--------------------------------------------------------------------------
  1244.   # ● 初始化对像
  1245.   #     shop_goods : 商品
  1246.   #--------------------------------------------------------------------------
  1247.   def initialize(shop_goods)
  1248. # -------------------
  1249. # 修改開始
  1250.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  1251. # 修改終了
  1252. # -------------------
  1253.     @shop_goods = shop_goods
  1254.  
  1255.     refresh
  1256.     self.index = 0
  1257.   end
  1258.   #--------------------------------------------------------------------------
  1259.   # ● 刷新帮助文本
  1260.   #--------------------------------------------------------------------------
  1261.  
  1262.   def update_help
  1263.     @help_window.set_text(item)
  1264.     #校正帮助窗口位置
  1265.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1266.   end
  1267. end
  1268. #------------------------------------------------------------------------------
  1269.  
  1270.  
  1271.  
  1272. #------------------------------------------------------------------------------
  1273. #==============================================================================
  1274. # ■ Window_ShopSell
  1275. #------------------------------------------------------------------------------
  1276. #  商店画面、浏览显示可以卖掉的商品的窗口。
  1277. #==============================================================================
  1278.  
  1279. class Window_ShopSell < Window_Selectable
  1280.   #--------------------------------------------------------------------------
  1281.   # ● 初始化对像
  1282.   #--------------------------------------------------------------------------
  1283.   def initialize
  1284. # -------------------
  1285. # 修改開始
  1286.     super(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★★★★
  1287. # 修改終了
  1288. # -------------------
  1289.     @column_max = 2
  1290.  
  1291.     refresh
  1292.     self.index = 0
  1293.   end
  1294.   #--------------------------------------------------------------------------
  1295.   # ● 刷新帮助文本
  1296.   #--------------------------------------------------------------------------
  1297.  
  1298.   def update_help
  1299.     @help_window.set_text(item)
  1300.     #校正帮助窗口位置
  1301.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1302.   end
  1303. end
  1304. #------------------------------------------------------------------------------
  1305.  
  1306.  
  1307.  
  1308. #------------------------------------------------------------------------------
  1309. #==============================================================================
  1310. # ■ Window_ShopNumber
  1311. #------------------------------------------------------------------------------
  1312. #  商店画面、输入买卖数量的窗口。
  1313. #==============================================================================
  1314. class Window_ShopNumber < Window_Base
  1315.   #--------------------------------------------------------------------------
  1316.   # ● 初始化对像
  1317.   #--------------------------------------------------------------------------
  1318.   def initialize
  1319. # -------------------
  1320. # 修改開始
  1321.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  1322. # 修改終了
  1323. # -------------------
  1324.     self.contents = Bitmap.new(width - 32, height - 32)
  1325.     @item = nil
  1326.     @max = 1
  1327.     @price = 0
  1328.     @number = 1
  1329.   end
  1330. end
  1331. #------------------------------------------------------------------------------
  1332.  
  1333.  
  1334.  
  1335. #------------------------------------------------------------------------------
  1336. #==============================================================================
  1337. # ■ Window_ShopStatus
  1338. #------------------------------------------------------------------------------
  1339. #  商店画面、显示物品所持数与角色装备的窗口。
  1340. #==============================================================================
  1341.  
  1342. class Window_ShopStatus < Window_Base
  1343.   #--------------------------------------------------------------------------
  1344.   # ● 初始化对像
  1345.   #--------------------------------------------------------------------------
  1346.   def initialize
  1347. # -------------------
  1348. # 修改開始
  1349.     super(368, 128-64, 272, 352+64)#★★★★★★★★★★★★
  1350. # 修改終了
  1351. # -------------------
  1352.     self.contents = Bitmap.new(width - 32, height - 32)
  1353.     @item = nil
  1354.     refresh
  1355.   end
  1356. end
  1357. #------------------------------------------------------------------------------
  1358.  
  1359.  
  1360.  
  1361. #------------------------------------------------------------------------------
  1362. #==============================================================================
  1363. # ■ Scene_Equip
  1364. #------------------------------------------------------------------------------
  1365. #  处理装备画面的类。
  1366. #==============================================================================
  1367.  
  1368. class Scene_Equip
  1369.   #--------------------------------------------------------------------------
  1370.   # ● 刷新画面 (右侧窗口被激活的情况下)
  1371.   #--------------------------------------------------------------------------
  1372.   def update_right
  1373. # -------------------
  1374. # 修改開始
  1375.     if @right_window.item==nil
  1376.         @help_window.visible=false
  1377.     else
  1378.         @help_window.visible=true
  1379.     end
  1380. # 修改終了
  1381. # -------------------
  1382.     # 按下 B 键的情况下
  1383.     if Input.trigger?(Input::B)
  1384.       # 演奏取消 SE
  1385.       $game_system.se_play($data_system.cancel_se)
  1386.       # 切换到菜单画面
  1387.       $scene = Scene_Menu.new(2)
  1388.       return
  1389.     end
  1390.     # 按下 C 键的情况下
  1391.     if Input.trigger?(Input::C)
  1392.       # 固定装备的情况下
  1393.       if @actor.equip_fix?(@right_window.index)
  1394.         # 演奏冻结 SE
  1395.         $game_system.se_play($data_system.buzzer_se)
  1396.         return
  1397.       end
  1398.       # 演奏确定 SE
  1399.       $game_system.se_play($data_system.decision_se)
  1400.       # 激活物品窗口
  1401.       @right_window.active = false
  1402.       @item_window.active = true
  1403.       @item_window.index = 0
  1404.       return
  1405.     end
  1406.     # 按下 R 键的情况下
  1407.     if Input.trigger?(Input::R)
  1408.       # 演奏光标 SE
  1409.       $game_system.se_play($data_system.cursor_se)
  1410.       # 移至下一位角色
  1411.       @actor_index += 1
  1412.       @actor_index %= $game_party.actors.size
  1413.       # 切换到别的装备画面
  1414.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1415.       return
  1416.     end
  1417.     # 按下 L 键的情况下
  1418.     if Input.trigger?(Input::L)
  1419.       # 演奏光标 SE
  1420.       $game_system.se_play($data_system.cursor_se)
  1421.       # 移至上一位角色
  1422.       @actor_index += $game_party.actors.size - 1
  1423.       @actor_index %= $game_party.actors.size
  1424.       # 切换到别的装备画面
  1425.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1426.       return
  1427.     end
  1428.   end
  1429.   #--------------------------------------------------------------------------
  1430.   # ● 刷新画面 (物品窗口被激活的情况下)
  1431.   #--------------------------------------------------------------------------
  1432.   def update_item
  1433. # -------------------
  1434. # 修改開始
  1435.     if @item_window.item==nil
  1436.         @help_window.visible=false
  1437.     else
  1438.         @help_window.visible=true
  1439.     end
  1440. # 修改終了
  1441. # -------------------
  1442.     # 按下 B 键的情况下
  1443.     if Input.trigger?(Input::B)
  1444.       # 演奏取消 SE
  1445.       $game_system.se_play($data_system.cancel_se)
  1446.       # 激活右侧窗口
  1447.       @right_window.active = true
  1448.       @item_window.active = false
  1449.       @item_window.index = -1
  1450.       return
  1451.     end
  1452.     # 按下 C 键的情况下
  1453.     if Input.trigger?(Input::C)
  1454.       # 演奏装备 SE
  1455.       $game_system.se_play($data_system.equip_se)
  1456.       # 获取物品窗口现在选择的装备数据
  1457.       item = @item_window.item
  1458.       # 变更装备
  1459.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  1460.       # 激活右侧窗口
  1461.       @right_window.active = true
  1462.       @item_window.active = false
  1463.       @item_window.index = -1
  1464.       # 再生成右侧窗口、物品窗口的内容
  1465.       @right_window.refresh
  1466.       @item_window.refresh
  1467.       return
  1468.     end
  1469.   end
  1470. end
  1471. #------------------------------------------------------------------------------
  1472.  
  1473.  
  1474.  
  1475. #------------------------------------------------------------------------------
  1476. #========================================================================================================================
  1477. # ■ Scene_Battle (分割定义 3)
  1478. #------------------------------------------------------------------------------
  1479. #  处理战斗画面的类。
  1480. #========================================================================================================================
  1481.  
  1482. class Scene_Battle
  1483.   #--------------------------------------------------------------------------
  1484.   # ● 刷新画面 (角色命令回合 : 选择特技)
  1485.   #--------------------------------------------------------------------------
  1486.   alias first_reupdate_phase3_skill_select update_phase3_skill_select
  1487.   def update_phase3_skill_select
  1488. # -------------------
  1489. # 修改開始
  1490.     @skill_window.help_window.visible = false#★★★★★★★★★★★★★
  1491. # 修改終了
  1492. # -------------------
  1493.     first_reupdate_phase3_skill_select
  1494.   end
  1495.   #--------------------------------------------------------------------------
  1496.   # ● 刷新画面 (角色命令回合 : 选择物品)
  1497.   #--------------------------------------------------------------------------
  1498.   alias first_reupdate_phase3_item_select update_phase3_item_select  
  1499.   def update_phase3_item_select
  1500. # -------------------
  1501. # 修改開始
  1502.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1503. # 修改終了
  1504. # -------------------
  1505.     first_reupdate_phase3_item_select
  1506.   end
  1507.   #--------------------------------------------------------------------------
  1508.   # ● 开始选择特技
  1509.   #--------------------------------------------------------------------------
  1510.   def start_skill_select
  1511.     @skill_window = Window_Skill.new(@active_battler)
  1512.     @skill_window.help_window = Window_Help.new
  1513.     @actor_command_window.active = false
  1514.     @actor_command_window.visible = false
  1515.   end
  1516.   #--------------------------------------------------------------------------
  1517.   # ● 选择特技结束
  1518.   #--------------------------------------------------------------------------
  1519.   alias first_update_end_skill_select end_skill_select  
  1520.   def end_skill_select
  1521. # -------------------
  1522. # 修改開始
  1523.     @skill_window.help_window.visible = false#★★★★★★★★★★★★
  1524. # 修改終了
  1525. # -------------------
  1526.     first_update_end_skill_select
  1527.   end
  1528.   #--------------------------------------------------------------------------
  1529.   # ● 开始选择物品
  1530.   #--------------------------------------------------------------------------
  1531.   def start_item_select
  1532.     # 生成物品窗口
  1533.     @item_window = Window_Item.new
  1534.     # 关联帮助窗口
  1535. # -------------------
  1536. # 修改開始
  1537.     @item_window.help_window =  Window_Help.new#★★★★★★★★★★★★
  1538. # 修改終了
  1539. # -------------------
  1540.     # 无效化角色指令窗口
  1541.     @actor_command_window.active = false
  1542.     @actor_command_window.visible = false
  1543.   end
  1544.   #--------------------------------------------------------------------------
  1545.   # ● 结束选择物品
  1546.   #--------------------------------------------------------------------------
  1547.   alias first_update_end_item_select end_item_select
  1548.   def end_item_select
  1549. # -------------------
  1550. # 修改開始
  1551.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1552. # 修改終了
  1553. # -------------------
  1554.     first_update_end_item_select
  1555.   end
  1556. end
  1557. #------------------------------------------------------------------------------
  1558.  
  1559.  
  1560.  
  1561. #------------------------------------------------------------------------------
  1562. #==============================================================================
  1563. # ■ Scene_Shop
  1564. #------------------------------------------------------------------------------
  1565. #  处理商店画面的类。
  1566. #==============================================================================
  1567.  
  1568. class Scene_Shop
  1569.   #--------------------------------------------------------------------------
  1570.   # ● 主处理
  1571.   #--------------------------------------------------------------------------
  1572. # --------------------
  1573. # 衝突可能
  1574.   def main
  1575.     # 生成帮助窗口
  1576. # -------------------
  1577. # 修改開始
  1578.     @help_window = Window_Help.new#★★★★★★★★★★★★★★★★
  1579. # 修改終了
  1580. # -------------------
  1581.     # 生成指令窗口
  1582.     @command_window = Window_ShopCommand.new
  1583.     # 生成金钱窗口
  1584.     @gold_window = Window_Gold.new
  1585.     @gold_window.x = 480
  1586. # -------------------
  1587. # 修改開始
  1588.     @gold_window.y = 64-64#★★★★★★★★★★★★★
  1589. # 修改終了
  1590. # -------------------
  1591.     # 生成时间窗口
  1592. # -------------------
  1593. # 修改開始
  1594.     @dummy_window = Window_Base.new(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★
  1595. # 修改終了
  1596. # -------------------
  1597.     # 生成购买窗口
  1598.     @buy_window = Window_ShopBuy.new($game_temp.shop_goods)
  1599.     @buy_window.active = false
  1600.     @buy_window.visible = false
  1601.     @buy_window.help_window = @help_window
  1602.     # 生成卖出窗口
  1603.     @sell_window = Window_ShopSell.new
  1604.     @sell_window.active = false
  1605.     @sell_window.visible = false
  1606.     @sell_window.help_window = @help_window
  1607.     # 生成数量输入窗口
  1608.     @number_window = Window_ShopNumber.new
  1609.     @number_window.active = false
  1610.     @number_window.visible = false
  1611.     # 生成状态窗口
  1612.     @status_window = Window_ShopStatus.new
  1613.     @status_window.visible = false
  1614.     # 执行过渡
  1615.     Graphics.transition
  1616.     # 主循环
  1617.     loop do
  1618.       # 刷新游戏画面
  1619.       Graphics.update
  1620.       # 刷新输入信息
  1621.       Input.update
  1622.       # 刷新画面
  1623.       update
  1624.       # 如果画面切换的话就中断循环
  1625.       if $scene != self
  1626.         break
  1627.       end
  1628.     end
  1629.     # 准备过渡
  1630.     Graphics.freeze
  1631.     # 释放窗口
  1632.     @help_window.dispose
  1633.     @command_window.dispose
  1634.     @gold_window.dispose
  1635.     @dummy_window.dispose
  1636.     @buy_window.dispose
  1637.     @sell_window.dispose
  1638.     @number_window.dispose
  1639.     @status_window.dispose
  1640.   end
  1641.   #--------------------------------------------------------------------------
  1642.   # ● 刷新画面
  1643.   #--------------------------------------------------------------------------
  1644. # --------------------
  1645. # 衝突可能
  1646.   def update
  1647.     # 刷新窗口
  1648.     @help_window.update
  1649.     @command_window.update
  1650.     @gold_window.update
  1651.     @dummy_window.update
  1652.     @buy_window.update
  1653.     @sell_window.update
  1654.     @number_window.update
  1655.     @status_window.update
  1656.     # 指令窗口激活的情况下: 调用 update_command
  1657.     if @command_window.active
  1658. # -------------------
  1659. # 修改開始
  1660.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1661. # 修改終了
  1662. # -------------------
  1663.       update_command
  1664.       return
  1665.     end
  1666.     # 购买窗口激活的情况下: 调用 update_buy
  1667.     if @buy_window.active
  1668. # -------------------
  1669. # 修改開始
  1670.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1671.       if @buy_window.item==nil#★★★★★★★★★★★★★★★★
  1672.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1673.       end #★★★★★★★★★★★★★★★★     
  1674. # 修改終了
  1675. # -------------------
  1676.       update_buy
  1677.       return
  1678.     end
  1679.     # 卖出窗口激活的情况下: 调用 update_sell
  1680.     if @sell_window.active
  1681. # -------------------
  1682. # 修改開始
  1683.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1684.       if @sell_window.item==nil#★★★★★★★★★★★★★★★★
  1685.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1686.       end #★★★★★★★★★★★★★★★★
  1687. # 修改終了
  1688. # -------------------      
  1689.       update_sell
  1690.       return
  1691.     end
  1692.     # 个数输入窗口激活的情况下: 调用 update_number
  1693.     if @number_window.active
  1694. # -------------------
  1695. # 修改開始
  1696.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1697. # 修改終了
  1698. # -------------------
  1699.       update_number
  1700.       return
  1701.     end
  1702.   end
  1703. end

Project3.zip (209 KB, 下载次数: 39)    

QUWQ_FX_P6PIDTE%``@%R[Y.jpg (470.84 KB, 下载次数: 9)

QUWQ_FX_P6PIDTE%``@%R[Y.jpg
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-14 20:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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