| | |
| | | import GMT_CTG
|
| | | import PyGameData
|
| | | import GMShell
|
| | | import IPY_PlayerDefine
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | # @return None
|
| | | # @remarks 登陆顺序, PlayerLogin->PlayerLoadMapState(PlayerLoginLoadMapOK), 此处未设置初始化状态
|
| | | def PlayerLogin(index, tick):
|
| | | GameWorld.GetPsycoFunc(__Func_PlayerLogin)(index, tick)
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | try:
|
| | | __Func_PlayerLogin(curPlayer, tick)
|
| | | except:
|
| | | curPlayer.Kick(IPY_PlayerDefine.disWaitForPlayerLoinError)
|
| | | import traceback
|
| | | GameWorld.ErrLog("玩家上线逻辑错误~~~~~\r\n%s" % traceback.format_exc())
|
| | | if GameWorld.GetGameWorld().GetDebugLevel():
|
| | | raise Exception("玩家上线逻辑错误~~~~\r\n%s" % traceback.format_exc())
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | # @param tick 当前时间
|
| | | # @return None
|
| | | # @remarks 登陆顺序, PlayerLogin->PlayerLoadMapState(PlayerLoginLoadMapOK), 此处未设置初始化状态
|
| | | def __Func_PlayerLogin(index, tick):
|
| | | def __Func_PlayerLogin(curPlayer, tick):
|
| | |
|
| | | #玩家登录初始化
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | #玩家在线时间初始化
|
| | | InitPlayerOnLineTime(curPlayer, tick)
|
| | | #玩家响应信息初始化
|
| | |
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def PlayerDisconnect(index, tick):
|
| | | GameWorld.GetPsycoFunc(__Func_PlayerDisconnect)(index, tick)
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | try:
|
| | | __Func_PlayerDisconnect(curPlayer, tick)
|
| | | except:
|
| | | import traceback
|
| | | GameWorld.ErrLog("玩家下线逻辑错误~~~~~\r\n%s" % traceback.format_exc())
|
| | | if GameWorld.GetGameWorld().GetDebugLevel():
|
| | | raise Exception("玩家下线逻辑错误~~~~\r\n%s" % traceback.format_exc())
|
| | | #调用底层下线
|
| | | curPlayer.DoDisconnect()
|
| | | return
|
| | |
|
| | | ## 玩家下线(封包参数)
|
| | |
| | | # @param tick 当前时间
|
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def __Func_PlayerDisconnect(index, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | def __Func_PlayerDisconnect(curPlayer, tick):
|
| | |
|
| | | #跨服匹配PK
|
| | | #GameWorldMergePK.OnLeaveServer(curPlayer)
|
| | |
| | | #MergePlayer.OnPlayerLeaveGotoMergeServer(curPlayer, tick)
|
| | | #------------镖车逻辑
|
| | | #TruckPlayerDisconnectProcess(curPlayer, tick)
|
| | | #调用底层下线
|
| | | curPlayer.DoDisconnect()
|
| | | return
|
| | |
|
| | | ## 设置玩家离线时间
|