pkujackhu 发表于 2014-11-9 16:38:47

请教一下mush中string.find使用的问题

触发器语句为^这是一本(.*)的.*$如果我在发送栏中写
x="%1"
print(string.find(x,"经"))
发送到脚本解析器
触发后可得正确数字

但如果发送栏中写
x("%1")
发送到脚本解析器
脚本为
function x(s)
local i,j=string.find(s,'经')
print(s,i,j)
end

i,j均为空,不能得到正确数字

如果我发送栏留空
在右下脚本中填
x
脚本为
function x(a,b,c,d)
local i,j=string.find(c,"经")
print(i,j)
end
i,j均为空,不能得到正确数字

我用GetTriggerWildcard来抓也试过,只要是写进脚本,就不能匹配


不知道有没有那位好心大大给解解惑,看看是那里出错了

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

littleknife 发表于 2014-11-9 20:31:01

触发器语句为^这是一本(.*)的.*$如果我在发送栏中写
x="%1"
print(string.find(x,"经"))
发送到脚本解 ...
pkujackhu 发表于 2014-11-9 04:38 PM http://pkuxkx.net/forum/images/common/back.gif
以上三种形式均测试通过。
第一种,无需解释。
第二种:函数定义要在x("%1")之前。


第三种:测试通过。没发现错误。


正则表达要选上。

pkujackhu 发表于 2014-11-9 21:59:26

本帖最后由 pkujackhu 于 2014-11-9 02:18 PM 编辑

谢谢大大的解释,我用你的方法试了第三种还是不行,我上图一下,麻烦大大再帮我看看,我那里错了?                         http://a1.qpic.cn/psb?/V1111C2i2maR5a/D1sLawQoDCNyqPiNOAHPkZJFGtm1xkfm0HIp6n47nvA!/m/dChRQ1iVGwAA&ek=1&kp=1&pt=0&bo=owGyAQAAAAABBzE!&sce=0-12-12&rf=0-18 http://a1.qpic.cn/psb?/V1111C2i2maR5a/sUgkiarx.QCwCedTrbF6G0xLEEiBCgLUtVB.OsSW3es!/m/dGo4r046OAAA&ek=1&kp=1&pt=0&bo=iAHnAAAAAAAFB0o!&sce=0-12-12&rf=0-18http://a2.qpic.cn/psb?/V1111C2i2maR5a/YYBPbLDw6REoGzWDrT.ESz1WPsAHTlyt49oXjfEJzx0!/c/dIG51VjCBgAA&ek=1&kp=1&pt=0&bo=qAFJAAAAAAAFB8Q!&sce=0-12-12&rf=0-18

littleknife 发表于 2014-11-10 07:10:42

你的图片来自于qq空间,无法显示。

这个问题其核心还是对变量的理解。至于变量,MUSH里有两种:一个是MUSH自带变量,用SetVariable存储,GetVariable获取。还有就是lua变量,属于编程语言内容。

如果楼主希望像zmud一样,就是一个载入文件解决所有设置(包含机器触发),其核心思想就是怎么弄到一个脚本文件里用脚本引用的方式完成这些。所以,楼主可以考虑参考下《底层框架》通过文件引用模式达到目的。故此,这种一个脚本的方式,变量的使用建议还是用第三种脚本直接传递(MUSH右下角脚本)模式来实现。

pkujackhu 发表于 2014-11-10 08:51:04

恩,谢谢,这个问题解决了,你说的《底层框架》我有看过,但很多都看不懂,我没学过编程,都是自己在网上找资料看,很多地方都是一知半解的

pkujackhu 发表于 2014-11-10 13:02:55

本帖最后由 pkujackhu 于 2014-11-10 05:06 AM 编辑

晕,原来是小刀前辈,久仰大名了
前辈,我用了你的城际互联,为什么从武当出来的时候总是出错,我用fullpath看了一下,是没有n;ask song about 下山;这部份,我看路线库里是有的,但应用的时候就没有了,而且我用你的那个.xls的路线库维护工具总是出错,不知道是不是我使用方法不对,好像现在使用方法的文章更新了,维护工具还没有

lontinue 发表于 2015-1-29 19:35:35

解决了一个大问题!!!
页: [1]
查看完整版本: 请教一下mush中string.find使用的问题