diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index b5eee34b..fa7f4e59 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -648,7 +648,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqRemoveAd", ReqRemoveAdFunc) RegisterMsgProcessFunc("ReqPlayerBriefProfileData", ReqPlayerBriefProfileDataFunc) - RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc) + // RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc) RegisterMsgProcessFunc("ReqPlayerAsset", ReqPlayerAsset) // 玩家 RegisterMsgProcessFunc("ReqUserInfo", ReqUserInfo) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index ff624724..c92edc3d 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3222,12 +3222,11 @@ func ReqPlayroomBuyItem(player *Player, buf []byte) error { return nil } -func ReqOfflineReconnectFunc(player *Player, buf []byte) error { +func ReqOfflineReconnectFunc(a gate.Agent, buf []byte) error { req := &msg.ReqOfflineReconnect{} proto.Unmarshal(buf, req) res := &msg.ResOfflineReconnect{} res.DwUin = req.DwUin - a := player.args["agent"].(gate.Agent) if v, ok := G_GameLogicPtr.M_Players.Load(req.DwUin); ok { player := v.(*Player) agent := player.GetAgentByPlayer() diff --git a/src/server/game/external.go b/src/server/game/external.go index 3586fd20..12e7e3e4 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -160,7 +160,7 @@ func HandleClientReq(args []interface{}) { data, _ := proto.Marshal(res) G_getGameLogic().PackResInfo(a, "ResServerTime", data) case "ReqOfflineReconnect": // 断线重连 - RunNetProcessByKey(m.GetFunc(), []interface{}{a, buf}) + ReqOfflineReconnectFunc(a, buf) default: p, ok := internal.Agents.Load(a) if ok && p != G_GameLogicPtr.NotInitPlayer {