赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 167035 |
最后登录 | 2013-9-15 |
在线时间 | 57 小时 |
Lv1.梦旅人 风之塞尔达
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 57 小时
- 注册时间
- 2005-10-22
- 帖子
- 2492

|
我觉得这个是RM本身的bug,
LZ在战斗中队伍调用脚本$game_temp.battle_can_escape = xx时, class Interpreter的
def execute_command 返回的是false(即调用eval(script))失败. 此时就会立即退出Interpreter的update循环. 而Interpreter本身的@list变量任然保存着战斗事件数据,即@list != nil
这在 Scene_Battle里面的update中就会陷入死循环...
def update
# 执行战斗事件中的情况下
if $game_system.battle_interpreter.running? # 永远为真 (return @list != nil)
# 刷新解释器
$game_system.battle_interpreter.update
# 强制行动的战斗者不存在的情况下
... ...
end
end
... ...
end
这个是RMXP本身的bug, 当事件的最后一项是脚本,且处理错误时,没有让@list 为nil或执行其它操作
不是楼主的脚本问题 |
|