perky 发表于 2011-12-20 23:25:47

littleknife看你的机器人有个地方不明白

你在重写Addtrigger时候用的如下:
trireturnvalue=AddTriggerEx(triname, trimatch, "", triflag, -1, 0, "",triscript, 0, 100)
为什么你不把trscript这个写在第三个参数里,而要用到那个脚本,这样写有什么好处吗,另外这个参数传递是怎么弄的,比如说如果写在第三个参数选择调用函数的话模式选择发送到脚本(倒数第二个参数改为12),然后用test(%1,%2)这样,按你的这种写法直接就在脚本那写个test就可以了,但是我对这种用法的参数传递有些迷惑,随便做了一个tr传过去的怎么是tr的名字。。。

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

littleknife 发表于 2011-12-21 16:31:57

本帖最后由 littleknife 于 2011-12-21 08:25 PM 编辑

首先说,这个东西其实不是我的创作。取自于hellua的模块。我只是加工性的提出个框架模块方便阅读和修改而已。

至于这个函数,第三个参数应该是Sendto的文本内容,并不是一定之规。
之所以原函数忽略这项,我的理解是因为脚本引用方式比较方便使用罢了。


用脚本函数引用后,参数传递,可以参考下面的帖子。或看后边的帮助。
http://pkuxkx.com/forum/redirect ... 2265&pid=266719

要是有参数引用,需要命名为特殊的格式:
形如:
addtri("abc_name","触发行","abcGroup",abc_fun)
abc_fun=function(n,l,w)
print(w,w,w)
end

perky 发表于 2011-12-21 17:17:29

回复 2# littleknife

粘贴的链接怎么打不开啊,正好你写的这段代码是我另外一个比较迷惑的地方,在写函数的时候
function abc()
...
end
这个模式和你以及helllua命名函数的模式
abc=function() ... end
这两种模式有什么区别吗,怎么你们都用下面这种模式

littleknife 发表于 2011-12-21 20:21:14

http://pkuxkx.com/forum/redirect.php?goto=findpost&ptid=22265&pid=266719

这个链接就是,正则学习笔记那个。在置顶帖《一个脚本》里。
两种方式没有太大区别,只是看着方便。至于大家为什么这么做,我的理解是因为习惯。
这些lua教程里都有。

abc=function方式,不方便自调用,但阅读方便。function abc:cde()方式方便自调用。(这里在lua教程里也有。。。所实话我也不清楚为啥都这么用。哈哈。。

juemengun 发表于 2011-12-27 23:15:06

function foo (x) return 2*x end       -- 实际上这种写法是一个语法糖
foo = function (x) return 2*x end      -- 本质写法
有时间多看看这帖
http://www.cwowaddon.com/article-44-1.html
页: [1]
查看完整版本: littleknife看你的机器人有个地方不明白