Project1
标题:
禁止逃跑
[打印本页]
作者:
0飘絮0
时间:
2008-1-18 00:49
标题:
禁止逃跑
某个队伍的战斗,开始前10回合不能逃跑,10回合后才可能逃跑
在队伍里设置,事件使用脚本 $game_temp.battle_can_escape = false
与 $game_temp.battle_can_escape = true 为什么不行?
只用这么一句的话,战斗就停在读到该脚本那里
是不是我脚本里面出了什么问题? [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
最後一滴淚
时间:
2008-1-18 01:47
10回合内"逃跑"不能点 10回合后就可以点击...不一定多要用到脚本...用事件也可以吧..不知道LZ是明雷还是暗雷.....
作者:
0飘絮0
时间:
2008-1-18 01:59
明雷,是一个特定队伍
事件里就是找不到可以设置逃跑的啊(先前是不能逃跑的)
(临时有事情,过后来结贴)
作者:
link006007
时间:
2008-1-18 02:21
我觉得这个是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或执行其它操作
不是楼主的脚本问题
作者:
0飘絮0
时间:
2008-1-18 04:18
看楼上的讲得如此详细,可是有把握把日本人的这个bug修正?
日本人搞不了的中国人搞定它 {/bz}
作者:
link006007
时间:
2008-1-18 06:03
{/gg}
我也只是觉得而已 毕竟事件页第一项使用禁止逃跑确实会陷入死循环
要改还是等到高手来 我可不想越改bug越多
作者:
美兽
时间:
2008-1-18 17:09
Interpreter 7,记得是最后一个,好象是7,把
if result == false
# 结束
return false
end
改为
if result == false
# 结束
return true
end
若不能运行的话,事件前面加个等待一侦,或者直接脚本操作也无妨。 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1