From 4dc6dcbee70d7045ed180e7ed13ec0171d66c1a8 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 1 Dec 2025 18:47:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E7=BE=A4=E6=9E=B6=E6=9E=84=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/GoUtil/GoUtil.go | 6 ++++++ src/server/game/ClusterMgr.go | 10 ++++++++++ src/server/game/mod/msg/Msg.go | 19 ++++++++++--------- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/server/GoUtil/GoUtil.go b/src/server/GoUtil/GoUtil.go index 494b9b8c..b5ca11dd 100644 --- a/src/server/GoUtil/GoUtil.go +++ b/src/server/GoUtil/GoUtil.go @@ -238,6 +238,12 @@ func GobUnmarshal(data []byte, obj interface{}) error { } func GetServerIdByUid(uid int) int { + if uid <= 100000 { + return uid + } + if uid <= 100000000 { + return uid / 100000 + } return int((uid % 100000000) / 100000) } diff --git a/src/server/game/ClusterMgr.go b/src/server/game/ClusterMgr.go index e3b1ba4e..98374e2f 100644 --- a/src/server/game/ClusterMgr.go +++ b/src/server/game/ClusterMgr.go @@ -39,6 +39,7 @@ func init() { RegisterClusterHandler(msg.CLUSTER_FRIEND_SYNC, ClusterFriendSync) RegisterClusterHandler(msg.HANDLE_TYPE_CHAMPSHIP_INRANK, champshipInrankHandler) RegisterClusterHandler(msg.HANDLE_TYPE_CHAMPSHIP_RANK_INFO, champshipRankInfoHandler) + RegisterClusterHandler(msg.HANDLE_TYPE_CHAMPSHIP_MY_RANK, champshipMyRankHandler) } func champshipInrankHandler(m *msg.Msg) error { @@ -54,3 +55,12 @@ func champshipRankInfoHandler(m *msg.Msg) error { FriendMgrSend(m) return nil } + +func champshipMyRankHandler(m *msg.Msg) error { + MyRank := G_GameLogicPtr.ChampshipMgr.getMyRank(m.From) + m.To = m.From + m.From = 0 + m.Extra = MyRank + FriendMgrSend(m) + return nil +} diff --git a/src/server/game/mod/msg/Msg.go b/src/server/game/mod/msg/Msg.go index a5a1c4ba..3e5d89ef 100644 --- a/src/server/game/mod/msg/Msg.go +++ b/src/server/game/mod/msg/Msg.go @@ -126,15 +126,16 @@ const ( func (m *Msg) Clone() *Msg { return &Msg{ - Type: m.Type, - To: m.To, - From: m.From, - Item: m.Item, - SendT: m.SendT, - End: m.End, - Extra: m.Extra, - Id: m.Id, - H: m.H, + Type: m.Type, + To: m.To, + From: m.From, + Item: m.Item, + SendT: m.SendT, + End: m.End, + Extra: m.Extra, + Id: m.Id, + H: m.H, + UniKey: m.UniKey, } }