From caa32cc95a582266cfbe9b78fb4239553ae70943 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 21 十月 2020 10:21:06 +0800
Subject: [PATCH] 4821 【主干】【长尾】【BT】【优化】脱机挂在线玩家在仙盟列表显示优化
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py | 10 ++++++----
ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 4 ++--
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetFamilyInfo.py | 2 +-
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetFamilyInfo.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetFamilyInfo.py
index 50f748c..74084f4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetFamilyInfo.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetFamilyInfo.py
@@ -103,7 +103,7 @@
continue
offLineTime = curMember.GetExattr2()
- offLineSeconds = GameWorld.GetPastSeconds(GameWorld.ChangeTimeNumToStr(offLineTime)) if offLineTime else 0
+ offLineSeconds = GameWorld.GetPastSeconds(GameWorld.ChangeTimeNumToStr(offLineTime)) if offLineTime > 1 else offLineTime
# 成员信息
member = {
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index 89e82d4..a165f35 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -567,8 +567,8 @@
# @return None
# @remarks 函数详细说明.
def SetPlayerOfflineTime(curPlayer):
- if PlayerControl.GetIsTJG(curPlayer):
- return
+ #if PlayerControl.GetIsTJG(curPlayer):
+ # return
curPlayerID = curPlayer.GetPlayerID()
curFamily = curPlayer.GetFamily()
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index acc1879..9ae4a20 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -1984,8 +1984,10 @@
if not PlayerControl.GetIsTJG(curPlayer):
#上线重置离线时间为0, 非脱机挂才设置
- curMember.SetExattr2(0)
+ curMember.SetExattr2(0) # 在线0,脱机1,>1离线时间
curPlayer.Sync_FamilyInfo()
+ else:
+ curMember.SetExattr2(1) # 脱机1
curPlayer.MapServer_FamilyRefresh()
curMember = GetPlayerFamilyMember(curPlayer)
@@ -2913,7 +2915,7 @@
GameWorld.Log("GetLeaderOfflineTime->FindMember, None;%s" % leaderID)
return 0
offLineTimeNum = curMember.GetExattr2()
- if not offLineTimeNum:
+ if not offLineTimeNum or offLineTimeNum == 1:
return 0
offLineTime = GameWorld.ChangeTimeNumToStr(offLineTimeNum)
return GameWorld.GetPastHour(offLineTime)
@@ -2924,7 +2926,7 @@
for i in range(0, family.GetCount()):
member = family.GetAt(i)
offLineTimeNum = member.GetExattr2()
- if not offLineTimeNum:
+ if not offLineTimeNum or offLineTimeNum == 1:
#有人在线直接返回
return 0
if not offLineTime:
@@ -2959,7 +2961,7 @@
elif toMember2.GetExattr1() < member.GetExattr1():
toMember2 = member
- offLineHour = GameWorld.GetPastHour(GameWorld.ChangeTimeNumToStr(member.GetExattr2())) if member.GetExattr2() else 0
+ offLineHour = GameWorld.GetPastHour(GameWorld.ChangeTimeNumToStr(member.GetExattr2())) if member.GetExattr2() > 1 else 0
#GameWorld.DebugLog('memberID=%s 离线%s小时,历史贡献度%s'%(member.GetPlayerID(), offLineHour, member.GetExattr1()))
if offLineHour < 48:
if not toMember1:
--
Gitblit v1.8.0