From 01bb36eca00e1fcd14bef76d78a6aa2e1ce0d803 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 30 十二月 2019 18:52:26 +0800 Subject: [PATCH] 8346 【恺英】【后端】协助系统(添加第一名无归属时原因日志) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFBTeamRelation.py | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 42 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFBTeamRelation.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFBTeamRelation.py index 49de67a..0d1db66 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFBTeamRelation.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFBTeamRelation.py @@ -17,6 +17,8 @@ #导入 import PyGameData import GameWorld +import FBHelpBattle +import traceback #--------------------------------------------------------------------- @@ -44,11 +46,46 @@ # @remarks 函数详细说明. def DoResult(curPlayer, callFunName, funResult, tick): try: - teamID, friendList, memFamilyIDDict, memNameDict = eval(funResult) - PyGameData.g_teamFBMemRelationDict[teamID] = [friendList, memFamilyIDDict, memNameDict] - GameWorld.Log("队员关系信息: teamID=%s,friendList=%s,memFamilyIDDict=%s" % (teamID, friendList, memFamilyIDDict)) - except: - pass + msgList = eval(funResult) + msgType = msgList[0] + if msgType == "InitRelation": + teamID, friendList, memFamilyIDDict, memNameDict = msgList[1:] + PyGameData.g_teamFBMemRelationDict[teamID] = [friendList, memFamilyIDDict, memNameDict] + GameWorld.Log("队员初始关系信息: teamID=%s,friendList=%s,memFamilyIDDict=%s" % (teamID, friendList, memFamilyIDDict)) + return + + if msgType == "FriendChange": + teamID, playerID, tagPlayerID, isFriend = msgList[1:] + GameWorld.Log("队员好友变更: teamID=%s,playerID=%s,tagPlayerID=%s,isFriend=%s" % (teamID, playerID, tagPlayerID, isFriend)) + if teamID not in PyGameData.g_teamFBMemRelationDict: + return + friendList = PyGameData.g_teamFBMemRelationDict[teamID][0] + if isFriend: + friendList.append([playerID, tagPlayerID]) + friendList.append([tagPlayerID, playerID]) + else: + if [playerID, tagPlayerID] in friendList: + friendList.remove([playerID, tagPlayerID]) + if [tagPlayerID, playerID] in friendList: + friendList.remove([tagPlayerID, playerID]) + + elif msgType == "FamilyChange": + teamID, playerID, familyID = msgList[1:] + GameWorld.Log("队员家族变更: teamID=%s,playerID=%s,familyID=%s" % (teamID, playerID, familyID)) + if teamID not in PyGameData.g_teamFBMemRelationDict: + GameWorld.Log("teamID=%s, not in PyGameData.g_teamFBMemRelationDict %s" % (teamID, PyGameData.g_teamFBMemRelationDict)) + return + memFamilyIDDict = PyGameData.g_teamFBMemRelationDict[teamID][1] + memFamilyIDDict[playerID] = familyID + + else: + return + + # 关系变更刷新 + FBHelpBattle.RefershTeamFBMemRelation(tick) + except BaseException: + errorMsg = str(traceback.format_exc()) + GameWorld.ErrLog("%s" % errorMsg) return -- Gitblit v1.8.0