本帖最后由 man 于 2019-12-24 05:05 AM 编辑
二、Lua函数介绍
主要函数我在main.lua里加载了base.lua以最终封装好的函数为例
2.1 print
等同功能函数Echo、Show,主要往zMUD界面输入一串汉字,相当于zmud的#echo;
print('白公公好猛')
2.2send
往ZMUD服务器发送一串命令;
send('say 白公公好猛')
更正:
原函数Send('haha')无法正常工作,需要改成Send('haha\n'),zmud好像默认没有换行符在Send函数后,Run函数不受换行影响。
目前可以正常使用send('haha')
2.3Run
发给zmud解析一串命令,zmud自己的alias也可以正常运行
Run('say 白公公好猛;#wa 2000;sweat')
2.4exe
解析Lua自己的alias,然后发送给Run,也可以继续使用zmud的alias
比如zmud:#alias bb {say 白公公好猛}
比如Lua: add_alias('aa',function() exe('haha') end)
exe('aa;bb')
2.5add_timer
设置一个运行一次的定时器,可以嵌套
add_timer('delay',1,function()
exe('haha')
end)
或,
add_timer('delay',1,function()
add_timer('delay',1,function()
exe('haha')
end)
end)
2.6set_timer
设置一个一直运行的定时器
set_timer('timer',1,function() exe('haha') end)
2.7del_timer
删除一个timer
del_timer('timer')
2.8别名
add_alias('aa',function() exe('kk;nn') end)
del_alias('aa')
2.9触发
add_trigger('123','^[>]*你(.*)哈哈(.*)',function(p)
print(p[1])
print(p[2])
exe('faint')
end)
close_trigger('123')
open_trigger('123')
del_trigger('123')
2.10 GetAppPath()
获取zmud当前路径比如c:\zmud5.55
2.11 GetPathFiles
获取某个路径下的文件名称,可以存放到一个table里
a={GetPathFiles(GetAppPath())}
2.12 Regex
正则匹配,结果是一个table
a={Regex('你哈哈大笑','你(.*)')}
a[1]是匹配结果 '0'表示失败,n表示有n个匹配结果,-1表示可以匹配但是没有结果,因为没有用括号
a[2] - a[n]就是匹配结果
2.13 GetVar
获取一个Zmud变量值,不太建议频繁使用这个功能
local a=GetVar('a')
如果需要写入zmud变量值可以使用
Run('#var aa 10')
2.14 GetBytes
获取本游戏窗口zmud传入多少字节的文字
local a=GetBytes()
比如你可以一分钟获取一次,如果5分钟内字计数未增加,那么本窗口可能掉线了你可以执行重新连线
Run("#disconnect;#connect")
|