请教mush 一个问题
function do_job()if string.find(task,"xiaofeng") then
Note("找到")
while true do
Execute("ask shashou about fight")
wait.make(function()
l,w=wait.regexp("^[> ]*蒙面杀手说道:「就你也配跟我讨教功夫?!」|^[> ]*蒙面杀手说道:「要打便打,不必多言!」")
if string.find(l,"蒙面杀手说道:「就你也配跟我讨教功夫?!」") then
Note("不是你的任务目标")
--bianli_goon()
elseif string.find(l,"蒙面杀手说道:「要打便打,不必多言!」") then
Note("找到目标")
--kuangfeng=0
--DoAfterSpecial(0.5,"t+ 萧峰;look shashou;follolw shashou;fight shashou",10)
end
end)
end
end
这段代码,我是设置有一个触发,set find 1, 当出现这个的时候就do_job,每次do_job mush 就崩溃了,我实在找不出问题所在,请大神们指点下!
北大侠客行MUD,中国最好的MUD 回复 1# mmdntt
function do_job()
if string.find(task,"xiaofeng") then
Note("找到")
wait.make(function()
while true do
Execute("ask shashou about fight")
l,w=wait.regexp("^[> ]*蒙面杀手说道:「就你也配跟我讨教功夫?!」|^[> ]*蒙面杀手说道:「要打便打,不必多言!」")
if string.find(l,"蒙面杀手说道:「就你也配跟我讨教功夫?!」") then
Note("不是你的任务目标")
--bianli_goon()
elseif string.find(l,"蒙面杀手说道:「要打便打,不必多言!」") then
Note("找到目标")
--kuangfeng=0
--DoAfterSpecial(0.5,"t+ 萧峰;look shashou;follolw shashou;fight shashou",10)
end
end
end)
end 没排版 另外,你这个while true的无限循环是不打算跳出来吗?既没有break也没有return。。。 回复 3# cappuccino
我去掉这个while 直接wait.make 也是崩·· 本帖最后由 mmdntt 于 2015-1-1 07:31 PM 编辑
function do_job()
Note("找到")
if string.find(task,"xiaofeng") then Execute("ask shashou about fight")
wait.make(function()
local p,w=wait.mulregexp({
{"^[> ]*你向蒙面杀手打听.*\\n蒙面杀手说道(\.*)\\n",true,2},
})
print("line= ",p)
if string.find(w,"也配跟我讨教") then
Note("不是你的任务目标")
bianli_goon()
elseif string.find(w,"要打便打") then
Note("找到目标")
kuangfeng=0
DoAfterSpecial(0.5,"t+ 萧峰;look shashou;follolw shashou;fight shashou",10)
end
end)
end
if string.find(task,"yuxi") then DoAfterSpecial(0.3,"t+ 玉玺;fight pantu;pq",10) return end
end
纸箱妹妹再看下啊,还是崩!!
我多次测试,好像问题是处在wait.make 上!
是不是我在mush 中做个触发器set find 1,然后调用脚本的do_job() 导致的? 回复 5# mmdntt
yawn...
根据你5楼的代码,俺是看不出啥了。。几点建议:
1. 不要用触发,单独手动执行一次do_job(),看是否崩溃,以确定是否是函数本身的问题
2. 在do_job里只留一个空的wait.make(function ()),检验下是否崩溃……如果崩溃,那应该是你在外层调用了太多wait.make()。。
3. 如果只留空wait.make()不会崩溃,再挨个注释掉里面的句子检查。。尤其是bianli_goon()
碎觉去了。。zzz 回复 7# huacuoh
错错长老,上群可以吗? 回复 9# yhzzyahoo
电老大,说仔细点吧? 如果经常崩溃,你把wait.lua替换成原版的wait.lua。把多行wait.mulregexp先屏蔽。看看是否崩溃,若是不崩溃就说明是wait.lua的问题。崩溃了就是你的代码问题。
页:
[1]