From 66d7dbd46a74b8acf30bb297d664b6d98f7f4099 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 07 十二月 2020 20:33:20 +0800
Subject: [PATCH] 8585 【港台】【BT】【长尾】【后端】竞技场(增加通知重置赛季状态)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 68 ++++++++++++++++++++++++++++++---
1 files changed, 61 insertions(+), 7 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 7b38343..42df784 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -72,9 +72,15 @@
import ChPyNetSendPack
import NetPackCommon
import AuctionHouse
+import PlayerFairyDomain
+import GameWorldSkyTower
+import GameWorldArena
+import GameWorldItem
+import PlayerAssist
import time
import datetime
+import json
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
@@ -329,16 +335,25 @@
SyncPlayerCrossMapNPCInfo(curPlayer, mapID, npcIDList, mapNPCInfoDict)
return
+ serverGroupID = GameWorld.GetServerGroupID()
+ zoneIpyData = CrossRealmPlayer.GetCrossZoneIpyDataByServerGroupID(mapID, serverGroupID)
+ if not zoneIpyData:
+ return
+ zoneID = zoneIpyData.GetZoneID()
+
# 本服缓存超时,发送跨服服务器查询
playerID = curPlayer.GetPlayerID()
- CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, {"PlayerID":playerID, "MapID":mapID, "NPCIDList":npcIDList})
+ dataMsg = {"PlayerID":playerID, "ZoneID":zoneID, "MapID":mapID, "NPCIDList":npcIDList}
+ CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, dataMsg)
return
def ClientServerMsg_QueryNPCInfo(serverGroupID, msgData):
## 收到子服请求查看跨服地图NPC个数信息
+ zoneID = msgData["ZoneID"]
mapID = msgData["MapID"]
- zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(mapID, serverGroupID)
+
+ zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(zoneID, mapID)
if not zoneIpyData:
return
realMapID = zoneIpyData.GetMapID()
@@ -491,6 +506,11 @@
if callName == "SendMailBatch":
PlayerCompensation.SendPersonalItemMailBatch(eval(resultName))
+ return
+
+ if callName == "SendEntireMail":
+ mailTypeKey, getDays, limitLV, limitLVType, addItemList, paramList, gold, goldPaper, silver, detail, moneySource = eval(resultName)
+ PlayerCompensation.SendEntireMail(mailTypeKey, getDays, limitLV, limitLVType, addItemList, paramList, gold, goldPaper, silver, detail, moneySource)
return
if callName == "SendMsgToCrossServer":
@@ -703,6 +723,11 @@
GameWorldProcess.UpdGlobalKillCount(eval(resultName))
return
+ # 缓存装备广播信息中的装备明细信息
+ if callName == "NotifyEquipDetailInfo":
+ GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick)
+ return
+
#生成仙盟红包
if callName == "MapServer_CreatRedPacket":
PlayerFamilyRedPacket.MapServer_CreatRedPacket(eval(resultName))
@@ -762,15 +787,25 @@
AuctionHouse.MapServer_AuctionHouseLogic(curPlayer, eval(resultName), tick)
return
+ # 协助
+ if callName == "PlayerAssist":
+ curPlayer = None
+ if srcPlayerID:
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+ if not curPlayer:
+ return
+ PlayerAssist.MapServer_PlayerAssistLogic(curPlayer, eval(resultName), tick)
+ return
+
if callName == "TeamMemFuncData":
PlayerTeam.MapServer_TeamMemFuncData(srcPlayerID, eval(resultName))
return
- #封魔坛结束
- if callName == "SealDemonOver":
- playerID, lineID, rank = eval(resultName)
- PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank)
- return
+# #封魔坛结束
+# if callName == "SealDemonOver":
+# playerID, lineID, rank = eval(resultName)
+# PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank)
+# return
#查询副本功能线路人数
if callName == "FBLinePlayerCnt":
@@ -829,6 +864,10 @@
#骑宠BOSS结束
if callName =="HorsePetBossOver":
PlayerHorsePetBoss.HorsePetBossKilled(int(resultName))
+ return
+ #缥缈仙域事件出现
+ if callName =="AddFairyDomainEvent":
+ PlayerFairyDomain.AddFairyDomainEvent(eval(resultName))
return
#---return分割线-----------------------------------------------------------------
@@ -895,6 +934,21 @@
if ret == None:
return
resultName = '%s' % ret
+
+ # 竞技场
+ if callName =="Arena":
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+ if not curPlayer:
+ return
+ ret = GameWorldArena.MapServer_Arena(curPlayer, eval(resultName))
+ resultName = '%s' % ret if ret != None else '' # 需要重置间隔,每次都回复
+
+ # 天星塔
+ if callName == "SkyTower":
+ ret = GameWorldSkyTower.MapServer_SkyTowerInfo(eval(resultName))
+ if ret == None:
+ return
+ resultName = '%s' % ret
# # 战盟仓库
# if callName == "FamilyStore":
--
Gitblit v1.8.0