From 938aa9d1ddea6979a6f7a2f772164ef590cec4bb Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 4 Jul 2024 11:00:16 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=82=80=E8=AF=B7=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- worldsrv/action_friend.go | 16 ++++++++++++++++ worldsrv/action_game.go | 16 ---------------- worldsrv/action_shop.go | 7 +++++++ 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/worldsrv/action_friend.go b/worldsrv/action_friend.go index 254752d..13dc9e9 100644 --- a/worldsrv/action_friend.go +++ b/worldsrv/action_friend.go @@ -532,6 +532,22 @@ func (this *CSInviteFriendOpHandler) Process(s *netlib.Session, packetid int, da opRetCode = friend.OpResultCode_OPRC_Error //进入房间失败 send(p) return nil + } else { + // 进入成功 + for _, v := range scene.players { + if v == nil || len(v.TaskInviteList) == 0 || v.SnId == p.SnId { + continue + } + if v.TaskInviteList[p.SnId] == scene.sceneId { + delete(v.TaskInviteList, p.SnId) + TaskSubjectSingleton.Touch(common.TaskTypeInvitePlay, &TaskData{ + SnId: v.SnId, + GameID: scene.gameId, + GameFreeID: scene.dbGameFree.GetId(), + Num: 1, + }) + } + } } case Invite_Refuse: logger.Logger.Trace("拒绝邀请") diff --git a/worldsrv/action_game.go b/worldsrv/action_game.go index 96e7e58..b93bdce 100644 --- a/worldsrv/action_game.go +++ b/worldsrv/action_game.go @@ -167,22 +167,6 @@ func (this *CSEnterRoomHandler) Process(s *netlib.Session, packetid int, data in if !scene.PlayerEnter(p, -1, true) { code = gamehall.OpResultCode_Game_OPRC_Error_Game - } else { - // 进入成功 - for _, v := range scene.players { - if v == nil || len(v.TaskInviteList) == 0 || v.SnId == p.SnId { - continue - } - if v.TaskInviteList[p.SnId] == scene.sceneId { - delete(v.TaskInviteList, p.SnId) - TaskSubjectSingleton.Touch(common.TaskTypeInvitePlay, &TaskData{ - SnId: v.SnId, - GameID: scene.gameId, - GameFreeID: scene.dbGameFree.GetId(), - Num: 1, - }) - } - } } failed: diff --git a/worldsrv/action_shop.go b/worldsrv/action_shop.go index 90ce8a8..1d64e6e 100644 --- a/worldsrv/action_shop.go +++ b/worldsrv/action_shop.go @@ -432,6 +432,13 @@ func (this *CSPayInfoHandler) Process(s *netlib.Session, packetid int, data inte return nil }*/ } + if shopInfo.Page == ShopPagePermit { + if p.GetIsPermit() { + logger.Logger.Error("已购买典藏通行证") + SendClient(shop.OpResultCode_OPRC_Error) + return nil + } + } ShopMgrSington.SendAPICreateOrder(p, msg.ConfigPayId, shopInfo, "shop_goods_xj") } else { From 5eb468c7ffff956470e947565a8da9f96f705845 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 4 Jul 2024 11:20:00 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=82=80=E8=AF=B7=E5=A5=BD=E5=8F=8B?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- worldsrv/tournament.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worldsrv/tournament.go b/worldsrv/tournament.go index d92dca2..773633d 100644 --- a/worldsrv/tournament.go +++ b/worldsrv/tournament.go @@ -1546,7 +1546,7 @@ func (this *Tournament) MakeMatchLog(platform string, tmId int32, sortId int64) Item: items, Rank: rankId, }) - if rankId >= 10 { + if rankId >= 1 && rankId <= 10 { TaskSubjectSingleton.Touch(common.TaskTypeMatchRank10, &TaskData{ SnId: v.p.SnId, Num: 1, From cc656a5bbcc96a87bb64ca3beff26bd0cb46baef Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 4 Jul 2024 13:50:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E9=87=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2452 -> 2452 bytes dbproxy/svc/u_gamedata.go | 10 +++++++ model/gamedata.go | 17 ++++++++++++ ranksrv/rank/rankpermit.go | 5 +++- worldsrv/etcd.go | 54 +++++++++++++++++++++---------------- worldsrv/permitmgr.go | 3 +++ worldsrv/tournament.go | 6 +++-- 8 files changed, 69 insertions(+), 26 deletions(-) diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 8a642d9f94507e11054528bdafbea5d70f35a163..a89e39fc2d2a43bd6cb340ab99fc605bb1806f67 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!*2WB`uS4m}Q2Gj#z6zq1I5-yevI!h$vE|a^U;?YZ4VAwErEfy% zTWIRTIUweP%>mj6vj?URW)I9ADCPjw!|VaOONkTgj)t|5Sh!+2SilZ}IT&UE%wSvw Z-GMq3-D0rAl-M~I0X_PKnTvt85CCN|JT(9S literal 384 zcmd-w<6snElw#w!+{O&1uR!UmQ2H8_z7C?5I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwev+XK^&q7UdEto8%N!S*O|g5A-u_7MwLEC&nm9sn8uvk^aV!Gzn4zK%mJ2yBaw&5xnZqa` zBEhP_sxiUOfYAz~h!v*wklf_8EMF$4u?zA6RjY7pd&MZA2vp57`5}w!~q uCabZX5`@@wU=|P52&T=9?2?Q?r+_R)Hcy+w6e=nLwWXo6YI7lnG9v)wlrgUW delta 199 zcmbOtJVkiIOhFEgg}rP73wqhC*f^E|S#ld!on@XJ#ww<;WDcW%hy<$wtHuOB14b*T z!b5UEg^Pd+StqY$`63Ttb3tVfwAeZ@a;b1^d&MZA2-M0l`5}w! 0 { - LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ - Platform: config.Platform, - StartTs: st.StartTs, - EndTs: st.EndTs, - }) - } - })).StartByExecutor("permit_start_ts") + b, err := json.Marshal(st) + if err != nil { + logger.Logger.Errorf("permit startts save error: %v", err) + } else { + logger.Logger.Infof("update permit startts: %v %v", st.StartTs, st.EndTs) + err := model.UptStrKVGameData(common.PermitStartTsKey+config.Platform, string(b)) + if err != nil { + logger.Logger.Errorf("permit startts update error:%v", err) + } + } + return nil + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + if st.StartTs > 0 { + LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ + Platform: config.Platform, + StartTs: st.StartTs, + EndTs: st.EndTs, + }) + } + })).StartByExecutor("permit_start_ts") + } + if isInit { + time.AfterFunc(time.Second*5, f) //todo 优化 + } else { + f() + } default: logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey) diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index ee6ebbb..e72db39 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -155,6 +155,9 @@ func (r *PermitMgr) OnDayTimer() { } PlatformMgrSingleton.GetConfig(platform).PermitStartTs = se.StartTs PlatformMgrSingleton.GetConfig(platform).PermitEndTs = se.EndTs + for _, v := range PlayerMgrSington.playerOfPlatform[platform] { + v.ResetPermit() + } b, err := json.Marshal(se) if err != nil { logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Marshal err:%v", err) diff --git a/worldsrv/tournament.go b/worldsrv/tournament.go index 773633d..425a989 100644 --- a/worldsrv/tournament.go +++ b/worldsrv/tournament.go @@ -1548,8 +1548,10 @@ func (this *Tournament) MakeMatchLog(platform string, tmId int32, sortId int64) }) if rankId >= 1 && rankId <= 10 { TaskSubjectSingleton.Touch(common.TaskTypeMatchRank10, &TaskData{ - SnId: v.p.SnId, - Num: 1, + GameID: int(v.tm.dbGameFree.GetGameId()), + GameFreeID: v.tm.dbGameFree.GetId(), + SnId: v.p.SnId, + Num: 1, }) } } From 49bd65a05c9adf4e63dd5b261a7b3ff096e9809c Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 4 Jul 2024 15:00:57 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E5=8A=A0=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 2 ++ worldsrv/action_task.go | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/constant.go b/common/constant.go index 730ae3d..6a5e340 100644 --- a/common/constant.go +++ b/common/constant.go @@ -793,3 +793,5 @@ const ( ) const PermitStartTsKey = "permit_start_ts" + +const PermitAdd = 0.2 // 典藏通行证赛季积分多加,百分比 diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index 30fa879..b62c7c2 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -77,7 +77,7 @@ func SendReward(p *Player, m map[int64]int64, tp int32) { var items []*Item for k, v := range m { if k == common.ItemIDPermit && isPermit { - v += v / 2 // 增加50% + v += int64(float64(v) * common.PermitAdd) } items = append(items, &Item{ ItemId: int32(k), @@ -186,7 +186,7 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) SendReward(p, data.Award, msg.Tp) for k, vv := range data.GetAward() { if k == common.ItemIDPermit && isPermit { - vv += vv / 2 // 增加50% + vv += int64(float64(vv) * common.PermitAdd) } ret.Reward[k] = ret.Reward[k] + vv }