用ABLUA写一个循环公告功能 - 神奇石器发布网
石器时代发布网 - 神奇石器旗下石器私服技术交流网 - 业务联系QQ:420004208

用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主函数下即可。

版权声明:若无特殊注明,本文皆为《sa60》原创,转载请保留文章出处。

本文链接:用ABLUA写一个循环公告功能 - https://www.sa60.com/post-112.html

本文标签:

用ABLUA写一个循环公告功能