xdh
2018-10-25 6366979426fccd97c0cb0bd384ada3a8b9843a24
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)