diff --git a/src/server/game/FriendMgr.go b/src/server/game/FriendMgr.go index 1b103d86..4a78446c 100644 --- a/src/server/game/FriendMgr.go +++ b/src/server/game/FriendMgr.go @@ -110,6 +110,8 @@ func (f *FriendMgr) sync(m *msg.Msg) (interface{}, error) { } v.H = 1 } + l := make([]*msg.Msg, len(data)) + copy(l, data) return data, nil } diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index c1d2958c..fd96826b 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -229,6 +229,8 @@ func handle(p *Player, m *msg.Msg) error { p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type) case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞 p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "") + default: + log.Debug("uid : %d, handle msg type : %d not exist", p.M_DwUin, m.Type) } // #region 以下是处理系统请求 return nil @@ -310,11 +312,14 @@ func SyncFriendMsg(p *Player) { for _, v := range ml { maxId = max(maxId, v.Id) if v.H == 1 { + log.Error("uid : %d, handle same friend msg : %v", p.M_DwUin, v) continue } if v.Id > 0 && v.Id <= MsgId { + log.Error("uid : %d, handle old friend msg : %v", p.M_DwUin, v) continue } + log.Debug("uid : %d, handle friend msg : %v", p.M_DwUin, v) handle(p, v) } FriendMod.SetSyncId(maxId) @@ -895,7 +900,7 @@ func NotifyAllFriend(p *Player, m1 *msg.Msg) { if k == int(p.M_DwUin) { continue } - m.To = k + m.To = int(p.M_DwUin) FriendMgrSend(m) } }