mush wait的使用问题求解
请问站里的高手,有关wait的问题。本人的mushclient版本是官网下载的4.84绿色英文版
本人在主脚本中参照本站脚本建立了一个函数测试wait的使用
脚本为:
脚本前面已经有:require("wait")
mushclient目录lua文件夹下也有wait.lua文件
function diaoyu_start()
wait.make (function ()--- coroutine below here
wait.regexp ("你命令结束") -- 设置一个等待事件,只有在出现括号中的语句时,这行之后 end of coroutine 之前 代码才会被执行
wait.time (1) -- 等待1秒
Note("回到ct了") -- 提示到达目的地
Execute("drink skin");--diaoyu_cttomatou() -- 从ct走道岸边
end)-- end of coroutine
Execute("eat pumpkin") -- 去买鱼饵
end
而后在alias中进行测试
alias名称:abb
Send中的内容:diaoyu_start();
送到Script。
执行过程中发现错误,具体如下:
Run-time error
World: fy4
Immediate execution
:891: attempt to index global 'wait' (a function value)
stack traceback:
:891: in function 'diaoyu_start'
:1: in main chunk
Error context in script:
890 : function diaoyu_start()
891*: wait.make (function ()--- coroutine below here
892 : wait.regexp ("你命令结束") -- 设置一个等待事件,只有在出现括号中的语句时,这行之后 end of coroutine 之前 代码才会被执行
893 : wait.time (1) -- 等待1秒
894 : Note("回到ct了") -- 提示到达目的地
895 : Execute("drink skin");--diaoyu_cttomatou() -- 从ct走道岸边
从错误的描述看,好像没有认出来wait是个协程?找了好久也得不到解决,坐等高手,非常感谢。
北大侠客行MUD,中国最好的MUD require后面需要括弧吗?或者wait.lua是在默认的那些搜索路径下吗? tprint没有问题,看来是我的win8 64位的原因了。 还有Execute("drink skin");--diaoyu_cttomatou() -- 从ct走道岸边
这个分号干嘛用的 tprint没有问题,看来是我的win8 64位的原因了。
faintokok 发表于 2013-4-13 17:46 http://pkuxkx.net/forum/images/common/back.gif
win8 64位4.90表示一切正常 回复 6# labaz
lua的最后加不加;都可以啊 回复 8# nsonline
这不多余的么 习惯而已。另:上面几位的4.9哪里来的? 回复 10# faintokok
就算你不看官网论坛你也得多看看北侠论坛啊,论坛上就有4.90 本帖最后由 yhzzyahoo 于 2013-4-15 10:24 AM 编辑
谢谢各位大神,现在已经搞清楚了,原因是我在测试脚本的时候写了一个名字为wait的函数,结果……
费了好一番心血,经各位大神验证确定代码无误后,我就不再检查代码是否出错的问题了,我也下载了4.9来测试仍然有问题,这时候检查才发现了那个wait函数,把他一注释,问题立马得到了解决。也让我明白了:891: attempt to index global 'wait' (a function value),这句话提示的是有函数冲突了。
衷心感谢各位大神。
页:
[1]