| 
 
| 赞 | 0 |  
| VIP | 30 |  
| 好人卡 | 18 |  
| 积分 | 1 |  
| 经验 | 6108 |  
| 最后登录 | 2014-5-20 |  
| 在线时间 | 92 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间92 小时注册时间2013-2-23帖子130 | 
| 本帖最后由 sh0016 于 2014-3-6 04:18 编辑 
 不知道为什么老让character_name变成NilClass,原因到底是什么啊→ →......
 
 本人技术不足只能绕圈解决了← ←,下面这个应该可以用了。
 使用的时候注意无法使用“全灭后继续剧情”,还是会GameOver。里面已经有战斗、有害地形以及事件的HP更变处理了,如果漏了什么死法请指出。复制代码#==============================================================================
# ■ Game_BattlerBase
#==============================================================================
class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 增减 HP (事件用)
  #--------------------------------------------------------------------------
  def change_hp(value, enable_death)
    if !enable_death && @hp + value <= 0
      self.hp = 1
    else
      self.hp += value
      $game_party.remove_actor(self.id) if self.dead?
    end
  end
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 应用技能/物品的效果
  #--------------------------------------------------------------------------
  alias default_item_apply item_apply
  def item_apply(user, item)
    default_item_apply(user, item)
    $game_party.remove_actor(self.id) if self.actor? and self.dead?
  end
  #--------------------------------------------------------------------------
  # ● HP 自动恢复
  #--------------------------------------------------------------------------
  alias default_regenerate_hp regenerate_hp
  def regenerate_hp
    default_regenerate_hp
    $game_party.remove_actor(self.id) if self.actor? and self.dead?
  end
end
  
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 地图画面上回合结束的处理
  #--------------------------------------------------------------------------
  alias default_turn_end_on_map turn_end_on_map
  def turn_end_on_map
    default_turn_end_on_map
    $game_party.remove_actor(self.actor_id) if self.dead?
  end
end
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 增减 HP 
  #--------------------------------------------------------------------------
  alias default_command_311 command_311
  def command_311
    default_command_311
    SceneManager.goto(Scene_Gameover) unless $game_party.exists
  end
end
#==============================================================================
# ■ Scene_Base
#==============================================================================
class Scene_Base
  #--------------------------------------------------------------------------
  # ● 游戏结束的判定
  #    如果全灭则切换到游戏结束画面。
  #--------------------------------------------------------------------------
  alias default_check_gameover check_gameover
  def check_gameover
    default_check_gameover
    SceneManager.goto(Scene_Gameover) unless $game_party.exists
  end
end
 | 
 评分
查看全部评分
 |