游戏活动的自动循环——定时器管理

这篇博客介绍了游戏活动中战令活动的自动循环管理,包括数据结构的设计、活动时间的更新、定时器验证策略以及客户端协议。数据结构中记录了活动的开始和结束时间以及期数。活动时间更新通过配置表和活动持续时间计算得出。定时器验证每天进行一次,以减少资源浪费。客户端只需发送活动时间,在玩家登录和赛季更新时进行通知。
摘要由CSDN通过智能技术生成

功能简介

类似王者荣耀的战令活动。活动管理是后面写的我也就拆分开来说了。这是现在的活动表,以前配置每期的开启到结束时间,不过那样每期的时间都得手动控制,现在是做成自动循环的形式。

1、数据结构

需要记录开始时间和结束时间,为了后续方便,我加了战令活动期数

data = {startTime = startTime,endTime = endTime,season = season}

服务器启动初始加载全局配置表的数据

--战令活动时间管理
local TokenTimeMgr = {}

function TokenTimeMgr:Init()
	--获取库数据
	local datas = server.settingCenter:GetData(SettingConfig.SettingType.TokenTimeMgr)
	self.TimeManage = false
	if not datas then
		--初始化时间
		self:RefreshTime()
	else
		self.data = datas.data
		self:RefreshTimeCheck()
		self.updatetime = datas.updatetime
	end
end


setting = {
	columns = {
		{ "dbid"			,"bigint(20)"		,0		,"设置类型id" },
		{ "data"			,"mediumblob"		,{}		,"设置数据" },
		{ "updatetime" 		,"int(11)"			,0		,"更新时间" },
	},
	prikey = { "dbid" },
	comment = "全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值