Project1

标题: 【脚本】角色死亡后变更人物行走图 [打印本页]

作者: swbsl    时间: 前天 21:58
标题: 【脚本】角色死亡后变更人物行走图
在汉化一个古老的RPG同人游戏,为了还原原作风格,擅自修改添加了这个功能。

RUBY 代码复制下载
  1. #------------------人物死亡时改变角色的行走图-----------------------------#
  2. #       行走图文件路径:[游戏目录]\Graphics\Characters\Coffin.png         #
  3. #-------------------------------------------------------------------------#
  4.  
  5. class Game_Interpreter
  6. #--------------------------------------------------------------------------
  7. # * 角色状态变更   @params[2]:状态编号。
  8. #                  @params[0]:角色 ID,如果是 0,则表示对所有角色执行此命令。
  9. #                  @params[1]:状态 ID,如果是 0,则表示添加状态,如果是 1,则表示移除状态。            
  10. #--------------------------------------------------------------------------
  11.   def command_313
  12.     iterate_actor_id(@params[0]) do |actor|  # 遍历指定的角色,并执行给定的代码块
  13.       if @params[1] == 0                     # 如果 @params[1] 是 0,
  14.         actor.add_state(@params[2])          # 那么它将调用 add_state 方法来添加状态
  15.         actor.set_death_graphic if @params[2] == 1  #  如果添加的角色状态是1(死亡),调用game_actor的方法变更死亡行走图
  16.         actor.perform_collapse
  17.       else                                 #  如果是 1,
  18.         actor.remove_state(@params[2])     # 移除角色状态
  19.         actor.set_normal_graphic if @params[2] == 1  # 如果移除的角色状态是1(死亡),调用game_actor的方法变更正常行走图
  20.       end
  21.     end
  22.     return true
  23.   end
  24. #--------------------------------------------------------------------------
  25. # * 全部恢复   
  26. #--------------------------------------------------------------------------
  27.   def command_314
  28.     iterate_actor_id(@params[0]) do |actor|
  29.       actor.recover_all
  30.       actor.set_normal_graphic              # 调用game_actor的方法变更正常行走图
  31.     end
  32.     return true
  33.   end
  34. end
  35. #--------------------------------------------------------------------------
  36. class Game_Actor < Game_Battler
  37.  
  38.   #--------------------------------------------------------------------------
  39.   # * 角色死亡状态的行走图
  40.   #--------------------------------------------------------------------------  
  41.   def set_death_graphic
  42.     @character_name = "Coffin"  # 死亡行走图的文件名
  43.     @character_index = 0        # 设置 索引为 0 (行走图左上角)
  44.     $game_player.refresh           # 刷新队伍首位角色的行走图
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # * 角色正常状态的行走图
  48.   #--------------------------------------------------------------------------  
  49.   def set_normal_graphic
  50.       @character_name = actor.character_name
  51.       @character_index = actor.character_index
  52.       $game_player.refresh     # 刷新队伍首位角色的行走图
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # * 重构父类的hp=(hp)方法
  56.   #--------------------------------------------------------------------------   
  57.   def hp=(hp)
  58.     super  #  继承父类的方法用于判断角色生命值和状态。
  59.     if @hp <= 0 && state?(1)
  60.       set_death_graphic
  61.     else
  62.       set_normal_graphic
  63.     end
  64.   end
  65. end

Coffin.png (2.53 KB, 下载次数: 0)

死亡行走图

死亡行走图





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