hxp
2019-02-13 5685e4d493ef5b7570bc20b6037fc2c8603cab85
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -19,10 +19,7 @@
import GameWorld
import ChConfig
import PlayerControl
import ReadChConfig
import OpenServerCampaign
import MixServerCampaign
import PlayerSuccess
import GameFuncComm
import EventReport
@@ -205,43 +202,6 @@
def BillboardOnLogin(curPlayer):
    # 上线默认同步排行榜
    UpdatePlayerBillboardOnLeaveServer(curPlayer) #排行榜已实时更新,故上线不再同步
    curSign = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ClearBillboardSign)
    playerSign = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ReUpdBillboardSign)
    if playerSign == curSign:
        GameWorld.DebugLog("玩家登录检查是否重新同步排行榜!标记相同不同步curSign=%s" % curSign)
        return
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ReUpdBillboardSign, curSign)
    GameWorld.DebugLog("玩家登录重新同步排行榜!更新同步标记lastSign=%s,curSign=%s" % (playerSign, curSign))
    # 如果是合服充值活动记录时机,则同步一次排行榜
    mixServerRechargeType = ShareDefine.Def_MixCampaign_Type_RechargeRank
    if MixServerCampaign.IsNeedSaveMixServerCampaignRecordData(mixServerRechargeType):
        mixRecordDataType = ShareDefine.Def_MixCampaign_Type_RechargeCnt
        mixRecordDataKey = ChConfig.Def_PDict_MixServerCampaign_RecordData % mixRecordDataType
        mixRecordData = curPlayer.NomalDictGetProperty(mixRecordDataKey, 0, ChConfig.Def_PDictType_OpenServerCampaign)
        UpdateMixServerRechargeRankBillboard(curPlayer, mixRecordData)
    else:
        GameWorld.DebugLog("非合服充值活动记录时机,不同步!")
    # 特惠充值排行
    gameWorld = GameWorld.GetGameWorld()
    actionNumKey = ShareDefine.Def_Notify_WorldKey_DayAction_RechargeRank
    actionNum = gameWorld.GetGameWorldDictByKey(actionNumKey)
    if actionNum:
        curTotalGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TeHui_RechargeRankTotalGold, 0,
                                                      ChConfig.Def_PDictType_TeHuiAction)
        curTotalGold = max(curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TeHui_RechargeRankTotalGoldEx, 0,
                                                          ChConfig.Def_PDictType_TeHuiAction), curTotalGold)
        actionID = gameWorld.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_DayAction_ID % actionNumKey)
        UpdateRechargeRankBillboard(curPlayer, actionID, actionNum, curTotalGold)
    else:
        GameWorld.DebugLog("非特惠充值排行活动时机,不同步!")
    GameWorld.DebugLog("玩家登录重新同步排行榜!OK!")
    return
##合服首次上线强制更新一次排行榜
@@ -324,33 +284,6 @@
    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'UpdCostRankBillboard', \
            sendMsg, len(sendMsg))
    return
## 更新合服累计充值活动排行榜
#  @param playerID: 玩家ID
#  @return:
def UpdateMixServerRechargeRankBillboard(curPlayer, value):
#    if GameWorld.IsGM(curPlayer):
#        #GM不上榜
#        return
    mixServerRechargeBillLimit = ReadChConfig.GetEvalChConfig("MixServerRechargeBillLimit")
    GameWorld.DebugLog("    更新合服累计充值活动排行榜 value=%s,limit=%s"
                       % (value, mixServerRechargeBillLimit), curPlayer.GetPlayerID())
    # 未达到上榜条件
    if value < mixServerRechargeBillLimit:
        return
    #排行榜需要数据[玩家ID, 玩家名字, 玩家职业, 击杀数]
    playerID = curPlayer.GetID()
    playerName = curPlayer.GetName()
    playerOpInfo = curPlayer.GetOperateInfo()
    playerJob = curPlayer.GetJob()
    fightPower = curPlayer.GetFightPower()
    familyName = curPlayer.GetFamilyName()
    sendMsg = '%s' % ([playerID, playerName, playerOpInfo, playerJob, fightPower, familyName, value])
    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'UpdMSRechargeRankBillboard', \
            sendMsg, len(sendMsg))
    return
    
##更新玩家充值排行榜
# @param curPlayer 玩家实例
@@ -374,21 +307,3 @@
            sendMsg, len(sendMsg))
    return
## 更新合服战盟击杀boss活动排行榜
#  @param playerID: 玩家ID
#  @return:
def UpdateMixServerFamilyKillBossBillboard(curPlayer, value):
    familyID = curPlayer.GetFamilyID()
    if not familyID:
        return
    #排行榜需要数据[玩家ID]
    playerID = curPlayer.GetID()
#    playerName = curPlayer.GetName()
#    playerOpInfo = curPlayer.GetOperateInfo()
#    playerJob = curPlayer.GetJob()
#    fightPower = curPlayer.GetFightPower()
#    familyName = curPlayer.GetFamilyName()
    sendMsg = '%s' % ([value])
    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(playerID, 0, 0, 'UpdMSFamilyKillBossBillboard', \
            sendMsg, len(sendMsg))
    return