From 6366979426fccd97c0cb0bd384ada3a8b9843a24 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 25 十月 2018 14:37:22 +0800
Subject: [PATCH] 2198 【主干】仙盟盟主5天没上线,盟主没有主动传位

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index 8afd776..2c00e8b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -2710,16 +2710,15 @@
         return 0
 
     leaderID = curFamily.GetLeaderID()
-    # 帮主在线
-    if GameWorld.GetPlayerManager().FindPlayerByID(leaderID) != None:
-        return 0
 
     curMember = curFamily.FindMember(leaderID)    
     if curMember == None:
         GameWorld.Log("GetLeaderOfflineTime->FindMember, None;%s" % leaderID)
         return 0
-    
-    offLineTime = GameWorld.ChangeTimeNumToStr(curMember.GetExattr2())
+    offLineTimeNum = curMember.GetExattr2()
+    if not offLineTimeNum:
+        return 0
+    offLineTime = GameWorld.ChangeTimeNumToStr(offLineTimeNum)
     return GameWorld.GetPastHour(offLineTime)
 
 def GetLastOnlineMemberOfflineTime(family):
@@ -2727,17 +2726,14 @@
     offLineTime = 0
     for i in range(0, family.GetCount()):
         member = family.GetAt(i) 
-        playerID = member.GetPlayerID()
-        tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
-        if tagPlayer:
-            return 0
-        if not member.GetExattr2():
+        offLineTimeNum = member.GetExattr2()
+        if not offLineTimeNum:
             #有人在线直接返回
             return 0
         if not offLineTime:
-            offLineTime = member.GetExattr2()
+            offLineTime = offLineTimeNum
         else:
-            offLineTime = max(offLineTime, member.GetExattr2())
+            offLineTime = max(offLineTime, offLineTimeNum)
     if not offLineTime:
         return 0
     offLineTime = GameWorld.ChangeTimeNumToStr(offLineTime)

--
Gitblit v1.8.0