Project1

标题: 有事请教------关于当前HP溢出,超越了最大值HP. [打印本页]

作者: 4401612    时间: 2010-5-2 16:59
标题: 有事请教------关于当前HP溢出,超越了最大值HP.
一直想找个 装备 能提升HP\SP的脚本.

终于找到了.但是当装备卸下后,当前HP\SP不会下降.

也就是说当前HP\SP 超越了 最大值了!

怎么弥补啊?

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  处理角色的类。本类在 Game_Actors 类 ($game_actors)
# 的内部使用、Game_Party 类请参考 ($game_party) 。
#==============================================================================

class Game_Actor < Game_Battler
  def hp_plus
    set = {}

    #set[裝備ID]=hp附加值
   set[41]=100


    return set
  end
  def sp_plus
    set = {}

    #set[裝備ID]=sp附加值
   set[41]=100

    return set
  end
  
  #--------------------------------------------------------------------------
  # ● 獲取裝備組
  #--------------------------------------------------------------------------
  def equipment
    equipment = []
    equipment.push($data_armors[@armor1_id])
    equipment.push($data_armors[@armor2_id])
    equipment.push($data_armors[@armor3_id])
    equipment.push($data_armors[@armor4_id])
    return equipment
  end
  #--------------------------------------------------------------------------
  # ● 獲取基本 MaxHP
  #--------------------------------------------------------------------------
  def base_maxhp
    n = $data_actors[@actor_id].parameters[0, @level]
    self.equipment.each do |equipment|
      unless equipment.nil?
        n += self.hp_plus[equipment.id].nil? ? 0 : self.hp_plus[equipment.id]
      end
    end
    return n
  end
  #--------------------------------------------------------------------------
  # ● 獲取基本 MaxSP
  #--------------------------------------------------------------------------
  def base_maxsp
    n = $data_actors[@actor_id].parameters[0, @level]
    self.equipment.each do |equipment|
      unless equipment.nil?
        n += self.sp_plus[equipment.id].nil? ? 0 : self.sp_plus[equipment.id]
      end
    end
    return n
  end
end
作者: 奶油Da蛋糕    时间: 2010-6-21 07:33
class Game_Actor < Game_Battler
alias maxhp= maxhp_cake=
def maxhp=(v)
maxhp_cake=v
@hp = v if v > @hp
end
end
放在Main前面试试看???很久没用RM了。。有点忘了。。。。
作者: rpg爱好者1    时间: 2010-6-21 08:25
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1