赞 | 406 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-15 |
在线时间 | 5717 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39016
- 在线时间
- 5717 小时
- 注册时间
- 2006-11-10
- 帖子
- 6619
|
本帖最后由 灯笼菜刀王 于 2019-10-3 23:07 编辑
因为只有敌人有"逃跑" 这个行为动作(Game_BattleAction), 角色的"逃跑" 是在步骤2处理的, 并不是"行为动作"
错误原因--------
第一张图, 你在这里处理无效, 原因是执行这段的时候直接就结束战斗了(调用了battle_end), 所以在战斗中"预约"的公共事件不会执行
第二张图, 先不说条件限定了"敌人", 就说 @active_battler.current_action.basic == 2 , 在默认的设置下, 你角色也是无法达到的, 因为XP默认的"逃跑"选项并没有执行 @active_battler.current_action.basic = 2 的操作
正确做法--------------
你要把敌人限定去掉, 并给角色"选择逃跑指令" 后, 让他的current_action.basic = 2 就可以和敌人一样进行"单独逃跑行为"了, 怎么做, 可以参考"防御"
===============
提醒: @active_battler 是当前行动者, 它包括了角色和敌人, 所以默认的逃跑处理才会加上"is_a?" 来区分处理, 如果你的角色和敌人要采用不同的处理方法, 记得也要加上 is_a? 判断
比如, 你上面的防御, 仅判断ID的话, 那敌人也是有"ID为1,2,3,4"的情况哦 |
|