2014-02-23 13:06| 查看: 13448 |作者: 小雪
6.需要知道如何随时改变喊话内容。 这并不是一个很难的事情,参考前面获得用户输入的教程。 制作插件 知道了以上这6点,那么插件的雏形就出来了。 建立一个表格,用于存储变量,不直接使用AutoParty为存储的原因是因为会导致游戏读取用户资料错误,这个比较无解,具体表现方式为界面凌乱,聊天框不见。 RegisterCustomData() 是存储用户自定义值的函数,参数为需要存储变量的字串符。 这些存储过的变量都能在userdata中的"角色名字.dat"找到。 建立组队函数 string.find在搜索空的字串符的时候会出错,这不能通过SciTe检查语言检查出来,所以加上一个判断避免该错误。 关闭消息框这个函数是在messagebox.lua中找到的,具体方法参上。消息框名字为"ATMP_"加上arg0,".."是连接符,但是由于arg0是变量,所以需要使用tostring将它转变为字串符。 经过测试后发现关闭消息框就表示拒绝该申请,所以不用再次添加拒绝命令。 建立喊话函数 对于这种自动的东西都需要加上一个开关,因为想关的时候是无法注销该事件的。 nstepper跟num都是计数器。 local team = GetClientTeam() --获取客户端队伍信息 local nGroupNum = team.nGroupNum --获取队伍数量 local num = 0 --计数器 for i=0, nGroupNum - 1 do --for循环,由于初始值是0,所以终值要减去1,当然也可以从1开始,就不用减了,个人习惯。 local tGroupInfo = team.GetGroupInfo(i) --获取队伍信息 if tGroupInfo and tGroupInfo.MemberList then --如果队伍信息存在且成员列表存在 for _, dwID in pairs(tGroupInfo.MemberList) do --循环成员列表,由于是表格,所以用in pairs num = num + 1 --每找到一个成员则计数器加1 end end end 这是一个遍历小队的代码。 |