diff --git a/src/server/game/external.go b/src/server/game/external.go index fb6b2733..babd9bd5 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -242,20 +242,22 @@ func HandleClientReq(args []interface{}) { return } err = RunNewNetProcessByKey(m.GetFunc(), p.(*Player), &detailMsg) - if err != nil { - log.Error("uid : %d, func : %s, err : %s", p.(*Player).M_DwUin, m.GetFunc(), err) - p.(*Player).TeLog("func_exec_error", map[string]interface{}{ - "method_name": m.GetFunc(), - "error_info": err.Error(), - }) - p.(*Player).Recover(backup) //还原Player的数据 - return - } str := "" if conf.Server.GameName == "pet_home" || conf.Server.GameName == "merge_pet_sdk" { strbuf, _ := protojson.Marshal(detailMsg) str = string(strbuf) } + if err != nil { + log.Error("uid : %d, func : %s, err : %s", p.(*Player).M_DwUin, m.GetFunc(), err) + p.(*Player).TeLog("func_exec_error", map[string]interface{}{ + "method_name": m.GetFunc(), + "error_info": err.Error(), + "proto": str, + }) + p.(*Player).Recover(backup) //还原Player的数据 + return + } + p.(*Player).ProcessTrigger() p.(*Player).TeLog("func_exec_time", map[string]interface{}{ "method_name": m.GetFunc(),