用ABLUA写一个循环公告功能
首先我们打开ABLUA文件夹下,找到netloopfunction.lua这个LUA
我们先定义一个data函数
function data() --这里定义一个message数组,将你要的公告内容按照下列各式写入进去,多个内容以逗号结束 message = { "欢迎访问神奇石器发布网,这里提供最新的石器时代SF,石器SF讯息。" ,"这里有各种好玩新颖极具特色化的石器时代。" } --定义一个循环增加的变量 looptime = 0 end函数内我已经注释了,请看注释即可。
其次我们找到
function NetLoopFunction() end
我们在NetLoopFunction这个函数中间添加这样一段代码
--通过余函数函数计算循环一次公告的时间, --NetLoopFunction是每分钟循环一次。 --所以写入30是30分钟,相除如果为0则为30分钟一次。 if math.mod(looptime, 30) == 0 then --这里是循环全部玩家的索引,char.getPlayerMaxNum()是代码定义的获取玩家索引最大值的接口 for i = 0, char.getPlayerMaxNum() - 1 do --检查索引是否存在或者有效 if char.check(i) == 1 then --定义一个r的变量,随机1~message最大值,这里table.getn就是获取message最大数组 r = math.random(1, table.getn(message)) --然后执行char.talkToServer接口来实现显示游戏公告 char.talkToServer(-1, message[r], "黄色") end end end注释已经写的很清楚了,这样应该可以理解了吧。最后把data()放在main主函数下即可。