| | |
| | |
|
| | | def DoBillboardOpen(curPlayer):
|
| | | ## 排行榜开启时需要处理的
|
| | | UpdatePlayerBillboardOnLeaveServer(curPlayer, True) # 主动同步一次榜单
|
| | | OpenServerCampaign.DoBillboardOpen(curPlayer) # 同步开服活动榜单
|
| | | #UpdatePlayerBillboardOnLeaveServer(curPlayer, True) # 主动同步一次榜单
|
| | | #OpenServerCampaign.DoBillboardOpen(curPlayer) # 同步开服活动榜单
|
| | | return
|
| | |
|
| | | def BillboardOnLogin(curPlayer):
|
| | |
| | |
|
| | | def UpdatePyPetBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
|
| | | ## 更新宠物排行榜
|
| | | petMaxAtk = PlayerControl.GetPetMaxAtk(curPlayer)
|
| | | if not petMaxAtk:
|
| | | return
|
| | | UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Pet, petMaxAtk) |
| | | |
| | | if isUpdateTotal:
|
| | | UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate)
|
| | | return
|
| | | # petMaxAtk = PlayerControl.GetPetMaxAtk(curPlayer)
|
| | | # if not petMaxAtk:
|
| | | # return
|
| | | # UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Pet, petMaxAtk) |
| | | # |
| | | # if isUpdateTotal:
|
| | | # UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate)
|
| | | # return
|
| | |
|
| | | def UpdatePlayerLVBillboard(curPlayer, isForceUpdate=True):
|
| | | ##更新玩家等级排行榜
|
| | |
| | |
|
| | | def UpdateRuneTowerBillboard(curPlayer):
|
| | | ##更新玩家符印塔排行榜
|
| | | passLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
|
| | | if not passLV:
|
| | | return
|
| | | UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_TrialTower, passLV) |
| | | return
|
| | |
|
| | | def UpdateRealmBillboard(curPlayer):
|
| | |
| | | ## 玩家可否上榜通用检查
|
| | | if not GameWorld.IsNormalPlayer(curPlayer):
|
| | | return False
|
| | | if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Billboard):
|
| | | GameWorld.DebugLog("排行榜未开启,无法上榜!curLV=%s" % (curPlayer.GetLV()), curPlayer.GetPlayerID())
|
| | | return False
|
| | | #if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Billboard):
|
| | | # GameWorld.DebugLog("排行榜未开启,无法上榜!curLV=%s" % (curPlayer.GetLV()), curPlayer.GetPlayerID())
|
| | | # return False
|
| | |
|
| | | return True
|
| | |
|
| | |
| | |
|
| | | def UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue,
|
| | | cmpValue2=0, cmpValue3=0, groupValue2=0, id2=0, autoSort=True, **kwargs):
|
| | | ''' 更新跨服排行榜
|
| | | ''' 更新排行榜
|
| | | @param billboardType: 排行榜索引类型,同个榜单类型可以有多个分组榜单数据,独立排序
|
| | | @param groupValue1: 榜单分组1
|
| | | @param dataID: 榜单唯一数据ID,如玩家ID等
|
| | |
| | | billboardData = lastBillBoardData
|
| | | billboardData.Clear()
|
| | | else:
|
| | | billboardData = billboardObj.AddNewBillboardData()
|
| | | billboardData = billboardObj.AddNewBillboardData(dataID)
|
| | | if not billboardData:
|
| | | return
|
| | |
|
| | |
| | | billboardData.SetCmpValue2(cmpValue2)
|
| | | billboardData.SetCmpValue3(cmpValue3)
|
| | |
|
| | | GameWorld.DebugLog("更新跨服排行榜值: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,isNewData=%s,cmpValueChange=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s,%s" |
| | | GameWorld.DebugLog("更新排行榜值: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,isNewData=%s,cmpValueChange=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s,%s" |
| | | % (billboardType, groupValue1, groupValue2, dataID, isNewData, cmpValueChange,
|
| | | type2, value1, value2, cmpValue, cmpValue2, cmpValue3, kwargs), dataID)
|
| | | if not autoSort:
|