| | |
| | | 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
|