| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 0 |
| 积分 | 1 |
| 经验 | 55044 |
| 最后登录 | 2022-1-4 |
| 在线时间 | 49 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 95
- 在线时间
- 49 小时
- 注册时间
- 2006-5-7
- 帖子
- 526
|
已经回答了,想要这种效果基本只能用RTAB
参考一段:
要了解RTAB的战斗原理,先说一下回合战斗的原理:
phase1 -> phase2 -> phase3 -> phase4
| ^-------------------/
V
phase5
这个phase分别代表什么我就不再多说,去看Scene_Battle的相关注释就会明白
站上的RTAB脚本,其原理是:
+---------+
V -->phase4
phase1 -> phase0 -->phase3
| A -->phase2
V +---------+
phase5
RTAB的战斗方式,它最主要的不同点在于:
RTAB之所以和其他不少战斗脚本发生冲突,是因为它把phase4这个表现战斗效果的部分切碎了,为了能够实现“绝对的实时”,也就是任何动作过程都不等待,RTAB不得不将phase4分担到每一个战斗者头上去,并在phase0控制中根据每一个战斗者的phase4_step值来决定这个战斗者应该表现出什么效果。伤害值也是一样,为了实现多人攻击一人时伤害值不覆盖,不得不将damage这个基本属性分开定义,这就是RTAB和几乎所有战斗表现类、战斗系统伤害修改类冲突的原因。
主控(CP积累)回合可以另行定义phase0,但也可以不这么做,把phase2“挪作它用”,要知道phase2原来在回合制里是回合的标记,现在RTAB根本无所谓“回合”这个概念,所以当然可以这么来用。phase2的逃跑功能,可以另作安排,比如热键逃跑(如我的游戏就用了按压L+R在战斗中逃跑)。
图示: <----------------------+
phase1 -> phase2 ->(我) phase3 -> phase4
| ->(敌)---------> phase4
V
phase5
由于phase4不和主控回合并行,所以原理上相对简单了很多
RTAB的另一个大问题是修改“强制行动”的解释器(Interpreter command_338好像是),这个解释器必须重写(特别是当设定为“按正常的顺序行动”时)RTAB脚本用的办法是另行定义一个"forcing_action"属性,如果有强制行动,在phase4时临时赋给current_action,我也基本上沿用了这个办法。
明白了吧?只有RTAB才能实现1级实时的效果,简单的说,因为只有RTAB是实现了每个人的行动分别记录。其它战斗系统都不是“绝对的实时”
如果你不要RTAB的话,就自己按照RTAB的思路改造脚本吧,但是那样最后做出来的就是另一个RTAB罢了,也不会比RTAB少。那干嘛不直接用RTAB呢?
|
|