From 5c4ea9b4fd7f98d82e64878a5ce29d5747506f8c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 24 一月 2019 14:08:09 +0800
Subject: [PATCH] 5924 【后端】【1.5.100】诛仙Boss功能(2秒不打,停止掉血)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
index 2afd43a..ccd03a4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
@@ -68,6 +68,15 @@
     #玩家刚登录, 什么也不做, 等待GameServer刷新自己
     return
 
+def OnPlayerLoginCrossServer(curPlayer):
+    ## 登录跨服服务器处理
+    
+    if curPlayer.GetTeamID():
+        curPlayer.SetTeamID(0)
+        GameWorld.DebugLog("登录跨服服务器重置队伍ID!")
+        
+    return
+
 ## 游戏服务器刷新队伍(封包参数)
 #  @param index 玩家索引
 #  @param tick 当前时间 
@@ -121,9 +130,10 @@
     playerID = curPackData.PlayerID
     teamID = curPackData.TeamID
     teamLV = curPackData.TeamLV
+    memCnt = curPackData.MemCnt
     dataDict = {"playerID":playerID, "teamLV":teamLV}
     
-    GameWorld.DebugLog("GameServer_TeamInfo playerID=%s,teamID=%s,teamLV=%s" % (playerID, teamID, teamLV), playerID)
+    GameWorld.DebugLog("GameServer_TeamInfo playerID=%s,teamID=%s,teamLV=%s,memCnt=%s" % (playerID, teamID, teamLV, memCnt), playerID)
     curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
     if not curPlayer or curPlayer.IsEmpty():
         DR_Team("TeamInfo", teamID, dataDict, "curPlayer is None or empty")
@@ -131,12 +141,15 @@
     
     playerTeamID = curPlayer.GetTeamID()
     # 切图时GameServer玩家无队伍时会同步teamID为0,这里进一步处理,防止地图玩家在某些异常情况下teamID与GameServer不同步
-    if teamID == 0 and playerTeamID:
-        __OnPlayerLeaveTeam(curPlayer.GetCopyMapID(), playerID, playerTeamID, tick)
+    if teamID == 0:
+        if playerTeamID:
+            __OnPlayerLeaveTeam(curPlayer.GetCopyMapID(), playerID, playerTeamID, tick)
         return
     
     RefreshPlayerTeamID(curPlayer, teamID, teamLV, tick)
     
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_TeamMemCount, memCnt)
+    
     sameMapMemCount = 0 # 同地图队员数
     sameMapVIPLV = 0 # 同地图VIP加成等级
     mapID = curPlayer.GetMapID()

--
Gitblit v1.8.0