查看: 2059|回复: 2

[已经解决] 如何在帮助窗口显示HP SP

[复制链接]
梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
发表于 2022-8-8 22:53:26 | 显示全部楼层 |阅读模式

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

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

×
用了 装备附加HP SP的脚本,如何把增加的HP和SP在下面的帮助窗口里显示出来~


[pre lang="ruby"]==============================================================================
# 装备附加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
[/pre]

帮助窗口

[pre lang="ruby"]#==============================================================================
# ■ 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      
#      text="价格:"+@item.price.to_s
#      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]+" "
      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].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].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      
#      text="价格:"+@weapon.price.to_s
#      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]+" "
      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].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].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#空行      
#      text="价格:"+@armor.price.to_s
#      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]+" "
      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].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
[/pre]
梦石
24
星屑
8942
在线时间
248 小时
注册时间
2020-12-4
回帖
259

极短24获奖极短23获奖极短22获奖

发表于 2022-8-9 11:15:01 | 显示全部楼层
本帖最后由 纯属小虫 于 2022-8-9 11:17 编辑

hmmmm,用新的脚本之前一定要先读!先读啊————【呐喊】
两个脚本都还是写得蛮清晰的,很容易就能够找到关键词了
这里的关键词有两个  1:找到装备增加hp\sp相关的属性  2:找到显示装备属性的定义的位置
【这些是给装备新添的属性值的数据】
$data_weapons[@weapon_id].hp
$data_armors[@armor1_id].hp
$data_armors[@armor2_id].hp
$data_armors[@armor3_id].hp
$data_armors[@armor4_id].hp
$data_armors[@armor5_id].hp

$data_weapons[@weapon_id].sp
$data_armors[@armor1_id].sp
$data_armors[@armor2_id].sp
$data_armors[@armor3_id].sp
$data_armors[@armor4_id].sp
$data_armors[@armor5_id].sp


【显示属性的关键句如下】
对武器help窗口的描绘 222行——410行
对防具help窗口的描绘  411行——574行

这里做一个显示武器 增加HP\SP的范例吧::

在237行【物理防御】之前加上————【这一步是用于适配窗口高度的】

    if @weapon.hp!=0 #HP
      height+=1
    end   
    if @weapon.sp!=0 #SP
      height+=1
    end   

在311行之前【物理防御】加上————这一步是用来显示内容的

    if @weapon.hp!=0 #HP
      x=0
      y+=1      
      text="HP:"+@weapon.hp.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.sp!=0 #SP
      x=0
      y+=1      
      text="SP:"+@weapon.sp.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

后面防具的内容依葫芦画瓢一下就行啦~~实现起来不难的!不难的!
难的是调整效果(增加两行属性之后可能会存在窗口溢出的情况,这个得自己慢慢调试)

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
 楼主| 发表于 2022-8-9 13:06:42 | 显示全部楼层
纯属小虫 发表于 2022-8-9 11:15
hmmmm,用新的脚本之前一定要先读!先读啊————【呐喊】
两个脚本都还是写得蛮清晰的,很容易就 ...

好吧,昨晚困了就没怎么看脚本,刚看了下解决了,感谢
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部