From 4d99299a4e4279fe368f43fd06d3e493fcc419ee Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 九月 2024 17:01:43 +0800
Subject: [PATCH] 10050 【后端】角色(部分封包同步Face信息)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
index 58ef254..44c7dd4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
@@ -2240,3 +2240,30 @@
DataRecordPack.SendEventPack("CrossPK_%s" % eventName, drDataDict)
return
+def IsCrossRealmPKPlayer(playerID, checkPreSeason=False, checkAllSeason=False):
+ ## 仅跨服服务器判断用
+ # @param checkPreSeason: 检查上一赛季
+ # @param checkAllSeason: 检查所有赛季
+
+ # 默认取分区1的赛季作为当前赛季,所有分区赛季ID相同,且递增
+ gameWorld = GameWorld.GetGameWorld()
+ nowSeasonID = gameWorld.GetDictByKey(ChConfig.Def_WorldKey_CrossPKZoneSeasonID % 1)
+ preSeasonID = nowSeasonID - 1
+ crossPKBillboardMgr = PyDataManager.GetCrossPKBillboardManager()
+ crossZoneName = GameWorld.GetCrossZoneName()
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ for index in range(ipyDataMgr.GetCrossRealmPKSeasonCount()):
+ seasonIpyData = ipyDataMgr.GetCrossRealmPKSeasonByIndex(index)
+ if crossZoneName != seasonIpyData.GetCrossZoneName():
+ continue
+ zoneID = seasonIpyData.GetZoneID()
+ seasonID = seasonIpyData.GetSeasonID()
+ if checkAllSeason or seasonID == nowSeasonID or (checkPreSeason and seasonID == preSeasonID):
+ pass
+ else:
+ continue
+ _, orderDict = crossPKBillboardMgr.GetCrossPKBillboardInfo(zoneID, seasonID)
+ if orderDict and playerID in orderDict:
+ return True
+
+ return False
--
Gitblit v1.8.0