Project1

标题: [xyz]鸡肋小功能rmxp版自动等待动画 [打印本页]

作者: XYZ加农炮    时间: 2015-1-13 14:52
标题: [xyz]鸡肋小功能rmxp版自动等待动画
本帖最后由 XYZ加农炮 于 2015-1-13 19:37 编辑

都知道va里面显示动画后面可以勾上等待,但xp里没有,于是很多人设置事件时往往还要跑到数据库去看……
本脚本功能是当某个开关(默认5号)开启后,自动等待所有动画。由于太简单短小所以就不用模块装**(bi)了……
暂时没测试出bug,战斗中大概不需要吧……
  1. #==============================================================================
  2. # ** 自动等待事件 by xyz加农炮 **
  3. class Interpreter
  4.   alias wait_command_207 command_207
  5.   def command_207
  6.     wait_command_207
  7.     if $game_switches[5] == true
  8.       o = @parameters[0]
  9.       @parameters[0] = $data_animations[@parameters[1]].frame_max
  10.       command_106
  11.       @parameters[0] = o
  12.     end  
  13.   end
  14. end  
复制代码
已经更新并修复bug了,感谢taroxd和RyanBern的帮助~
作者: taroxd    时间: 2015-1-13 17:22
本帖最后由 taroxd 于 2015-1-13 17:25 编辑

不用测试,只看代码估计就有个 bug:同一场游戏中对同一事件执行两次的话,第二次估计没法正常播放出动画
作者: XYZ加农炮    时间: 2015-1-13 19:35
十分感谢两位的回复,之前确实没有测试出来。
但是我这里没有出现RGSS停用的现象?而是不显示动画只有等待。
于是我就修复了一下,记录一下调用前的参数。
至于无法同时播放两个动画,时间原因还没有测试过,估计先关开关播放动画再打开播放动画应该就可以了吧……
再次十分感谢~
作者: 芯☆淡茹水    时间: 2015-1-19 23:04
这个貌似是全局的等待时间,觉得最好还是每个 Game_Character 对象都有一个独立的
动画等待时间的 实例变量。
作者: 恐惧剑刃    时间: 2015-2-3 21:38
突然想到一个优化方案!
这是测试事件:
显示动画 本事件, [风 3]
注释 : 等待动画结束
显示动画 本事件, [光 3]

Interpreter中新加方法:
  1. #--------------------------------------------------------------------------
  2. # ● 注释
  3. #--------------------------------------------------------------------------
  4. def command_108
  5.   case @parameters[0]
  6.   when "等待动画结束"
  7.     @wait_count = $game_temp.animation_wait_count * 2
  8.   end
  9.   return true
  10. end
  11. #--------------------------------------------------------------------------
  12. # ● 注释
  13. #--------------------------------------------------------------------------
  14. def command_408
  15.   #p @parameters
  16.   return true
  17. end
复制代码
一个记录 动画ID 的变量
  1. class Game_Temp
  2.   attr_accessor :animation_wait_count # (事件用)动画等待计时
  3. end
复制代码
execute_command 中
添加
  1. when 108  # 注释
  2.   return command_108
  3. when 408  # 注释
  4.   return command_408
复制代码
command_207 中加一行
  1. $game_temp.animation_wait_count = $data_animations[@parameters[1]].frame_max
复制代码





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