daliyid 发表于 2013-12-13 18:33:06

关于Mush 的一个简单问题,还请大家帮忙 想不明白呀

本帖最后由 daliyid 于 2013-12-13 10:34 AM 编辑

匹配:^\s*「.*」\s*(.*)\(.*\)   
触发:「说书先生」 张十五(Zhang shiwu)
发送:find_jobnpc()
发送到脚本

脚本:
require "wait"
require "tprint"
find_jobnpc = function(n, l, w)
Note("n = "..w)
Execute("id here")
end

一触发就报这个错误 ,求解呀。。。。。。。。。。
Run-time error
World: gogogo
Immediate execution
:4: attempt to index local 'w' (a nil value)
stack traceback:
      :4: in function 'find_jobnpc'
      :1: in main chunk
脚本错误处的上下文:
   1 : require "wait"
   2 : require "tprint"
   3 : find_jobnpc = function(n, l, w)
   4*: Note("n = "..w)
   5 : Execute("id here")
   6 : end
   7 :
   8 :

北大侠客行MUD,中国最好的MUD

daliyid 发表于 2013-12-13 18:59:42

回复 2# yhzzyahoo

刚转的 mush 我看了hyd的脚本 所以自己学着写

那知道第一句就栽了跟头

是不是发送 里要改成find_jobnpc(“%1”)?

貌似没效果呀

daliyid 发表于 2013-12-13 19:14:45

本帖最后由 daliyid 于 2013-12-13 11:16 AM 编辑

回复 4# yhzzyahoo

哎 才弄明白 我看了hyd脚本 钓鱼脚本 都是
以 xxx = function(n, l, w)
这个标准格式写脚本
然后下面直接开始 aa=w
bb=w
cc=w
还以为 一这种格式直接可以省略了 发送里面的%1 %2 %3555555

hahh 发表于 2013-12-13 23:51:22

如果你是抄的这段,这里n=w,说明w 是叔祖。直接由游戏触发向脚本发送叔祖我个人认为有难度。 lua里不管你函数括号里放多少个变量,只要不用,发送空的没有任何问题(全部默认为nil)。所以你n,l都没有包错,只有w,因为你脚本里调用这个变量了。

参考你用了wait.lua,你是靠脚本触发的,少了一句
l,w=reg.exp("^\s*「.*」\s*(.*)\(.*\)")
这时,
l=「说书先生」 张十五(Zhang shiwu)
w =张十五
w = Zhang shiwu

hijacker 发表于 2013-12-14 00:07:15

六楼正解。发送:find_jobnpc()这里不对。这个富文本框要置空,然后在把find_jobnpc填到下面的一个文本框里(文本框标签好像是叫脚本?记不太清楚了),注意不要带括号。mush会自动传递三个参数到这个find_jobnpc函数的,不用自己指定。你仔细看看你模仿的那个机器人的触发器是怎么填的吧
换句话说,如果按你那样的填写位置,结合你的参数定义方式,就要自己指定参数了,发送:find_jobnpc(0, ["%1","%2"],0) 类似这样(0用来占位),比较麻烦。或者是指定参数+改函数的定义方式。这些都有点需要编程基础,爪机无力不详述了

emyt 发表于 2013-12-14 00:17:59

http://pkuxkx.com/forum/viewthread.php?tid=23433&extra=&page=3
这个帖子完整,包括回复仔细看看你对mush的触发就会理解的深入点
你要这样触发的话,按照回帖27楼的图片设置

hijacker 发表于 2013-12-14 00:19:01

ps : n,l,w是一种mush特色的东西,它是把触发器捕获的一些特定信息自动传给函数。n的具体含义记不清了,好像和多行触发的行数有关,l是line的意思,指匹配的整行信息,w是wildcards的意思,会把%1,%2这些以数组的形式传递给函数,在函数里对应的调用方式就是w这样。所以这三个参数用的比较多的是w,n和l更多时候只能沦为占位的炮灰。
这种mush特色的东西只有把函数名填到我刚才说的位置,mush才能帮你传递参数。

daliyid 发表于 2013-12-14 07:52:02

已经明白了这个特定格式是 mush 的一种机制
从zmud 转 mush ,zmud 的观念太深了一时脑子转不过来。

感谢大家
页: [1]
查看完整版本: 关于Mush 的一个简单问题,还请大家帮忙 想不明白呀