From fa10596d9f3abf523f8e900d7b920e4af8ea6bc5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 07 三月 2019 14:45:41 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
index 0ce2b8d..b83b6f9 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -50,7 +50,7 @@
 import CrossBoss
 
 import time
-
+import json
 
 
 '''
@@ -550,7 +550,7 @@
         # 同步到玩家对应子服
         if not serverGroupID:
             return
-        zoneIpyData = CrossRealmPlayer.GetServerCrossZoneIpyData(mapID, serverGroupID)
+        zoneIpyData = CrossRealmPlayer.GetCrossCommZoneIpyDataByServerGroupID(serverGroupID)
         if not zoneIpyData:
             return
         serverGroupIDList = zoneIpyData.GetServerGroupIDList()
@@ -717,10 +717,12 @@
     def GetBossAttentionDict(self):
         return self.bossAttentionDict
 
+    # RecordData改json记录 bossid存为字符串
     def UpdateBossAttention(self, playerid, bossid, isAdd):
+        bossid = str(bossid)
         if playerid in self.bossAttentionDict:
             bossAttentionData = self.bossAttentionDict[playerid]
-            recordDict = eval(bossAttentionData.RecordData)
+            recordDict = json.loads(bossAttentionData.RecordData)
             if isAdd:
                 recordDict[bossid] = isAdd
             else:
@@ -731,7 +733,7 @@
                 self.bossAttentionDict.pop(playerid)
                 
             else:
-                bossAttentionData.RecordData = str(recordDict)
+                bossAttentionData.RecordData = json.dumps(recordDict, ensure_ascii=False)
                 bossAttentionData.DataLen = len(bossAttentionData.RecordData)
         else:
             if not isAdd:
@@ -739,7 +741,7 @@
             bossAttention = PyGameDataStruct.tagDBPyBossAttention()
             bossAttention.clear()
             bossAttention.PlayerID = playerid
-            bossAttention.RecordData = str({bossid:isAdd})
+            bossAttention.RecordData = json.dumps({bossid:isAdd}, ensure_ascii=False)
             bossAttention.DataLen = len(bossAttention.RecordData)
             self.bossAttentionDict[playerid] = bossAttention
         
@@ -753,12 +755,12 @@
         attentionData = self.bossAttentionDict.get(curPlayer.GetPlayerID())
         if not attentionData:
             return
-        bttentionDict = eval(attentionData.RecordData)
+        bttentionDict = json.loads(attentionData.RecordData)
         packData = ChPyNetSendPack.tagGCBossAttentionInfo()
         packData.BossList = []
         for bossid, addState in bttentionDict.items():
             bossInfo = ChPyNetSendPack.tagGCBossAttention()
-            bossInfo.BossID=bossid
+            bossInfo.BossID=int(bossid)
             bossInfo.AddState=addState
             packData.BossList.append(bossInfo)
         
@@ -790,10 +792,7 @@
             data.clear()
             pos += data.readData(datas, pos, dataslen)
             playerID = data.PlayerID
-            if type(eval(data.RecordData)) != list:
-                self.bossAttentionDict[playerID] = data
-            else:
-                data.clear()
+            self.bossAttentionDict[playerID] = data
             
         return pos
 

--
Gitblit v1.8.0