From c28653c492d97956946b6017e7439e6736425524 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期五, 23 十一月 2018 21:00:09 +0800 Subject: [PATCH] 4715 冰晶矿脉修改 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 66 ++++++++++++++++++++++++++++++--- 1 files changed, 60 insertions(+), 6 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py index 84656ef..219378c 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,26 @@ 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)) + if ret == None: + resultName = '' + else: + resultName = '%s' % ret + #玩家等级奖励 if callName == "GetPlayerLVAward": curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) -- Gitblit v1.8.0