From 7fc14311b1a05376ffb63c6ddb8ccbfda6ee0456 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 11 一月 2019 21:59:21 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(增加回本服时如果本服角色死亡则直接复活、回本服刷新本服队伍信息)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py                   |    8 ++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |    6 ++++++
 ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py                      |    9 +++++++++
 3 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index 3e50463..8b9efa3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -70,6 +70,15 @@
 #---------------------------------------------------------------------
 
 #---------------------------------------------------------------------
+
+def DoRefreshMainServerRole(curPlayer):
+    ## 刷新本服角色信息
+    
+    curTeam = curPlayer.GetTeam()
+    if curTeam:
+        PlayerTeam.Sync_TeamMemberInfo(curTeam)
+    return
+
 ## 玩家登录初始化(封包参数)
 #  @param index 玩家索引
 #  @param tick 当前时间
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 535acd2..72d7a71 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -637,6 +637,14 @@
         PlayerTalk.ChatPYSpeaker(curPlayer, eval(resultName))
         return
     
+    #刷新本服角色信息
+    if callName == 'RefreshMainServerRole':
+        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+        if not curPlayer:
+            return
+        ChPlayer.DoRefreshMainServerRole(curPlayer)
+        return
+    
     # 战盟联赛
     if callName =="FamilyWarOver":
         GameWorldFamilyWar.MapServer_FamilyWarOver(eval(resultName))
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 9ec0e31..454db42 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -235,6 +235,10 @@
     
     Sync_DBPlayer(curPlayer)
     
+    # 死亡复活
+    if curPlayer.GetHP() <=0 or curPlayer.GetPlayerAction() == IPY_GameWorld.paDie:
+        PlayerRebornByType(curPlayer, ChConfig.rebornType_System, tick)
+        
     # 强刷一次属性,刷之前重置还没同步过所有属性
     curPlayer.SetDict(ChConfig.Def_PlayerKey_NotifyAllAttrState, 0)
     playerControl = PlayerControl.PlayerControl(curPlayer)
@@ -243,6 +247,8 @@
     if PlayerControl.GetCrossMapID(curPlayer):
         CrossRealmPlayer.DoExitCrossRealm(curPlayer)
         
+    msgInfo = ""
+    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetPlayerID(), 0, 0, "RefreshMainServerRole", msgInfo, len(msgInfo))
     return
 
 def Sync_DBPlayer(curPlayer):

--
Gitblit v1.8.0