From 72e0425552abdbcc2fffbb8e9575e21dbda469a2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:03:29 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(修复周参与榜结算奖励某些名次多结算神玉奖励bug; 每天过天时增加记录跨服榜单数据流向)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 84 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 77 insertions(+), 7 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 5f7136e..4d45f72 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -34,6 +34,7 @@
import ChConfig
import GMCommon
import DirtyList
+import CrossBillboard
import PlayerBillboard
import PlayerExam
import PlayerControl
@@ -69,13 +70,20 @@
import CrossRealmPlayer
import CrossRealmMsg
import CrossRealmPK
+import CrossBattlefield
import ChPyNetSendPack
import NetPackCommon
import AuctionHouse
import PlayerFairyDomain
+import GameWorldSkyTower
+import GameWorldArena
+import GameWorldItem
+import PlayerAssist
+import PlayerLove
import time
import datetime
+import json
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
@@ -492,15 +500,28 @@
callName = pack.GetCallName()
resultName = pack.GetResultName() #[queryid, 人气值, 物品ID]
+ if callName == "PlayerRealLoginOK":
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+ if not curPlayer:
+ return
+ loginMsg = eval(resultName)
+ ChPlayer.DoPlayerRealLoginOK(curPlayer, loginMsg, tick)
+ return
+
if callName == "SendMail":
- title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail, moneySource = eval(resultName)
+ title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail, moneySource, crossMail = eval(resultName)
limitTime = str(GameWorld.GetDatetimeByDiffDays(getDays))
limitTime = limitTime.split(".")[0]
- PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail, moneySource=moneySource)
+ PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail, moneySource=moneySource, crossMail=crossMail)
return
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":
@@ -538,6 +559,10 @@
if callName == "UpdateBillboard": #地图服务器更新排行榜
PlayerBillboard.MapServer_UpdateBillboard(eval(resultName), tick)
+ return
+
+ if callName == "UpdateCrossBillboard": #地图服务器更新跨服排行榜
+ CrossBillboard.MapServer_UpdateCrossBillboard(eval(resultName))
return
if callName == 'PyAddFamilyInfoValue': #地图服务器增加战盟信息值
@@ -623,6 +648,11 @@
#跨服注册结果
if callName == "CrossRealmReg":
CrossRealmPlayer.OnCrossRealmRegOK(srcPlayerID, eval(resultName), tick)
+ return
+
+ # 跨服战场结算
+ if callName =="CrossBattlefieldOver":
+ CrossBattlefield.MapServer_CrossBattlefieldOver(eval(resultName))
return
#py喇叭聊天
@@ -713,6 +743,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))
@@ -772,15 +807,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":
@@ -909,6 +954,31 @@
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 =="Love":
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+ if not curPlayer:
+ return
+ ret = PlayerLove.MapServer_Love(curPlayer, eval(resultName))
+ if ret == None:
+ return
+ resultName = '%s' % ret
+
+ # 天星塔
+ if callName == "SkyTower":
+ ret = GameWorldSkyTower.MapServer_SkyTowerInfo(eval(resultName))
+ if ret == None:
+ return
+ resultName = '%s' % ret
# # 战盟仓库
# if callName == "FamilyStore":
--
Gitblit v1.8.0