From f089bf39d557fc228f7bd3b2eb8c85c7b402e7dc Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 02 十一月 2018 18:40:13 +0800
Subject: [PATCH] 4575 脱机挂测试
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 63 ++++++++++++++++++++++++++++---
1 files changed, 57 insertions(+), 6 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 84656ef..e79356d 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -72,6 +72,7 @@
import PyDataManager
import PyGameData
import PlayerTalk
+import PlayerStore
import time
import datetime
@@ -256,6 +257,10 @@
elif queryType == ChConfig.queryType_NPCInfo:
__QueryMapNPCInfo(curPlayer, queryCallName, sendCMD)
return
+ # 查询地图NPC数量
+ elif queryType == ChConfig.queryType_NPCCnt:
+ __QueryMapNPCCntInfo(curPlayer, queryCallName, sendCMD)
+ return
else:
GameWorld.ErrLog('unKnow queryType = %s' % (queryType))
@@ -290,6 +295,26 @@
queryCallName, sendCMD, len(sendCMD), curPlayer.GetRouteServerIndex())
return
+## 查询目标地图NPC数量
+# @param curPlayer: 请求玩家
+# @param queryCallName: 请求回调名
+# @param sendCMD: 请求的命令 根据请求类型和请求命令来决定最终操作
+# @return None
+def __QueryMapNPCCntInfo(curPlayer, queryCallName, sendCMD):
+ playerManager = GameWorld.GetPlayerManager()
+ try:
+ mapInfo = eval(sendCMD)
+ except BaseException:
+ GameWorld.ErrLog("__QueryMapNPCCntInfo() sendCMD=%s error" % sendCMD)
+ return
+
+ if not mapInfo:
+ return
+
+ tagMapID = mapInfo[0]
+ playerManager.MapServer_QueryPlayer(curPlayer.GetPlayerID(), ChConfig.queryType_NPCCnt, 0, tagMapID,
+ queryCallName, sendCMD, len(sendCMD), curPlayer.GetRouteServerIndex())
+ return
## 获得家族属性(等级,人数)获得自己所在家族的属性
# @param curPlayer 请求的玩家
@@ -389,14 +414,14 @@
callName = pack.GetCallName()
resultName = pack.GetResultName() #[queryid, 人气值, 物品ID]
- if callName == 'SendMail':
- title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver = eval(resultName)
+ if callName == "SendMail":
+ title, content, getDays, playerIDList, addItemList, gold, goldPaper, silver, detail = eval(resultName)
limitTime = str(GameWorld.GetDatetimeByDiffDays(getDays))
limitTime = limitTime.split(".")[0]
- PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver)
+ PlayerCompensation.SendPersonalItemMail(title, content, limitTime, playerIDList, addItemList, gold, goldPaper, silver, detail=detail)
return
- if callName == 'SendMailBatch':
+ if callName == "SendMailBatch":
PlayerCompensation.SendPersonalItemMailBatch(eval(resultName))
return
@@ -594,7 +619,17 @@
# 世界boss状态
if callName =="GameWorldBossState":
- GameWorldBoss.DoGameWorldBossOnReborn(eval(resultName), tick)
+ GameWorldBoss.OnGameWorldBossStateChange(eval(resultName), tick)
+ return
+
+ # 仙盟归属boss信息同步
+ if callName =="FamilyOwnerBossInfo":
+ GameWorldBoss.MapServer_FamilyOwnerBossInfo(eval(resultName))
+ return
+
+ # 骑宠争夺伤血玩家同步
+ if callName =="HorsePetRobBossHurtPlayer":
+ GameWorldBoss.MapServer_HorsePetRobBossHurtPlayer(eval(resultName))
return
# 全局掉落CD
@@ -604,6 +639,10 @@
# 全局击杀数换算掉落概率
if callName =="GlobalDropRate":
GameWorldProcess.UpdGlobalDropRate(eval(resultName))
+ return
+ # 全局击杀数统计
+ if callName =="GlobalKillCount":
+ GameWorldProcess.UpdGlobalKillCount(eval(resultName))
return
# 自定义商店全服限购次数清空
@@ -727,11 +766,23 @@
if callName =="AddBossRebornPoint":
GameWorldBoss.AddBossRebornPoint(eval(resultName))
return
-
+ #通知神兽副本NPC刷新时间
+ if callName =="DogzNPCTime":
+ PyGameData.g_dogzNPCRefreshTimeDict = eval(resultName)
+ GameWorldBoss.Sync_DogzNPCRefreshTime()
+ return
#---return分割线-----------------------------------------------------------------
#---有可能return-----------------------------------------------------------------
+ #商城全服购买限制
+ if callName == "GetStoreServerBuyCnt":
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
+ if not curPlayer:
+ return
+ ret = PlayerStore.DoStoreServerBuyQueryResult(curPlayer, eval(resultName))
+ resultName = '%s' % ret
+
#玩家等级奖励
if callName == "GetPlayerLVAward":
curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
--
Gitblit v1.8.0