From a5bf9df2895f3d33ab5f08cda82fe6bb203e4eb5 Mon Sep 17 00:00:00 2001 From: by <123456@qq.com> Date: Sat, 4 Jan 2025 11:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E5=85=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- worldsrv/action_nian.go | 42 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/worldsrv/action_nian.go b/worldsrv/action_nian.go index 9896e9e..acd8108 100644 --- a/worldsrv/action_nian.go +++ b/worldsrv/action_nian.go @@ -590,6 +590,19 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 logger.Logger.Trace("CSNianSignAward 活动关闭!") return nil } + //判断活动时间 + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + t, _ := time.Parse(time.DateTime, startTime) + // 转换为时间戳(以秒为单位) + timestamp := t.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + pack := &activity.SCNianSignAward{} if p.WelfData.NianData == nil { p.WelfData.NianData = &model.NianData{} @@ -631,15 +644,36 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6 func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64) error { if msg, ok := data.(*activity.CSNianChange); ok { - num := msg.Num - if num <= 0 || num > 99 { - return nil - } p := PlayerMgrSington.GetOnlinePlayer(sid) logger.Logger.Trace("客户端请求请求年兽兑换 snid = ", p.SnId) if p == nil { return nil } + pool := WelfareMgrSington.GetConfig(p.Platform).ActivityNianConfig + if pool == nil || pool.List == nil { + return nil + } + if pool.Switch == model.WelfareClose { + logger.Logger.Trace("CSNianSignAward 活动关闭!") + return nil + } + //判断活动时间 + startTime := pool.List[0].ActivityStart + endTime := pool.List[0].ActivityEnd + t, _ := time.Parse(time.DateTime, startTime) + // 转换为时间戳(以秒为单位) + timestamp := t.Unix() + end, _ := time.Parse(time.DateTime, endTime) + endTimestamp := end.Unix() + nowTime := time.Now().Unix() + if nowTime < timestamp || nowTime > endTimestamp { + return nil + } + num := msg.Num + if num <= 0 || num > 99 { + return nil + } + sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr() itemNum := 0 coin := 0