| | |
| | | # @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
|
| | |
| | | import traceback
|
| | | import ChMapToGamePyPack
|
| | | import CrossRealmMsg
|
| | | import PlayerControl
|
| | | #-------------------------------------------------------------------------------
|
| | | #---全局变量---
|
| | |
|
| | |
| | | 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
|
| | |
|
| | |
|
| | |
| | | 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封包注册信息
|
| | |
| | | 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
|
| | |
|
| | | #-------------------------------------------------------------------------------
|