From 27a35e96b8a8bcedc8d28a561b31bb4b9306c2cd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 05 七月 2024 16:33:18 +0800
Subject: [PATCH] 10198 【香港】【越南】【主干】【砍树】【后端】BOSS凭证优化(优化凭证转化: 活动开始后到参与结束都不转化,包含活动开始参与前;)

---
 ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py b/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py
index 726429d..6ca8e2a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py
@@ -17,7 +17,7 @@
 # @change: "2014-12-23 15:30" xmnathan GameServer增加根据LineNO发送Py自定义包接口
 # @change: "2015-10-22 23:00" hxp 增加Recv_MergerChildToCenter
 #-------------------------------------------------------------------------------
-"""Version = 2015-10-22 23:00"""
+#"""Version = 2015-10-22 23:00"""
 #-------------------------------------------------------------------------------
 #---导入---
 import IPY_GameServer
@@ -30,6 +30,7 @@
 import traceback
 import ChMapToGamePyPack
 import CrossRealmMsg
+import PlayerControl
 #-------------------------------------------------------------------------------
 #---全局变量---
 
@@ -208,9 +209,7 @@
         curPackHeadRegDict["CallFunc"](index, curPackData, tick)
         
     except Exception:
-        Log("python自定义封包解析失败~~~~~\r\n%s" % traceback.format_exc())
-        if GameWorld.GetGameWorld().GetDebugLevel():
-            raise Exception("python自定义封包解析失败~~~~~\r\n%s" % traceback.format_exc())
+        GameWorld.RaiseException("python自定义封包解析失败\r\n%s" % traceback.format_exc())
         return 
     
     
@@ -224,6 +223,23 @@
     innerPackData = clientPack.GetBuffer()
     curPlayer.Sync_GeneralPack(len(innerPackData), innerPackData)
     
+def SendPackByPlayer(clientPack, curPlayer=None):
+    ## 发送封包,当curPlayer为None时则发送全服玩家
+    if not curPlayer:
+        # 全服广播在线玩家
+        playerManager = GameWorld.GetPlayerManager()
+        for i in xrange(playerManager.GetActivePlayerCount()):
+            curPlayer = playerManager.GetActivePlayerAt(i)
+            if curPlayer == None:
+                continue
+            if PlayerControl.GetIsTJG(curPlayer):
+                continue
+            SendFakePack(curPlayer, clientPack)
+    else:
+        if PlayerControl.GetIsTJG(curPlayer):
+            return
+        SendFakePack(curPlayer, clientPack)
+    return
 
 #-------------------------------------------------------------------------------
 #---Py封包注册信息
@@ -281,9 +297,7 @@
         curPackHeadRegDict["CallFunc"](routeIndex, mapID, curPackData, tick)
         #Log("RecvMapPyPack: CallFunc curPackHead = %s"%curPackHead)
     except Exception:
-        Log("RecvMapPyPack python自定义封包解析失败~~~~~\r\n%s" % traceback.format_exc())
-        if GameWorld.GetGameWorld().GetDebugLevel():
-            raise Exception("RecGamePyPack python自定义封包解析失败~~~~~\r\n%s" % traceback.format_exc())
+        GameWorld.RaiseException("RecvMapPyPack python自定义封包解析失败\r\n%s" % traceback.format_exc())
         return 
     
 #-------------------------------------------------------------------------------

--
Gitblit v1.8.0