9415 【BT】【后端】古神战场(修复周参与榜结算奖励某些名次多结算神玉奖励bug; 每天过天时增加记录跨服榜单数据流向)
# Conflicts:
# ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
| | |
| | |
|
| | | # 结算时排序并保存榜单数据流向
|
| | | billboardObj.SortData()
|
| | | billboardObj.SaveDRData()
|
| | |
|
| | | GameWorld.Log("结算跨服充值排行奖励: billboardType=%s,cfgID=%s,dbTemplateID=%s,billboardDataCount=%s"
|
| | | % (billboardType, cfgID, dbTemplateID, billboardDataCount))
|
| | |
| | | playerID = billboardData.ID
|
| | | cmpValue = billboardData.CmpValue
|
| | | rank = i + 1
|
| | | awardItemList = GameWorld.GetOrderValueByDict(awardDict, rank, False, [])
|
| | | awardItemList = []
|
| | | rankAwardItemList = GameWorld.GetOrderValueByDict(awardDict, rank, False, [])
|
| | | if rankAwardItemList:
|
| | | awardItemList.append(rankAwardItemList)
|
| | | paramList = [rank]
|
| | | if billboardType == ShareDefine.Def_CBT_BattlefieldWJoin and enterWeekMoneyItemID:
|
| | | moneyBaseCount, multiValue = GameWorld.GetOrderValueByDict(enterWeekMoneyMultiIntDict, rank, False, [0, 0]) # 奖励货币倍值
|
| | | #基础保底值(不同名次可能不一样) + 名次倍率*次数
|
| | | awardMoneyCount = int(moneyBaseCount + multiValue * cmpValue)
|
| | | awardItemList.append([enterWeekMoneyItemID, awardMoneyCount, 0])
|
| | | GameWorld.Log(" billboardType=%s,rank=%s,playerID=%s,cmpValue=%s,awardItemList=%s" |
| | | % (billboardType, rank, playerID, cmpValue, awardItemList))
|
| | | if awardItemList:
|
| | | PlayerCompensation.SendMailByKey(mailKey, [playerID], awardItemList, paramList, crossMail=True)
|
| | |
|
| | |
| | | def ClearData(self):
|
| | | GameWorld.Log("CrossBillboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s"
|
| | | % (self.__billboardType, self.__groupValue1, self.__groupValue2))
|
| | | if GameWorld.IsCrossServer():
|
| | | self.SaveDRData()
|
| | | self.__billboardList = [] # [tagDBCrossBillboard, ...]
|
| | | self.__idOrderDict = {} # {id:名次, ...}
|
| | |
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def CopyBillboardOnDay():
|
| | | billboardMgr = PyDataManager.GetCrossBillboardManager()
|
| | | for billboardType in ShareDefine.CrossBillboardTypeList:
|
| | | groupList = billboardMgr.GetBillboardGroupList(billboardType)
|
| | | for billboardType, groupValue1, groupValue2 in groupList:
|
| | | billboardObj = billboardMgr.GetCrossBillboard(billboardType, groupValue1, groupValue2)
|
| | | billboardObj.SaveDRData()
|
| | | return
|
| | |
|
| | | #// C0 04 查看跨服排行榜 #tagCGViewCrossBillboard
|
| | | #
|
| | | #struct tagCGViewCrossBillboard
|