| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 9 | 
 
| 积分 | 1 | 
 
| 经验 | 15515 | 
 
| 最后登录 | 2022-1-17 | 
 
| 在线时间 | 1083 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 70 
 
        - 在线时间
 - 1083 小时
 
        - 注册时间
 - 2013-3-29
 
        - 帖子
 - 2394
 
 
 
 | 
	
 本帖最后由 黄濑凉太 于 2013-7-1 10:04 编辑  
 
我直接发代码吧。。。。转载至P叔的整合系统:http://rpg.blue/thread-246631-1-1.html 
- #==============================================================================
 
 - # ■ Window_Help
 
 - #------------------------------------------------------------------------------
 
 - # 原作:xuelong
 
 - # 修正:水迭澜
 
 - # 移植:禾西
 
 - # protosssonny修改版
 
 - #==============================================================================
 
 - class Window_Help < Window_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 定義
 
 -   #--------------------------------------------------------------------------
 
 -   def set
 
 -     @phrase,@y= {}, 0
 
 -     @scope, @parameter_type = [], []
 
 -    #@name_size = 名字文字大小
 
 -    #@size = 描述文字大小
 
 -    #[url=home.php?mod=space&uid=79957]@WORD[/url] = 每行的描述文字數
 
 -     @name_size = 18
 
 -     @size = 14
 
 -     @word = 11
 
 -     
 
 -     # 不顯示的 屬性 與 狀態 ID
 
 -     @unshow_elements = []
 
 -     @unshow_states = [17,29,31,37,38,39,40]
 
 -     
 
 -     # 基本文字設定
 
 -     @phrase[:price]          = "价格"
 
 -     @phrase[:elements]       = "攻击属性"
 
 -     @phrase[:states]         = "附加状态"
 
 -     @phrase[:guard_elements] = "减半属性"
 
 -     @phrase[:guard_states]   = "无效化状态"
 
 -     #------------------#
 
 -     #   物品效果語句   #
 
 -     #------------------#
 
 -     @phrase[:recover]      = "恢复"
 
 -     @phrase[:hp]           = "HP"
 
 -     @phrase[:mp]           = "MP"
 
 -     @phrase[:plus_states]  = "状态附加"
 
 -     @phrase[:minus_states] = "状态解除"
 
 -     @phrase[:speed]        = "速度修正"
 
 -     @phrase[:consumable]   = "消耗品"
 
 -     @phrase[:base_damage]  = "基本伤害"
 
 -     #------------------#
 
 -     #   特殊效果語句   #
 
 -     #------------------#
 
 -     @phrase[:special]          = "附带属性"
 
 -     @phrase[:two_handed]       = "双手武器"
 
 -     @phrase[:fast_attack]      = "回合内先制"
 
 -     @phrase[:dual_attack]      = "连续攻击"
 
 -     @phrase[:critical_bonus]   = "频繁暴击"
 
 -     @phrase[:prevent_critical] = "防止暴击"
 
 -     @phrase[:half_mp_cost]     = "消耗MP减半"
 
 -     @phrase[:double_exp_gain]  = "取得经验值2倍"
 
 -     @phrase[:auto_hp_recover]  = "HP自动恢复"
 
 -     @phrase[:physical_attack]  = "物理攻击"
 
 -     @phrase[:damage_to_mp]     = "MP伤害"
 
 -     @phrase[:absorb_damage]    = "伤害吸收"
 
 -     @phrase[:ignore_defense]   = "不可出售"
 
 -     #------------------#
 
 -     #   技能描述語句   #
 
 -     #------------------#
 
 -     @phrase[:recovery] = "恢复力"
 
 -     @phrase[:mp_cost]  = "消耗MP"
 
 -     @phrase[:hit]      = "命中率"
 
 -     #------------------#
 
 -     #   效果範圍語句   #
 
 -     #------------------#
 
 -     @phrase[:scope]    = "效果范围"
 
 -     @scope[0]  = "无"
 
 -     @scope[1]  = "敌人"
 
 -     @scope[2]  = "敌全体" 
 
 -     @scope[3]  = "敌单体 连续"
 
 -     @scope[4]  = "一至二人"
 
 -     @scope[5]  = "二至四人"
 
 -     @scope[6]  = "四至十人"
 
 -     @scope[7]  = "我方单体"
 
 -     @scope[8]  = "我方全体"
 
 -     @scope[9]  = "我方单个死亡者"
 
 -     @scope[10] = "我方所有死亡者"
 
 -     @scope[11] = "自己"
 
 -     #------------------#
 
 -     #   效果範圍語句   #
 
 -     #------------------#
 
 -     @parameter_type[1] = "MaxHP"
 
 -     @parameter_type[2] = "MaxMP"
 
 -     @parameter_type[3] = $data_system.terms.atk
 
 -     @parameter_type[4] = $data_system.terms.def
 
 -     @parameter_type[5] = $data_system.terms.spi
 
 -     @parameter_type[6] = $data_system.terms.agi
 
 -   end
 
 -   
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 初始化對象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super(240,0,544,WLH + 32)
 
 -     self.opacity = 200
 
 -     self.z = 150
 
 -     self.visible = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 設置文本
 
 -   #     data  : 窗口顯示的字符串/物品資料
 
 -   #     align : 對齊方式 (0..左對齊、1..中間對齊、2..右對齊)
 
 -   #-------------------------------------------------------------------------- 
 
 -   def set_text(data, align=0)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 當資料爲文字時候
 
 -     #------------------------------------------------------------------------
 
 -     if data != @text or align != @align
 
 -       if data.is_a?(String)
 
 -         draw_string(data,align)
 
 -       end
 
 -     end
 
 -     return if data.is_a?(String)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 當沒有資料時候
 
 -     #------------------------------------------------------------------------
 
 -     if data.nil?
 
 -       self.visible=false
 
 -     else
 
 -       self.visible=true
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 當資料爲物品/技能時候
 
 -     #------------------------------------------------------------------------
 
 -     if data != nil && @data != data
 
 -       self.width = 210
 
 -       self.height = 430
 
 -       self.x=0
 
 -       self.y=200
 
 -       set
 
 -       draw_data(data)
 
 -     else
 
 -       return
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新帮助窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_string(data,align)
 
 -     self.width = 544        #修正寬度
 
 -     self.height = WLH + 32  #修正高度
 
 -     self.x = 240            #修正 x 坐標
 
 -     self.y = 0              #修正 y 坐標
 
 -     @text = data            #記錄文本資料
 
 -     @align = align          #記錄對齊方式
 
 -     [url=home.php?mod=space&uid=95897]@actor[/url] = nil            #清空角色資料
 
 -     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
 
 -     self.contents.clear
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.font.size = 20
 
 -     self.contents.draw_text(4 , 0, self.width - 40, 28, data, align)
 
 -     self.visible = true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 更新帮助窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_data(data=@data)
 
 -     self.width = 186        #修正寬度
 
 -     self.height = 430       #修正高度
 
 -     self.x = 0              #修正 x 坐標
 
 -     self.y = 150            #修正 y 坐標
 
 -     @data = data            #記錄 data 資料
 
 -     case @data
 
 -     when RPG::Item
 
 -       set_item_text(@data)
 
 -     when RPG::Weapon, RPG::Armor
 
 -       set_equipment_text(@data)
 
 -     when RPG::Skill
 
 -       set_skill_text(@data)
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 修正窗口位置
 
 -   #--------------------------------------------------------------------------
 
 -   def set_pos(x,y,width,oy,index,column_max)
 
 -     cursor_width = width / column_max - 32
 
 -     xx = index % column_max * (cursor_width + WLH)
 
 -     yy = index / column_max * WLH - oy
 
 -     self.x = xx + x + 140
 
 -     self.y = yy + y + 35
 
 -     if self.x + self.width > 544
 
 -       self.x = 544 - self.width
 
 -     end
 
 -     if self.y + self.height > 416
 
 -       self.y = 416 - self.height
 
 -     end  
 
 -   end
 
  
-   #------------------------------------------------------------------------
 
 -   # ● 文字描繪
 
 -   #------------------------------------------------------------------------
 
 -   def draw_text(text, increase, move=0)
 
 -     @y += increase
 
 -     self.contents.font.size = @size
 
 -     @special_size = 0 if @special_size == nil
 
 -     @first_line = 0 if @first_line == nil
 
 -     if @special_size > 0 and not @data.is_a?(RPG::Item)
 
 -       if @y >= increase * @first_line
 
 -         case @special_size
 
 -         when 0
 
 -           self.contents.font.color = normal_color
 
 -         when 1
 
 -           self.contents.font.color = text_color(12)
 
 -         when 2
 
 -           self.contents.font.color = text_color(29)
 
 -         when 3
 
 -           self.contents.font.color = text_color(17)
 
 -         when 4
 
 -           self.contents.font.color = text_color(20)
 
 -         when 5
 
 -           self.contents.font.color = text_color(26)
 
 -         when 6
 
 -           self.contents.font.color = text_color(31)
 
 -         end
 
 -       end
 
 -       self.contents.draw_text(0+move, @y*@size+5, text.size*6, @size, text, 0)
 
 -     else
 
 -       self.contents.font.color = normal_color 
 
 -       self.contents.draw_text(0+move, @y*@size+5, text.size*6, @size, text, 0)
 
 -     end
 
 -   end
 
  
- #-------------------------------------#
 
 - # 子方法
 
 - #-------------------------------------#
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 裝備幫助窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def set_equipment_text(equipment)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 取得基本質料
 
 -     #------------------------------------------------------------------------
 
 -     
 
 -     #----------------------------#
 
 -     # 取得屬性、狀態、說明之副本 #
 
 -     #----------------------------#
 
 -     element_set = equipment.element_set.clone
 
 -     state_set   = equipment.state_set.clone
 
 -     description = equipment.description.clone
 
 -     phrase      = @phrase
 
 -     #----------------------------#
 
 -     # 過濾不顯示的屬性與狀態描述 #
 
 -     #----------------------------#
 
 -     element_set -= @unshow_elements
 
 -     state_set   -= @unshow_states
 
 -     #----------------#
 
 -     # 初始化數據設定 #
 
 -     #----------------#
 
 -     x, h, move = 0, 0, 0
 
 -     #------------------#
 
 -     # 取得特殊效果數據 #
 
 -     #------------------#
 
 -     special = []
 
 -     gifts = equipment.gifts
 
 -     gifts = [] if gifts.nil?
 
 -     s = [
 
 -     "攻击 + [s]",   "攻击 + [s]%",
 
 -     "防御 + [s]",   "防御 + [s]%",
 
 -     "魔力 + [s]",   "魔力 + [s]%",
 
 -     "速度 + [s]",   "速度 + [s]%",
 
 -     "最大HP + [s]", "最大HP + [s]%",
 
 -     "最大MP + [s]", "最大MP + [s]%",
 
 -     "命中率 + [s]",
 
 -     "闪避率 + [s]",
 
 -     "暴击率 + [s]",
 
 -     "所有主要属性 + [s]",
 
 -     "抗魔性 + [s]"
 
 -     ]
 
 -     for g in gifts
 
 -       special << s[g.type].sub(/\[s\]/) {g.value}
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 確定背景圖片的高度
 
 -     #------------------------------------------------------------------------
 
 -     h += (description.size/3/@word)
 
 -     h += 1 if (description.size/3%@word) >= 0
 
 -     now_h = h
 
 -     
 
 -     h += 1                                               #價格
 
 -     h += 1                                               #装备等级
 
 -     h += 1 unless equipment.nodur or PA::USE_DUR == false#耐久度
 
 -     h += 1 if equipment.sockets_num > 0                  #孔数
 
 -     
 
 -     h += 1 unless equipment.atk.zero?                    #攻擊力
 
 -     h += 1 unless equipment.def.zero?                    #防禦力
 
 -     h += 1 unless equipment.spi.zero?                    #精神力
 
 -     h += 1 unless equipment.agi.zero?                    #敏捷力
 
 -     
 
 -     h += element_set.size + 1 if element_set.size > 0    #屬性
 
 -     h += state_set.size   + 1 if state_set.size   > 0    #狀態
 
 -     h += special.size     + 2 if special.size     > 0    #特殊效果
 
 -     if special.size > 0
 
 -     case special.size
 
 -     when 1
 
 -       @first_line = h-1
 
 -     when 2
 
 -       @first_line = h-2
 
 -     when 3
 
 -       @first_line = h-3
 
 -     when 4
 
 -       @first_line = h-4
 
 -     when 5
 
 -       @first_line = h-5
 
 -     when 6
 
 -       @first_line = h-6
 
 -     end
 
 -     end
 
 -     @special_size = special.size
 
 -     
 
 -     #------------------------------------------------------------------------
 
 -     # ● 圖片顯示保證高度
 
 -     #------------------------------------------------------------------------
 
 -     #h = 6 + now_h if (h - now_h) < 6
 
 -     #------------------------------------------------------------------------
 
 -     # ● 換算高度
 
 -     #------------------------------------------------------------------------
 
 -     self.height = h * @size + @name_size + 36
 
 -     #------------------------------------------------------------------------
 
 -     # ● 生成背景
 
 -     #------------------------------------------------------------------------
 
 -     self.contents = Bitmap.new(self.width - 32, self.height - 32)
 
 -     self.contents.clear
 
 -     #------------------------------------------------------------------------
 
 -     # ● 名字描繪
 
 -     #------------------------------------------------------------------------
 
 -     text = equipment.name
 
 -     self.contents.font.size = @name_size
 
 -     if text.nil?
 
 -       self.visible = false
 
 -     else
 
 -       self.visible = true
 
 -       ###self.contents.draw_text(0, 0, text.size*7, @name_size, text, 0)
 
 -       #我加的,用case判断颜色
 
 -       unless equipment.is_a?(RPG::Item)
 
 -         case gifts.size 
 
 -         when 1
 
 -           self.contents.font.color = text_color(12)
 
 -         when 2
 
 -           self.contents.font.color = text_color(29)
 
 -         when 3
 
 -           self.contents.font.color = text_color(17)
 
 -         when 4
 
 -           self.contents.font.color = text_color(20)
 
 -         when 5
 
 -           self.contents.font.color = text_color(26)
 
 -         when 6
 
 -           self.contents.font.color = text_color(31)
 
 -         end
 
 -       else
 
 -         self.contents.font.color = text_color(0)
 
 -       end  
 
 -       self.contents.draw_text(0, 0, contents.width-4, @name_size, text)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 說明描繪
 
 -     #------------------------------------------------------------------------
 
 -     x = 0
 
 -     @y += 1
 
 -     while ((text = description.slice!(/./m)) != nil)
 
 -       self.contents.font.color = normal_color
 
 -       self.contents.font.size = @size
 
 -       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
 
 -       if words_judge(text) == true
 
 -         x += 1
 
 -       else
 
 -         x += 0.5
 
 -       end  
 
 -       if x == @word or x == @word - 0.5
 
 -         x = 0
 
 -         @y += 1
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 圖標描繪
 
 -     #------------------------------------------------------------------------
 
 -     #bitmap = Cache.system("Iconset")
 
 -     #rect = Rect.new(equipment.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
 
 -     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 價格描繪
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.price.zero?
 
 -       text = phrase[:price] + ":" + equipment.price.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 装备等级描繪
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.read_note('装备等级') == nil
 
 -       text = "角色等级要求:" + equipment.read_note('装备等级').to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 耐久度
 
 -     #------------------------------------------------------------------------
 
 -     if PA::USE_DUR == true
 
 -       unless equipment.nodur
 
 -         unless equipment.indesctructible
 
 -           if equipment.maxdur == nil
 
 -             text = "耐久度:#{equipment.dur} / #{equipment.read_note('耐久度')}"
 
 -           else
 
 -             text = "耐久度:#{equipment.dur} / #{equipment.maxdur}"
 
 -           end 
 
 -         else
 
 -           text = "耐久度:无法破坏"
 
 -         end
 
 -         draw_text(text, 1, move)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 孔数
 
 -     #------------------------------------------------------------------------
 
 -     if equipment.sockets_num > 0
 
 -       text = "剩余孔数:#{equipment.sockets_num}"
 
 -       draw_text(text, 1, move)
 
 -     end  
 
 -     #------------------------------------------------------------------------
 
 -     # ● 攻擊力
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.atk.zero?
 
 -       text = $data_system.terms.atk + ":" + equipment.base_atk.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 防禦力
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.def.zero?
 
 -       text = $data_system.terms.def + ":" + equipment.base_def.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 精神力
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.spi.zero?
 
 -       text = $data_system.terms.spi + ":" + equipment.base_spi.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 敏捷力
 
 -     #------------------------------------------------------------------------
 
 -     unless equipment.agi.zero?
 
 -       text = $data_system.terms.agi + ":" + equipment.base_agi.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 屬性
 
 -     #------------------------------------------------------------------------
 
 -     if element_set.size > 0
 
 -       case equipment
 
 -       when RPG::Weapon
 
 -         text=phrase[:elements]+":"
 
 -       when RPG::Armor
 
 -         text=phrase[:guard_elements]+":"
 
 -       end
 
 -       draw_text(text, 1, move)
 
 -       element_set.each do |i|
 
 -         text = $data_system.elements[i]
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 狀態
 
 -     #------------------------------------------------------------------------
 
 -     if state_set.size > 0
 
 -       case equipment
 
 -       when RPG::Weapon
 
 -         text=phrase[:states]+":"
 
 -       when RPG::Armor
 
 -         text=phrase[:guard_states]+":"
 
 -       end
 
 -       draw_text(text, 1, move)
 
 -       state_set.each do |i|
 
 -         text = $data_states[i].name 
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 特殊效果
 
 -     #------------------------------------------------------------------------
 
 -     if special.size > 0
 
 -       kind_text = ["","","",""]
 
 -       weapon_gifts = [0,1,4,5,12,14,15]
 
 -       armor0_gifts = [2,3,4,5,10,11,15,16]
 
 -       armor1_gifts = [2,3,8,9,15,16]
 
 -       armor2_gifts = [2,3,6,7,13,15,16]
 
 -       kind_text[0] = " 武器" if  weapon_gifts.include?(equipment.gifts[0].type)
 
 -       kind_text[1] = " 盾" if  armor0_gifts.include?(equipment.gifts[0].type)
 
 -       kind_text[2] = " 盔" if  armor1_gifts.include?(equipment.gifts[0].type)
 
 -       kind_text[3] = " 衣" if  armor2_gifts.include?(equipment.gifts[0].type)
 
 -       if equipment.is_a?(RPG::Armor) and equipment.base_id == PA::CRYSTAL 
 
 -         text = "可注入" + kind_text[0] + kind_text[1] + kind_text[2] + kind_text[3]
 
 -         draw_text(text, 1, move)
 
 -         special.each {|text| draw_text(text, 1, move + @size)}
 
 -       else
 
 -         text = phrase[:special]+":"
 
 -         draw_text(text, 1, move)
 
 -         special.each {|text| draw_text(text, 1, move + @size)}
 
 -       end
 
 -     end
 
 -   end
 
 -   
 
 - #////////////////////////////////////////////////////////////////////////////
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 物品幫助窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def set_item_text(item)
 
 -     #----------------------------#
 
 -     # 取得屬性、狀態、說明之副本 #
 
 -     #----------------------------#
 
 -     description = item.description.clone
 
 -     element_set = item.element_set.clone
 
 -     plus_state_set = item.plus_state_set.clone
 
 -     minus_state_set = item.minus_state_set.clone
 
 -     # 過濾不顯示的描述
 
 -     element_set -= @unshow_elements
 
 -     plus_state_set -= @unshow_states
 
 -     minus_state_set -= @unshow_states
 
 -     # 初始化數據設定
 
 -     x, h, move = 0, 0, 0
 
 -     phrase = @phrase
 
 -     scope = @scope
 
 -     parameter_type = @parameter_type
 
 -     occasion = @occasion
 
 -     # 基本文字設定
 
  
-     
 
 -     #------------------#
 
 -     # 取得特殊效果數據 #
 
 -     #------------------#
 
 -     special = []
 
 -     special << phrase[:physical_attack] if item.physical_attack #物理攻撃
 
 -     special << phrase[:damage_to_mp]    if item.damage_to_mp    #MPにダメージ
 
 -     special << phrase[:absorb_damage]   if item.absorb_damage   #ダメージを吸収
 
 -     special << phrase[:ignore_defense]  if item.ignore_defense  #防御力無視
 
 -     
 
 -     #------------------------------------------------------------------------
 
 -     # ● 確定背景圖片的高度
 
 -     #------------------------------------------------------------------------
 
 -     h += (description.size/3/@word)
 
 -     h += 1 if (description.size/3%@word) >= 0
 
 -     now_h = h
 
 -     
 
 -     h += 2 unless scope[item.scope] == "无" #効果範囲
 
 -     h += 1 unless item.price == 0           #價格
 
 -     h += 1 if item.consumable               #消耗品
 
 -     h += 1 unless item.speed.zero?          #速度補正値
 
 -     
 
 -     h += 1 unless item.hp_recovery_rate==0 and item.hp_recovery==0 #HP 回復
 
 -     h += 1 unless item.mp_recovery_rate==0 and item.mp_recovery==0 #MP 回復
 
 -     
 
 -     h += 1 unless item.parameter_type.zero? #能力値
 
 -     h += 1 unless item.base_damage.zero?    #基本ダメージ
 
 -     
 
 -     h += element_set.size     + 1 if element_set.size     > 0  #屬性
 
 -     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
 
 -     h += minus_state_set.size + 2 if minus_state_set.size > 0  #解除狀態
 
 -     h += special.size         + 1 if special.size         > 0  #特殊效果
 
 -     
 
 -     #------------------------------------------------------------------------
 
 -     # ● 圖片顯示保證高度
 
 -     #------------------------------------------------------------------------
 
 -     #h = 6 + now_h if (h - now_h) < 6
 
 -     #------------------------------------------------------------------------
 
 -     # ● 換算高度
 
 -     #------------------------------------------------------------------------
 
 -     self.height = h * @size + @name_size + 36
 
 -     #------------------------------------------------------------------------
 
 -     # ● 生成背景
 
 -     #------------------------------------------------------------------------
 
 -     self.contents = Bitmap.new(self.width - 32, self.height - 32)
 
 -     self.contents.clear
 
 -     #------------------------------------------------------------------------
 
 -     # ● 名字描繪
 
 -     #------------------------------------------------------------------------
 
 -     text = item.name
 
 -     self.contents.font.color = normal_color#顔色腳本
 
 -     self.contents.font.size = @name_size
 
 -     if text.nil?
 
 -       self.visible = false
 
 -     else
 
 -       self.visible = true
 
 -       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 說明描繪
 
 -     #------------------------------------------------------------------------
 
 -      x = 0
 
 -     @y += 1
 
 -     while ((text = description.slice!(/./m)) != nil)
 
 -       self.contents.font.color = normal_color
 
 -       self.contents.font.size = @size
 
 -       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
 
 -       if words_judge(text) == true
 
 -         x+=1
 
 -       else
 
 -         x+=0.5
 
 -       end  
 
 -       if x == @word or x == @word - 0.5
 
 -         x = 0
 
 -         @y += 1
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 圖標描繪
 
 -     #------------------------------------------------------------------------
 
 -     #bitmap = Cache.system("Iconset")
 
 -     #rect = Rect.new(item.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
 
 -     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 效果範圍
 
 -     #------------------------------------------------------------------------
 
 -     unless scope[item.scope] == "无"
 
 -       text = phrase[:scope] +":"
 
 -       draw_text(text, 1, move)
 
 -       text = scope[item.scope]
 
 -       draw_text(text, 1, move + @size)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 價格
 
 -     #------------------------------------------------------------------------ 
 
 -     unless item.price == 0
 
 -       text = phrase[:price] + ":" + item.price.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 消耗品
 
 -     #------------------------------------------------------------------------
 
 -     if item.consumable
 
 -       text = phrase[:consumable]
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 速度補正値
 
 -     #------------------------------------------------------------------------
 
 -     unless item.speed.zero?
 
 -       text = phrase[:speed]
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● HP回復
 
 -     #------------------------------------------------------------------------
 
 -     unless item.hp_recovery_rate.zero? and item.hp_recovery.zero?
 
 -       if item.hp_recovery_rate > 0 and item.hp_recovery > 0
 
 -         text = " + "
 
 -       else
 
 -         text = ""
 
 -       end
 
 -       
 
 -       unless item.hp_recovery_rate.zero?
 
 -         text = item.hp_recovery_rate.to_s + "%" + text
 
 -       end
 
 -       unless item.hp_recovery.zero?
 
 -         text += item.hp_recovery.to_s
 
 -       end
 
 -       text = phrase[:recover] +":"  + text + phrase[:hp] 
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● SP回復
 
 -     #------------------------------------------------------------------------
 
 -     unless item.mp_recovery_rate.zero? and item.mp_recovery.zero?
 
 -       if item.mp_recovery_rate > 0 and item.mp_recovery > 0
 
 -         text = " + "
 
 -       else
 
 -         text = ""
 
 -       end
 
 -       
 
 -       unless item.mp_recovery_rate.zero?
 
 -         text = item.mp_recovery_rate.to_s + "%" + text
 
 -       end
 
 -       unless item.mp_recovery.zero?
 
 -         text += item.mp_recovery.to_s
 
 -       end
 
 -       text = phrase[:recover] +":" + text + phrase[:mp] 
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 能力值增加
 
 -     #------------------------------------------------------------------------
 
 -     unless item.parameter_type.zero?
 
 -       text = parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 基本ダメージ
 
 -     #------------------------------------------------------------------------
 
 -     unless item.base_damage.zero?
 
 -       #text = phrase[:base_damage] +":" + item.base_damage.to_s
 
 -       text = item.base_damage > 0 ? phrase[:base_damage] +":" + item.base_damage.to_s: phrase[:recovery] +":" + (-item.base_damage).to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 屬性
 
 -     #------------------------------------------------------------------------
 
 -     if element_set.size > 0
 
 -       text = phrase[:elements]+":"
 
 -       draw_text(text, 1, move)
 
 -       element_set.each do |i|
 
 -         text = $data_system.elements[i]
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 添加狀態
 
 -     #------------------------------------------------------------------------
 
 -     unless plus_state_set.empty?
 
 -       text = phrase[:plus_states]+":"
 
 -       draw_text(text, 1, move)
 
 -       plus_state_set.each do |i|
 
 -         text = $data_states[i].name 
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 解除狀態
 
 -     #------------------------------------------------------------------------
 
 -     unless minus_state_set.empty? 
 
 -       text = phrase[:minus_states]+":"
 
 -       draw_text(text, 1, move)
 
 -       minus_state_set.each do |i|
 
 -         text = $data_states[i].name 
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 特殊效果
 
 -     #------------------------------------------------------------------------
 
 -     if special.size > 0
 
 -       text = phrase[:special]+":"
 
 -       draw_text(text, 1, move)
 
 -       special.each {|text| draw_text(text, 1, move + @size)}
 
 -     end
 
 -   end
 
 - #////////////////////////////////////////////////////////////////////////////
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 技能帮助窗口
 
 -   #--------------------------------------------------------------------------
 
 -   def set_skill_text(skill)
 
 -     #----------------------------#
 
 -     # 取得屬性、狀態、說明之副本 #
 
 -     #----------------------------#
 
 -     description = skill.description.clone
 
 -     element_set = skill.element_set.clone
 
 -     plus_state_set = skill.plus_state_set.clone
 
 -     minus_state_set = skill.minus_state_set.clone
 
 -     # 過濾不顯示的描述
 
 -     element_set -= @unshow_elements
 
 -     plus_state_set -= @unshow_states
 
 -     minus_state_set -= @unshow_states
 
 -     # 初始化設定
 
 -     x ,h, move = 0, 0, 0
 
 -     phrase = @phrase
 
 -     scope = @scope
 
 -     #------------------#
 
 -     # 取得特殊效果數據 #
 
 -     #------------------#
 
 -     special = []
 
 -     special << phrase[:physical_attack] if skill.physical_attack #物理攻撃
 
 -     special << phrase[:damage_to_mp]    if skill.damage_to_mp    #MPにダメージ
 
 -     special << phrase[:absorb_damage]   if skill.absorb_damage   #ダメージを吸収
 
 -     special << phrase[:ignore_defense]  if skill.ignore_defense  #防御力無視
 
 -     #------------------------------------------------------------------------
 
 -     # ● 確定背景圖片的高度
 
 -     #------------------------------------------------------------------------
 
 -     h += (description.size/3/@word)
 
 -     h += 1 if (description.size/3%@word) >= 0
 
 -     now_h = h
 
 -     
 
 -     h += 4                                  #効果範囲,消費MP,命中率
 
 -     h += 1 unless skill.speed.zero?         #速度補正値
 
 -     h += 1 unless skill.base_damage.zero?   #基本ダメージ
 
 -     
 
 -     
 
 -     
 
 -     h += element_set.size     + 1 if element_set.size     > 0  #屬性
 
 -     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
 
 -     h += minus_state_set.size + 1 if minus_state_set.size > 0  #解除狀態
 
 -     h += special.size         + 1 if special.size         > 0  #特殊效果
 
 -     @special_size = nil
 
 -     @first_line = nil
 
 -     #------------------------------------------------------------------------
 
 -     # ● 換算高度
 
 -     #------------------------------------------------------------------------
 
 -     self.height=(h + 1) * @size + @name_size + 36  
 
 -     self.contents = Bitmap.new(self.width - 32,self.height - 32)
 
 -     self.contents.clear
 
 -     
 
 -     #------------------------------------------------------------------------
 
 -     # ● 名字描述
 
 -     #------------------------------------------------------------------------
 
 -     text = skill.name
 
 -     self.contents.font.color = Color.new(255, 255, 128, 255)
 
 -     self.contents.font.size = @name_size
 
 -     if text!=nil
 
 -       self.visible = true
 
 -       self.contents.draw_text(0,0, text.size*7, @name_size, text, 0)
 
 -     else
 
 -       self.visible = false
 
 -     end
 
 -     
 
 -     #------------------------------------------------------------------------
 
 -     # ● 說明描述
 
 -     #------------------------------------------------------------------------
 
 -     x = 0
 
 -     @y += 1
 
 -     text = description
 
 -     text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
 
 -     while ((text = description.slice!(/./m)) != nil)
 
 -       self.contents.font.color = system_color
 
 -       self.contents.font.size = @size
 
 -       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
 
 -       if words_judge(text) == true
 
 -         x+=1
 
 -       else
 
 -         x+=0.5
 
 -       end  
 
 -       if x == @word or x == @word - 0.5
 
 -         x = 0
 
 -         @y += 1
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 攻擊範圍
 
 -     #------------------------------------------------------------------------
 
 -     self.contents.font.color = normal_color
 
 -     text = phrase[:scope] +":"
 
 -     draw_text(text, 1, move)
 
 -     text = scope[skill.scope]
 
 -     draw_text(text, 1, move + @size)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 基本ダメージ
 
 -     #------------------------------------------------------------------------
 
 -     unless skill.base_damage .zero?
 
 -       text = skill.base_damage > 0 ? phrase[:base_damage] : phrase[:recovery]
 
 -       text += ":" + skill.base_damage.abs.to_s
 
 -       draw_text(text, 1, move)
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 消費SP描述
 
 -     #------------------------------------------------------------------------
 
 -     text = phrase[:mp_cost] +":"+ skill.mp_cost.to_s
 
 -     if skill.mp_cost == 0 and skill.base_damage .zero? #被动技能调用
 
 -       text = phrase[:mp_cost] +":"+ "被动技能" 
 
 -     end
 
 -     draw_text(text, 1, move)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 命中率描述
 
 -     #------------------------------------------------------------------------
 
 -     text = phrase[:hit] + ":" + skill.hit.to_s + "%"
 
 -     draw_text(text, 1, move)
 
 -     #------------------------------------------------------------------------
 
 -     # ● 屬性
 
 -     #------------------------------------------------------------------------
 
 -     if element_set.size > 0
 
 -       text = phrase[:elements]+":"
 
 -       draw_text(text, 1, move)
 
 -       element_set.each do |i|
 
 -         text = $data_system.elements[i]
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 添加狀態
 
 -     #------------------------------------------------------------------------
 
 -     unless plus_state_set.empty?
 
 -       text = phrase[:plus_states]+":"
 
 -       draw_text(text, 1, move)
 
 -       plus_state_set.each do |i|
 
 -         text = $data_states[i].name 
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 解除狀態
 
 -     #------------------------------------------------------------------------
 
 -     unless minus_state_set.empty?
 
 -       text = phrase[:minus_states]+":"
 
 -       draw_text(text, 1, move)
 
 -       minus_state_set.each do |i|
 
 -         text = $data_states[i].name 
 
 -         draw_text(text, 1, move + @size)
 
 -       end
 
 -     end
 
 -     #------------------------------------------------------------------------
 
 -     # ● 特殊效果
 
 -     #------------------------------------------------------------------------
 
 -     if special.size > 0
 
 -       text = phrase[:special]+":"
 
 -       draw_text(text, 1, move)
 
 -       special.each {|text| draw_text(text, 1, move + @size)}
 
 -     end  
 
 -   end 
 
 -   #------------------------------------------------------------------------
 
 -   # ● 文字数字判定
 
 -   #------------------------------------------------------------------------ 
 
 -   def words_judge(word)
 
 -     case word
 
 -     when "0","1","2","3","4","5","6","7","8","9","%",".","A","B","C","D","E",\
 
 -       "F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W",\
 
 -       "X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o",\
 
 -       "p","q","r","s","t","u","v","w","x","y","z"
 
 -       return false
 
 -     end
 
 -     return true
 
 -   end  
 
 - end
 
  
- #==============================================================================
 
 - # ■ Window_Item
 
 - #------------------------------------------------------------------------------
 
 - #  アイテム画面などで、所持アイテムの一覧を表示するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_Item < Window_Selectable
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ヘルプテキスト更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help
 
 -     @help_window.set_text(item)
 
 -     #修正窗口位置
 
 -     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
 
 -   end
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Skill
 
 - #------------------------------------------------------------------------------
 
 - #  スキル画面などで、使用できるスキルの一覧を表示するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_Skill < Window_Selectable
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ヘルプテキスト更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help   
 
 -     @help_window.set_text(skill)
 
 -     if skill != nil
 
 -       @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
 
 -     else
 
 -       @help_window.x = 1000  #没有物品时,让帮助窗口出界而看不见
 
 -     end
 
 -   end 
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_Equip
 
 - #------------------------------------------------------------------------------
 
 - #  装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_Equip < Window_Selectable
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ヘルプテキスト更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help   
 
 -     @help_window.set_text(item)
 
 -     if item != nil
 
 -       @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
 
 -     else
 
 -       @help_window.x = 1000  #没有物品时,让帮助窗口出界而看不见
 
 -     end
 
 -   end 
 
 - end
 
 - #==============================================================================
 
 - # ■ Window_ShopBuy
 
 - #------------------------------------------------------------------------------
 
 - #  ショップ画面で、購入できる商品の一覧を表示するウィンドウです。
 
 - #==============================================================================
 
 - class Window_ShopBuy < Window_Selectable
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ヘルプテキスト更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help   
 
 -     @help_window.set_text(item)
 
 -     if item != nil
 
 -       @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
 
 -     else
 
 -       @help_window.x = 1000  #没有物品时,让帮助窗口出界而看不见
 
 -     end
 
 -   end 
 
 - end
 
 
  复制代码 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |