| 赞 | 5  | 
 
| VIP | 0 | 
 
| 好人卡 | 2 | 
 
| 积分 | 37 | 
 
| 经验 | 24079 | 
 
| 最后登录 | 2025-11-1 | 
 
| 在线时间 | 1892 小时 | 
 
 
 
 
 
Lv3.寻梦者 
	- 梦石
 - 0 
 
        - 星屑
 - 3676 
 
        - 在线时间
 - 1892 小时
 
        - 注册时间
 - 2010-6-19
 
        - 帖子
 - 1208
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
用了 装备附加HP SP的脚本,如何把增加的HP和SP在下面的帮助窗口里显示出来~ 
 
 
============================================================================== # 装备附加HP SP #============================================================================== #使用方法:给装备名后用“,”追加数值 #例如:  铜剑,500,200  那个这个武器会增加500点HP和200点SP #顺序不可改变  如果只需要加 HP 不需要再追加 SP 例如 铜剑,500 只会增加500HP #如果只需要增加SP 那么HP留0即可 例如 铜剑,0, 200 只增加200点SP   module RPG   class Weapon     def name       return @name.split(/,/)[0]     end     def hp       return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i     end     def sp       return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i     end   end   class Armor     def name       return @name.split(/,/)[0]     end     def hp       return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i     end     def sp       return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i     end   end end   class Game_Actor < Game_Battler   #--------------------------------------------------------------------------   # ● 获取基本 MaxHP   #--------------------------------------------------------------------------   def base_maxhp     n = $data_actors[@actor_id].parameters[0, @level]     n += $data_weapons[@weapon_id].hp if $data_weapons[@weapon_id] != nil     n += $data_armors[@armor1_id].hp if $data_armors[@armor1_id] != nil     n += $data_armors[@armor2_id].hp if $data_armors[@armor2_id] != nil     n += $data_armors[@armor3_id].hp if $data_armors[@armor3_id] != nil     n += $data_armors[@armor4_id].hp if $data_armors[@armor4_id] != nil     n += $data_armors[@armor5_id].hp if $data_armors[@armor5_id] != nil  # 鞋子★★★     return n   end   #--------------------------------------------------------------------------   # ● 获取基本 MaxSP   #--------------------------------------------------------------------------   def base_maxsp     n = $data_actors[@actor_id].parameters[1, @level]     n += $data_weapons[@weapon_id].sp if $data_weapons[@weapon_id] != nil     n += $data_armors[@armor1_id].sp if $data_armors[@armor1_id] != nil     n += $data_armors[@armor2_id].sp if $data_armors[@armor2_id] != nil     n += $data_armors[@armor3_id].sp if $data_armors[@armor3_id] != nil     n += $data_armors[@armor4_id].sp if $data_armors[@armor4_id] != nil     n += $data_armors[@armor5_id].sp if $data_armors[@armor5_id] != nil  # 鞋子★★★     return n   end     alias equip_hp_sp_old_dl equip   def equip(equip_type, id)     equip_hp_sp_old_dl(equip_type, id)     @hp = maxhp if @hp > maxhp     @sp = maxsp if @sp > maxsp     # 升级时HP MP全恢复       recover_all   end end 
 
 ==============================================================================  
# 装备附加HP SP  
#==============================================================================  
#使用方法:给装备名后用“,”追加数值  
#例如:  铜剑,500,200  那个这个武器会增加500点HP和200点SP  
#顺序不可改变  如果只需要加 HP 不需要再追加 SP 例如 铜剑,500 只会增加500HP  
#如果只需要增加SP 那么HP留0即可 例如 铜剑,0, 200 只增加200点SP  
   
module RPG  
  class Weapon  
    def name  
      return @name.split(/,/)[0]  
    end  
    def hp  
      return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i  
    end  
    def sp  
      return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i  
    end  
  end  
  class Armor  
    def name  
      return @name.split(/,/)[0]  
    end  
    def hp  
      return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i  
    end  
    def sp  
      return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i  
    end  
  end  
end  
   
class Game_Actor < Game_Battler  
  #--------------------------------------------------------------------------  
  # ● 获取基本 MaxHP  
  #--------------------------------------------------------------------------  
  def base_maxhp  
    n = $data_actors[@actor_id].parameters[0, @level]  
    n += $data_weapons[@weapon_id].hp if $data_weapons[@weapon_id] != nil  
    n += $data_armors[@armor1_id].hp if $data_armors[@armor1_id] != nil  
    n += $data_armors[@armor2_id].hp if $data_armors[@armor2_id] != nil  
    n += $data_armors[@armor3_id].hp if $data_armors[@armor3_id] != nil  
    n += $data_armors[@armor4_id].hp if $data_armors[@armor4_id] != nil  
    n += $data_armors[@armor5_id].hp if $data_armors[@armor5_id] != nil  # 鞋子★★★  
    return n  
  end  
  #--------------------------------------------------------------------------  
  # ● 获取基本 MaxSP  
  #--------------------------------------------------------------------------  
  def base_maxsp  
    n = $data_actors[@actor_id].parameters[1, @level]  
    n += $data_weapons[@weapon_id].sp if $data_weapons[@weapon_id] != nil  
    n += $data_armors[@armor1_id].sp if $data_armors[@armor1_id] != nil  
    n += $data_armors[@armor2_id].sp if $data_armors[@armor2_id] != nil  
    n += $data_armors[@armor3_id].sp if $data_armors[@armor3_id] != nil  
    n += $data_armors[@armor4_id].sp if $data_armors[@armor4_id] != nil  
    n += $data_armors[@armor5_id].sp if $data_armors[@armor5_id] != nil  # 鞋子★★★  
    return n  
  end  
   
  alias equip_hp_sp_old_dl equip  
  def equip(equip_type, id)  
    equip_hp_sp_old_dl(equip_type, id)  
    @hp = maxhp if @hp > maxhp  
    @sp = maxsp if @sp > maxsp  
    # 升级时HP MP全恢复    
    recover_all  
  end  
end  
 
  
 
帮助窗口 
 
#============================================================================== # ■ Shop_Help #------------------------------------------------------------------------------ # 特技及物品的说明、角色的状态显示的窗口。 # 若要更改属性,请搜索element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"} 改成对应属性即可 #==============================================================================   class Shop_Help < Window_Base   #--------------------------------------------------------------------------   # ● 初始化对像   #--------------------------------------------------------------------------   def initialize     super(150,200, 342, 431)     self.opacity = 255     self.z = 999     # 隐藏帮助窗口     self.visible = false     # 更改窗口皮肤     self.windowskin = RPG::Cache.windowskin('物品皮肤/物品')   end   #--------------------------------------------------------------------------   # ● 设置文本   #     text  : 窗口显示的字符串   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)   #--------------------------------------------------------------------------   def set_text(data)     @data=data     case @data     when RPG::Item           # 物品       set_item_text(@data)     when RPG::Weapon         # 武器       set_weapon_text(@data)     when RPG::Armor          # 防具       set_armor_text(@data)     end   end   #--------------------------------------------------------------------------   # ● 物品帮助窗口   #--------------------------------------------------------------------------   def set_item_text(item)     @item=item     description=@item.description     x=0     y=0     height=0.5+2.5     #依要显示的内容确定高     #由描叙确定高     height+=description.size/3/10     if description.size%10!=0       height+=1     end     height+=3  #空行,效果范围,价格     if @item.recover_hp_rate!=0 #HP 回复率。       height+=1     end        if @item.recover_hp!=0 #HP 回复量。       height+=1     end     if @item.recover_sp_rate!=0 #SP 回复率。       height+=1     end     if @item.recover_sp!=0 #SP 回复量。       height+=1     end     if @item.parameter_type!=0 #增加能力值       height+=1     end           if @item.element_set.empty?!=true  #属性。为属性 ID 的数组       height+=1     end       if @item.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组       height+=@item.plus_state_set.size       end      if @item.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组       height+=@item.minus_state_set.size        end          self.height=height*15+40+15        self.contents = Bitmap.new(self.width - 32,self.height - 32)     self.contents.clear     #描绘名字     text=@item.name     self.contents.font.color.set(255, 255, 128) # 颜色 黄色     self.contents.font.size=22     if text!=nil       self.visible = true       self.contents.draw_text(0,0, @item.name.size*70, 22, text, 0)     else       self.visible = false     end     x=0     y+=1     text=description     #描绘描叙     while ((text = description.slice!(/./m)) != nil)       self.contents.font.color = normal_color       self.contents.font.size=18       self.contents.draw_text(x*15, y*15+13, 160, 18, text, 0)       x+=1       if x==12#每行10个字         x=0         y+=1.2          end     end     #由特技属性确定高     #效果范围     scope = {0=>"特殊物品",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表     text="范围:"+scope[@item.scope]     x=0     y+=2  #空一行     self.contents.font.color = normal_color     self.contents.font.size=14     self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     #============================================================     # 显示物品图片     bitmap = RPG::Cache.icon('物品大图/' + item.icon_name+"_W")     self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#物品     #============================================================     #价格 #      x=0 #      y+=1       #      self.contents.font.color = normal_color #      self.contents.font.size=14    #      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)       #HP 回复率        if @item.recover_hp_rate!=0        x=0       y+=1             text="回复HP:"+@item.recover_hp_rate.to_s+"%"       self.contents.font.color = normal_color       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)           end      #HP回复量     if @item.recover_hp!=0        x=0       y+=1             text="回复HP:"+@item.recover_hp.to_s       self.contents.font.color = normal_color       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end      #SP 回复率     if @item.recover_sp_rate!=0       x=0       y+=1             text="回复SP:"+@item.recover_sp_rate.to_s+"%"       self.contents.font.color = normal_color       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)      end     #SP 回复量     if @item.recover_sp!=0        x=0       y+=1             text="回复SP:"+@item.recover_sp.to_s       self.contents.font.color = normal_color       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     #增加能力值     if @item.parameter_type!=0        parameter_type={1=>"MaxHP",2=>"MaxSP",3=>$data_system.words.str,4=>$data_system.words.dex,5=>$data_system.words.agi,6=>$data_system.words.int}       x=0       y+=1             text="增益:"+parameter_type[@item.parameter_type]+" +"+@item.parameter_points.to_s       self.contents.font.color = normal_color       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end             #物品属性         if @item.element_set.empty?!=true  #属性。为属性 ID 的数组       element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}        text="属性:"       for i in 0...@item.element_set.size         text+=element_set[@item.element_set[i]]+" "       end       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end      #附加状态     if @item.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组       text="附加状态:"       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)       y-=1       x+=text.size*5             for i in 0...@item.plus_state_set.size          y+=1         text=$data_states[@item.plus_state_set[i]].name                 self.contents.font.color = normal_color         self.contents.font.size=14         self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)               end       end     #解除状态     if @item.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组       text="解除状态:"       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)       y-=1       x+=text.size*5             for i in 0...@item.minus_state_set.size         y+=1         text=$data_states[@item.minus_state_set[i]].name                 self.contents.font.color = normal_color         self.contents.font.size=14         self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)               end       end        end    #--------------------------------------------------------------------------   # ● 武器帮助窗口   #--------------------------------------------------------------------------   def set_weapon_text(weapon)     @weapon=weapon     description=@weapon.description     x=0     y=0     height=0.5+1     #依要显示的内容确定高     #由描叙确定高     height+=description.size/3/10     if description.size%10!=0       height+=1     end     height+=3  #2个空行,攻击,价格     if @weapon.pdef!=0 #物理防御       height+=1     end            if @weapon.mdef!=0 #魔法防御       height+=1     end     if @weapon.str_plus!=0 #力量       height+=1     end     if @weapon.dex_plus!=0#体质       height+=1     end     if @weapon.agi_plus!=0#敏捷       height+=1     end     if @weapon.int_plus!=0 #智力       height+=1     end           if @weapon.element_set.empty?!=true  #属性。为属性 ID 的数组       height+=1     end       if @weapon.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组       height+=@weapon.plus_state_set.size       end      if @weapon.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组       height+=@weapon.minus_state_set.size        end          self.height=height*15+40+15        self.contents = Bitmap.new(self.width - 32,self.height - 32)     self.contents.clear     #描绘名字     text=@weapon.name     self.contents.font.color.set(255, 255, 128) # 颜色 黄色     self.contents.font.size=22     if text!=nil       self.visible = true       self.contents.draw_text(0,0, @weapon.name.size*70, 22, text, 0)     else       self.visible = false     end     x=0     y+=1.5     text=description     #描绘描叙     while ((text = description.slice!(/./m)) != nil)       self.contents.font.color = normal_color       self.contents.font.size=18       self.contents.draw_text(x*15, y*15+5, 160, 18, text, 0)       x+=1       if x==12#每行10个字         x=0         y+=1.2             end     end     #由特技属性确定高     #攻击       x=0       y+=2 #空行            text="攻击:"+@weapon.atk.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)        #============================================================       # 显示武器图片       bitmap = RPG::Cache.icon('物品大图/' + weapon.icon_name+"_W")       self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#武器       #============================================================     #价格 #      x=0 #      y+=1       #      self.contents.font.color = normal_color #      self.contents.font.size=14    #      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)     if @weapon.pdef!=0 #物理防御       x=0       y+=1             text="物理防御:"+@weapon.pdef.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end            if @weapon.mdef!=0 #魔法防御       x=0       y+=1             text="魔法防御:"+@weapon.mdef.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end       #武器属性         if @weapon.element_set.empty?!=true  #属性。为属性 ID 的数组       element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}        text="属性:"       for i in 0...@weapon.element_set.size         text+=element_set[@weapon.element_set[i]]+" "       end       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end      #附加状态     if @weapon.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组       text="附加状态:"       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)       y-=1       x+=text.size*5             for i in 0...@weapon.plus_state_set.size          y+=1         text=$data_states[@weapon.plus_state_set[i]].name                 self.contents.font.color = normal_color         self.contents.font.size=14         self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)               end       end     #解除状态     if @weapon.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组       text="解除状态:"       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)       y-=1       x+=text.size*5             for i in 0...@weapon.minus_state_set.size         y+=1         text=$data_states[@weapon.minus_state_set[i]].name                 self.contents.font.color = normal_color         self.contents.font.size=14         self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)               end       end      y+=1 #空行     if @weapon.str_plus!=0 #力量       x=0       y+=1             text=$data_system.words.str+"  + "+@weapon.str_plus.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @weapon.dex_plus!=0#体质       x=0       y+=1             text=$data_system.words.dex+"  + "+@weapon.dex_plus.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @weapon.agi_plus!=0#敏捷       x=0       y+=1             text=$data_system.words.agi+"  + "+@weapon.agi_plus.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @weapon.int_plus!=0 #智力       x=0       y+=1             text=$data_system.words.int+"  + "+@weapon.int_plus.to_s       self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end   end    #--------------------------------------------------------------------------   # ● 防具帮助窗口   #--------------------------------------------------------------------------   def set_armor_text(armor)     def set_armor_text(armor)     @armor=armor     description=@armor.description     x=0     y=0     height=1+0.5    #依要显示的内容确定高     #由描叙确定高     height+=description.size/3/10     if description.size%10!=0       height+=1     end     height+=2  #2个空行,价格     if @armor.pdef!=0 #物理防御       height+=1     end            if @armor.mdef!=0 #魔法防御       height+=1     end     if @armor.str_plus!=0 #力量       height+=1     end     if @armor.dex_plus!=0#体质       height+=1     end     if @armor.agi_plus!=0#敏捷       height+=1     end     if @armor.int_plus!=0 #智力       height+=1     end           if @armor.guard_element_set.empty?!=true  #属性防御。为属性 ID 的数组       height+=1     end       if @armor.guard_state_set.empty?!=true  #状态防御。为状态 ID 的数组       height+=@armor.guard_state_set.size       end         self.height=height*15+40+15        self.contents = Bitmap.new(self.width - 32,self.height - 32)     self.contents.clear     #描绘名字     text=@armor.name     self.contents.font.color.set(255, 255, 128) # 颜色 黄色     self.contents.font.size=22     if text!=nil       self.visible = true       self.contents.draw_text(0,0, @armor.name.size*70, 22, text, 0)     else       self.visible = false     end     x=0     y+=1.5     text=description     #描绘描叙     while ((text = description.slice!(/./m)) != nil)       self.contents.font.color = normal_color       self.contents.font.size=18       self.contents.draw_text(x*15, y*15+5, 160, 18, text, 0)       x+=1       if x==12#每行10个字         x=0         y+=1.2              end     end     #由特技属性确定高     #============================================================     # 显示防具图片      bitmap = RPG::Cache.icon('物品大图/' + armor.icon_name+"_W")     self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#防具      #============================================================     #价格 #      x=0       y+=1#空行       #      self.contents.font.color = normal_color #      self.contents.font.size=14    #      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)     if @armor.pdef!=0 #物理防御       x=0       y+=1             text="物理防御:"+@armor.pdef.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end            if @armor.mdef!=0 #魔法防御       x=0       y+=1             text="魔法防御:"+@armor.mdef.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end       #属性防御        if @armor.guard_element_set.empty?!=true  #属性。为属性 ID 的数组       element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}        text="属性防御:"       for i in 0...@armor.guard_element_set.size         text+=element_set[@armor.guard_element_set[i]]+" "       end       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end      #状态防御     if @armor.guard_state_set.empty?!=true  #附加状态。为状态 ID 的数组       text="状态防御:"       x=0       y+=1       self.contents.font.color = normal_color       self.contents.font.size=14       self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)       y-=1       x+=text.size*5             for i in 0...@armor.guard_state_set.size          y+=1         text=$data_states[@armor.guard_state_set[i]].name                 self.contents.font.color = normal_color         self.contents.font.size=14         self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)               end       end       y+=1 #空行     if @armor.str_plus!=0 #力量       x=0       y+=1             text=$data_system.words.str+"  + "+@armor.str_plus.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @armor.dex_plus!=0#体质       x=0       y+=1             text=$data_system.words.dex+"  + "+@armor.dex_plus.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @armor.agi_plus!=0#敏捷       x=0       y+=1             text=$data_system.words.agi+"  + "+@armor.agi_plus.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end     if @armor.int_plus!=0 #智力       x=0       y+=1             text=$data_system.words.int+"  + "+@armor.int_plus.to_s       self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本       self.contents.font.size=14          self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)     end   end    end    #--------------------------------------------------------------------------   # ● 设置角色   #     actor : 要显示状态的角色   #--------------------------------------------------------------------------   def set_actor(actor)     if actor != @actor       self.contents.clear       draw_actor_name(actor, 4, 0)       draw_actor_state(actor, 140, 0)       draw_actor_hp(actor, 284, 0)       draw_actor_sp(actor, 460, 0)       @actor = actor       @text = nil       self.visible = true     end   end   #--------------------------------------------------------------------------   # ● 设置敌人   #     enemy : 要显示名字和状态的敌人   #--------------------------------------------------------------------------   def set_enemy(enemy)     text = enemy.name     state_text = make_battler_state_text(enemy, 112, false)     if state_text != ""       text += "  " + state_text     end     set_text(text, 1)   end   #--------------------------------------------------------------------------   # ● 校正帮助窗口位置   #--------------------------------------------------------------------------   def set_pos(x,y,width,oy,index,column_max)     #光标坐标     xx = index % column_max * 59.5 - ox     yy = index / column_max * 60 - oy     self.x=xx+x+74     self.y=yy+y+74     if self.x+self.width>1024       self.x=1024-self.width     end     if self.y+self.height>420       self.y=420-self.height     end     end end 
 
 #==============================================================================  
# ■ Shop_Help  
#------------------------------------------------------------------------------  
# 特技及物品的说明、角色的状态显示的窗口。  
# 若要更改属性,请搜索element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"} 改成对应属性即可  
#==============================================================================  
   
class Shop_Help < Window_Base  
  #--------------------------------------------------------------------------  
  # ● 初始化对像  
  #--------------------------------------------------------------------------  
  def initialize  
    super(150,200, 342, 431)  
    self.opacity = 255  
    self.z = 999  
    # 隐藏帮助窗口  
    self.visible = false  
    # 更改窗口皮肤  
    self.windowskin = RPG::Cache.windowskin('物品皮肤/物品')  
  end  
  #--------------------------------------------------------------------------  
  # ● 设置文本  
  #     text  : 窗口显示的字符串  
  #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)  
  #--------------------------------------------------------------------------  
  def set_text(data)  
    @data=data  
    case @data  
    when RPG::Item           # 物品  
      set_item_text(@data)  
    when RPG::Weapon         # 武器  
      set_weapon_text(@data)  
    when RPG::Armor          # 防具  
      set_armor_text(@data)  
    end  
  end  
  #--------------------------------------------------------------------------  
  # ● 物品帮助窗口  
  #--------------------------------------------------------------------------  
  def set_item_text(item)  
    @item=item  
    description=@item.description  
    x=0  
    y=0  
    height=0.5+2.5     #依要显示的内容确定高  
    #由描叙确定高  
    height+=description.size/3/10  
    if description.size%10!=0  
      height+=1  
    end  
    height+=3  #空行,效果范围,价格  
    if @item.recover_hp_rate!=0 #HP 回复率。  
      height+=1  
    end     
    if @item.recover_hp!=0 #HP 回复量。  
      height+=1  
    end  
    if @item.recover_sp_rate!=0 #SP 回复率。  
      height+=1  
    end  
    if @item.recover_sp!=0 #SP 回复量。  
      height+=1  
    end  
    if @item.parameter_type!=0 #增加能力值  
      height+=1  
    end        
    if @item.element_set.empty?!=true  #属性。为属性 ID 的数组  
      height+=1  
    end    
    if @item.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组  
      height+=@item.plus_state_set.size    
    end   
    if @item.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组  
      height+=@item.minus_state_set.size     
    end       
    self.height=height*15+40+15     
    self.contents = Bitmap.new(self.width - 32,self.height - 32)  
    self.contents.clear  
    #描绘名字  
    text=@item.name  
    self.contents.font.color.set(255, 255, 128) # 颜色 黄色  
    self.contents.font.size=22  
    if text!=nil  
      self.visible = true  
      self.contents.draw_text(0,0, @item.name.size*70, 22, text, 0)  
    else  
      self.visible = false  
    end  
    x=0  
    y+=1  
    text=description  
    #描绘描叙  
    while ((text = description.slice!(/./m)) != nil)  
      self.contents.font.color = normal_color  
      self.contents.font.size=18  
      self.contents.draw_text(x*15, y*15+13, 160, 18, text, 0)  
      x+=1  
      if x==12#每行10个字  
        x=0  
        y+=1.2     
      end  
    end  
    #由特技属性确定高  
    #效果范围  
    scope = {0=>"特殊物品",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表  
    text="范围:"+scope[@item.scope]  
    x=0  
    y+=2  #空一行  
    self.contents.font.color = normal_color  
    self.contents.font.size=14  
    self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    #============================================================  
    # 显示物品图片  
    bitmap = RPG::Cache.icon('物品大图/' + item.icon_name+"_W")  
    self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#物品  
    #============================================================  
    #价格  
#      x=0  
#      y+=1        
 
#      self.contents.font.color = normal_color  
#      self.contents.font.size=14     
#      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)  
   
    #HP 回复率     
    if @item.recover_hp_rate!=0   
      x=0  
      y+=1        
      text="回复HP:"+@item.recover_hp_rate.to_s+"%"  
      self.contents.font.color = normal_color  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)        
    end   
    #HP回复量  
    if @item.recover_hp!=0   
      x=0  
      y+=1        
      text="回复HP:"+@item.recover_hp.to_s  
      self.contents.font.color = normal_color  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
     #SP 回复率  
    if @item.recover_sp_rate!=0  
      x=0  
      y+=1        
      text="回复SP:"+@item.recover_sp_rate.to_s+"%"  
      self.contents.font.color = normal_color  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)   
    end  
    #SP 回复量  
    if @item.recover_sp!=0   
      x=0  
      y+=1        
      text="回复SP:"+@item.recover_sp.to_s  
      self.contents.font.color = normal_color  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    #增加能力值  
    if @item.parameter_type!=0   
      parameter_type={1=>"MaxHP",2=>"MaxSP",3=>$data_system.words.str,4=>$data_system.words.dex,5=>$data_system.words.agi,6=>$data_system.words.int}  
      x=0  
      y+=1        
      text="增益:"+parameter_type[@item.parameter_type]+" +"+@item.parameter_points.to_s  
      self.contents.font.color = normal_color  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end        
   
    #物品属性      
    if @item.element_set.empty?!=true  #属性。为属性 ID 的数组  
      element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}   
      text="属性:"  
      for i in 0...@item.element_set.size  
        text+=element_set[@item.element_set[i]]+" "  
      end  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end   
    #附加状态  
    if @item.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组  
      text="附加状态:"  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
      y-=1  
      x+=text.size*5        
      for i in 0...@item.plus_state_set.size   
        y+=1  
        text=$data_states[@item.plus_state_set[i]].name          
        self.contents.font.color = normal_color  
        self.contents.font.size=14  
        self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)          
      end    
    end  
    #解除状态  
    if @item.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组  
      text="解除状态:"  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
      y-=1  
      x+=text.size*5        
      for i in 0...@item.minus_state_set.size  
        y+=1  
        text=$data_states[@item.minus_state_set[i]].name          
        self.contents.font.color = normal_color  
        self.contents.font.size=14  
        self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)          
      end    
    end       
  end   
  #--------------------------------------------------------------------------  
  # ● 武器帮助窗口  
  #--------------------------------------------------------------------------  
  def set_weapon_text(weapon)  
    @weapon=weapon  
    description=@weapon.description  
    x=0  
    y=0  
    height=0.5+1     #依要显示的内容确定高  
    #由描叙确定高  
    height+=description.size/3/10  
    if description.size%10!=0  
      height+=1  
    end  
    height+=3  #2个空行,攻击,价格  
    if @weapon.pdef!=0 #物理防御  
      height+=1  
    end         
    if @weapon.mdef!=0 #魔法防御  
      height+=1  
    end  
    if @weapon.str_plus!=0 #力量  
      height+=1  
    end  
    if @weapon.dex_plus!=0#体质  
      height+=1  
    end  
    if @weapon.agi_plus!=0#敏捷  
      height+=1  
    end  
    if @weapon.int_plus!=0 #智力  
      height+=1  
    end        
    if @weapon.element_set.empty?!=true  #属性。为属性 ID 的数组  
      height+=1  
    end    
    if @weapon.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组  
      height+=@weapon.plus_state_set.size    
    end   
    if @weapon.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组  
      height+=@weapon.minus_state_set.size     
    end       
    self.height=height*15+40+15     
    self.contents = Bitmap.new(self.width - 32,self.height - 32)  
    self.contents.clear  
    #描绘名字  
    text=@weapon.name  
    self.contents.font.color.set(255, 255, 128) # 颜色 黄色  
    self.contents.font.size=22  
    if text!=nil  
      self.visible = true  
      self.contents.draw_text(0,0, @weapon.name.size*70, 22, text, 0)  
    else  
      self.visible = false  
    end  
    x=0  
    y+=1.5  
    text=description  
    #描绘描叙  
    while ((text = description.slice!(/./m)) != nil)  
      self.contents.font.color = normal_color  
      self.contents.font.size=18  
      self.contents.draw_text(x*15, y*15+5, 160, 18, text, 0)  
      x+=1  
      if x==12#每行10个字  
        x=0  
        y+=1.2        
      end  
    end  
    #由特技属性确定高  
    #攻击  
      x=0  
      y+=2 #空行       
      text="攻击:"+@weapon.atk.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)   
      #============================================================  
      # 显示武器图片  
      bitmap = RPG::Cache.icon('物品大图/' + weapon.icon_name+"_W")  
      self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#武器  
      #============================================================  
    #价格  
#      x=0  
#      y+=1        
 
#      self.contents.font.color = normal_color  
#      self.contents.font.size=14     
#      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)  
    if @weapon.pdef!=0 #物理防御  
      x=0  
      y+=1        
      text="物理防御:"+@weapon.pdef.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end         
    if @weapon.mdef!=0 #魔法防御  
      x=0  
      y+=1        
      text="魔法防御:"+@weapon.mdef.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
   
    #武器属性      
    if @weapon.element_set.empty?!=true  #属性。为属性 ID 的数组  
      element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}   
      text="属性:"  
      for i in 0...@weapon.element_set.size  
        text+=element_set[@weapon.element_set[i]]+" "  
      end  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end   
    #附加状态  
    if @weapon.plus_state_set.empty?!=true  #附加状态。为状态 ID 的数组  
      text="附加状态:"  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
      y-=1  
      x+=text.size*5        
      for i in 0...@weapon.plus_state_set.size   
        y+=1  
        text=$data_states[@weapon.plus_state_set[i]].name          
        self.contents.font.color = normal_color  
        self.contents.font.size=14  
        self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)          
      end    
    end  
    #解除状态  
    if @weapon.minus_state_set.empty?!=true  #解除状态。为状态 ID 的数组  
      text="解除状态:"  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
      y-=1  
      x+=text.size*5        
      for i in 0...@weapon.minus_state_set.size  
        y+=1  
        text=$data_states[@weapon.minus_state_set[i]].name          
        self.contents.font.color = normal_color  
        self.contents.font.size=14  
        self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)          
      end    
    end   
    y+=1 #空行  
    if @weapon.str_plus!=0 #力量  
      x=0  
      y+=1        
      text=$data_system.words.str+"  + "+@weapon.str_plus.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @weapon.dex_plus!=0#体质  
      x=0  
      y+=1        
      text=$data_system.words.dex+"  + "+@weapon.dex_plus.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @weapon.agi_plus!=0#敏捷  
      x=0  
      y+=1        
      text=$data_system.words.agi+"  + "+@weapon.agi_plus.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @weapon.int_plus!=0 #智力  
      x=0  
      y+=1        
      text=$data_system.words.int+"  + "+@weapon.int_plus.to_s  
      self.contents.font.color = text_color(weapon.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
  end   
  #--------------------------------------------------------------------------  
  # ● 防具帮助窗口  
  #--------------------------------------------------------------------------  
  def set_armor_text(armor)  
    def set_armor_text(armor)  
    @armor=armor  
    description=@armor.description  
    x=0  
    y=0  
    height=1+0.5    #依要显示的内容确定高  
    #由描叙确定高  
    height+=description.size/3/10  
    if description.size%10!=0  
      height+=1  
    end  
    height+=2  #2个空行,价格  
    if @armor.pdef!=0 #物理防御  
      height+=1  
    end         
    if @armor.mdef!=0 #魔法防御  
      height+=1  
    end  
    if @armor.str_plus!=0 #力量  
      height+=1  
    end  
    if @armor.dex_plus!=0#体质  
      height+=1  
    end  
    if @armor.agi_plus!=0#敏捷  
      height+=1  
    end  
    if @armor.int_plus!=0 #智力  
      height+=1  
    end        
    if @armor.guard_element_set.empty?!=true  #属性防御。为属性 ID 的数组  
      height+=1  
    end    
    if @armor.guard_state_set.empty?!=true  #状态防御。为状态 ID 的数组  
      height+=@armor.guard_state_set.size    
    end      
    self.height=height*15+40+15     
    self.contents = Bitmap.new(self.width - 32,self.height - 32)  
    self.contents.clear  
    #描绘名字  
    text=@armor.name  
    self.contents.font.color.set(255, 255, 128) # 颜色 黄色  
    self.contents.font.size=22  
    if text!=nil  
      self.visible = true  
      self.contents.draw_text(0,0, @armor.name.size*70, 22, text, 0)  
    else  
      self.visible = false  
    end  
    x=0  
    y+=1.5  
    text=description  
    #描绘描叙  
    while ((text = description.slice!(/./m)) != nil)  
      self.contents.font.color = normal_color  
      self.contents.font.size=18  
      self.contents.draw_text(x*15, y*15+5, 160, 18, text, 0)  
      x+=1  
      if x==12#每行10个字  
        x=0  
        y+=1.2         
      end  
    end  
    #由特技属性确定高  
    #============================================================  
    # 显示防具图片   
    bitmap = RPG::Cache.icon('物品大图/' + armor.icon_name+"_W")  
    self.contents.blt(190, 0, bitmap, Rect.new(0, 0, 120, 120))#防具   
    #============================================================  
    #价格  
#      x=0  
      y+=1#空行        
 
#      self.contents.font.color = normal_color  
#      self.contents.font.size=14     
#      self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)  
    if @armor.pdef!=0 #物理防御  
      x=0  
      y+=1        
      text="物理防御:"+@armor.pdef.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end         
    if @armor.mdef!=0 #魔法防御  
      x=0  
      y+=1        
      text="魔法防御:"+@armor.mdef.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
   
    #属性防御     
    if @armor.guard_element_set.empty?!=true  #属性。为属性 ID 的数组  
      element_set={1=>"火",2=>"冰",3=>"光",4=>"暗",9=>"特殊物品",11=>"宠物书籍",12=>"金柳露"}   
      text="属性防御:"  
      for i in 0...@armor.guard_element_set.size  
        text+=element_set[@armor.guard_element_set[i]]+" "  
      end  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end   
    #状态防御  
    if @armor.guard_state_set.empty?!=true  #附加状态。为状态 ID 的数组  
      text="状态防御:"  
      x=0  
      y+=1  
      self.contents.font.color = normal_color  
      self.contents.font.size=14  
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
      y-=1  
      x+=text.size*5        
      for i in 0...@armor.guard_state_set.size   
        y+=1  
        text=$data_states[@armor.guard_state_set[i]].name          
        self.contents.font.color = normal_color  
        self.contents.font.size=14  
        self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)          
      end    
    end  
   
    y+=1 #空行  
    if @armor.str_plus!=0 #力量  
      x=0  
      y+=1        
      text=$data_system.words.str+"  + "+@armor.str_plus.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @armor.dex_plus!=0#体质  
      x=0  
      y+=1        
      text=$data_system.words.dex+"  + "+@armor.dex_plus.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @armor.agi_plus!=0#敏捷  
      x=0  
      y+=1        
      text=$data_system.words.agi+"  + "+@armor.agi_plus.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
    if @armor.int_plus!=0 #智力  
      x=0  
      y+=1        
      text=$data_system.words.int+"  + "+@armor.int_plus.to_s  
      self.contents.font.color = text_color(armor.name_color_66RPG)#颜色脚本  
      self.contents.font.size=14     
      self.contents.draw_text(x, y*15+5, text.size*60, 16, text, 0)  
    end  
  end   
  end   
  #--------------------------------------------------------------------------  
  # ● 设置角色  
  #     actor : 要显示状态的角色  
  #--------------------------------------------------------------------------  
  def set_actor(actor)  
    if actor != @actor  
      self.contents.clear  
      draw_actor_name(actor, 4, 0)  
      draw_actor_state(actor, 140, 0)  
      draw_actor_hp(actor, 284, 0)  
      draw_actor_sp(actor, 460, 0)  
      @actor = actor  
      @text = nil  
      self.visible = true  
    end  
  end  
  #--------------------------------------------------------------------------  
  # ● 设置敌人  
  #     enemy : 要显示名字和状态的敌人  
  #--------------------------------------------------------------------------  
  def set_enemy(enemy)  
    text = enemy.name  
    state_text = make_battler_state_text(enemy, 112, false)  
    if state_text != ""  
      text += "  " + state_text  
    end  
    set_text(text, 1)  
  end  
  #--------------------------------------------------------------------------  
  # ● 校正帮助窗口位置  
  #--------------------------------------------------------------------------  
  def set_pos(x,y,width,oy,index,column_max)  
    #光标坐标  
    xx = index % column_max * 59.5 - ox  
    yy = index / column_max * 60 - oy  
    self.x=xx+x+74  
    self.y=yy+y+74  
    if self.x+self.width>1024  
      self.x=1024-self.width  
    end  
    if self.y+self.height>420  
      self.y=420-self.height  
    end    
  end  
end  
 
  |   
 
 
 
 |