From a42f5ee6615a14ff1f2291952ca14fd4e293f72e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 28 四月 2025 14:58:14 +0800
Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(FamilyGCZ命令支持技能攻击)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
index 56ab2e5..49e8ab3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
@@ -179,6 +179,10 @@
         for playerIDList in self.__serverIDRangePlayerIDDict.values():
             if playerID in playerIDList:
                 playerIDList.remove(playerID)
+                
+        #只要有删除,需重置index映射
+        self.__idIndexDict = {}
+        self.__serverIDRangePlayerIDDict = {}
         return
     
     def GetCount(self): return len(self.__packDataList)    
@@ -211,6 +215,8 @@
                 continue
             cnt += 1
             savaData += dataObj.dbPlayerPackData.getBuffer()
+            if cnt >= 10:
+                break
             
         GameWorld.Log("Save DBPlayerPackData count :%s len=%s" % (cnt, len(savaData)))
         return CommFunc.WriteDWORD(cntData, cnt) + savaData
@@ -408,22 +414,23 @@
     msgType = msgInfo.get("msgType")
     # 镜像战斗
     if msgType == "MirrorBattle":
+        sceneMapID = msgInfo.get("sceneMapID", 0)
         playerID = msgInfo.get("playerID", 0)
-        # 玩家发起的
-        if playerID:
-            playerID = msgInfo["playerID"]
-            curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
-            if not curPlayer:
-                return
-            tagMapID = GameWorld.GetQueryPlayerMapID(curPlayer)
-            routeIndex = curPlayer.GetRouteServerIndex()
-        else:
-            tagMapID = msgInfo.get("requestMapID", 0)
-            routeIndex = -1
+        routeIndex = -1
+#        # 玩家发起的
+#        if playerID:
+#            playerID = msgInfo["playerID"]
+#            curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+#            if not curPlayer:
+#                return
+#            sceneMapID = GameWorld.GetQueryPlayerMapID(curPlayer)
+#            routeIndex = curPlayer.GetRouteServerIndex()
+#        else:
+#            routeIndex = -1
             
         sendMsg = str([msgInfo, packDataDict])
-        GameWorld.DebugLog("MapServer_QueryPlayer tagMapID=%s,len=%s" % (tagMapID, len(sendMsg)), playerID)
-        GameWorld.GetPlayerManager().MapServer_QueryPlayer(0, 0, playerID, tagMapID, "PlayerMirror", sendMsg, len(sendMsg), routeIndex)
+        GameWorld.DebugLog("MapServer_QueryPlayer sceneMapID=%s,len=%s" % (sceneMapID, len(sendMsg)), playerID)
+        GameWorld.GetPlayerManager().MapServer_QueryPlayer(0, 0, playerID, sceneMapID, "PlayerMirror", sendMsg, len(sendMsg), routeIndex)
         
     # 其他功能可再扩展
     else:

--
Gitblit v1.8.0