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