From 056dd07c15c81180c75e020d2161d6dca3caebf6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 21 Jan 2025 19:16:05 +0800 Subject: [PATCH] =?UTF-8?q?debug=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index 1983aed1..e131a778 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -55,11 +55,20 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro update := &msg.UpdatePlayerChessData{} proto.Unmarshal(buf, update) err := p.HandleChess(player, update.MChessHandle) + LastMap := player.PlayMod.getChessMod().ChessMap if err != nil { res := &msg.ResUpdatePlayerChessData{ Code: msg.RES_CODE_FAIL, Msg: err.Error(), } + HandleStr := "" + sort.Slice(update.MChessHandle, func(i, j int) bool { + return update.MChessHandle[i].Id < update.MChessHandle[j].Id + }) + for _, v := range update.MChessHandle { + HandleStr += fmt.Sprintf("%v-%v-%v,", v.Id, v.ChessId, v.Type) + } + log.Debug("棋子操作队列错误, %v===%v===%v===%v", HandleStr, LastMap, p.Data.MChessData, player.PlayMod.getChessMod().GetChessList()) player.SendErrClienRes(res) return err } @@ -67,7 +76,6 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro Code: msg.RES_CODE_SUCCESS, }) p.Data.MChessData = update.MChessData - LastMap := player.PlayMod.getChessMod().ChessMap if !p.checkChessEqual(player) { res := &msg.ResUpdatePlayerChessData{ Code: msg.RES_CODE_FAIL, @@ -80,7 +88,7 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro for _, v := range update.MChessHandle { HandleStr += fmt.Sprintf("%v-%v-%v,", v.Id, v.ChessId, v.Type) } - log.Debug("棋子数据不一致, %v===%v===%v===%v", update.MChessHandle, LastMap, p.Data.MChessData, player.PlayMod.getChessMod().GetChessList()) + log.Debug("棋子数据不一致, %v===%v===%v===%v", HandleStr, LastMap, p.Data.MChessData, player.PlayMod.getChessMod().GetChessList()) player.SendErrClienRes(res) return fmt.Errorf("棋子数据不一致") }