| | |
| | | GameWorld.DebugAnswer(curPlayer, errInfo)
|
| | | GameWorld.DebugAnswer(curPlayer, "新增榜单假数据: Billboard 类型 分组值1 分组值2 条数 比较值1可选参数(比较值2 常规值1~5)")
|
| | | GameWorld.DebugAnswer(curPlayer, "删除榜单假数据: Billboard 类型 分组值1 分组值2")
|
| | | GameWorld.DebugAnswer(curPlayer, "输出排行榜数据: Billboard p 类型 分组值1 分组值2")
|
| | | GameWorld.DebugAnswer(curPlayer, "输出排行榜数据: Billboard p 类型 [分组值1 值2 从x名 到x名]")
|
| | | GameWorld.DebugAnswer(curPlayer, "注:如果没有特殊说明,本服榜单分组值均为0,跨服榜单分组值1为分区ID,分组2为0")
|
| | |
|
| | | nameTypeList = ShareDefine.BillboardNameDict.keys()
|
| | | nameTypeList.sort()
|
| | | for billboardType in nameTypeList:
|
| | | bName = ShareDefine.BillboardNameDict[billboardType]
|
| | | for billboardType in ShareDefine.BillboardTypeAllList:
|
| | | bName = ShareDefine.BillboardNameDict.get(billboardType, billboardType)
|
| | | GameWorld.DebugAnswer(curPlayer, "(%s) %s" % (billboardType, bName))
|
| | |
|
| | | return
|
| | |
| | | billboardObj = billboardMgr.GetBillboard(billboardType, groupValue1, groupValue2)
|
| | | curDataCount = billboardObj.GetCount()
|
| | | maxDataCount = billboardObj.GetMaxCount()
|
| | | |
| | | isLayerMode = billboardObj.IsOrderRuleByLayer()
|
| | | if isLayerMode:
|
| | | cmpValue1 = min(cmpValue1, maxDataCount)
|
| | | count = min(count, maxDataCount - curDataCount)
|
| | | FakeName = GameWorld.GbkToCode("主公")
|
| | |
|
| | |
| | | name1 = dataPlayerName
|
| | | cmpValue = dataCmpValue1
|
| | | cmpValue2 = dataCmpValue2
|
| | | PlayerBillboard.UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, |
| | | cmpValue, cmpValue2, cmpValue3, groupValue2, id2, False, |
| | | value3=value3, value4=value4, value5=value5)
|
| | | if isLayerMode:
|
| | | PlayerBillboard.UpdateBillboardLayer(dataID, billboardType, cmpValue, groupValue1, False)
|
| | | else:
|
| | | PlayerBillboard.UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, |
| | | cmpValue, cmpValue2, cmpValue3, groupValue2, id2, False, |
| | | value3=value3, value4=value4, value5=value5)
|
| | |
|
| | | billboardObj.SortData()
|
| | |
|
| | |
| | | return
|
| | |
|
| | | def __GetBillTypeSign(billboardType, groupValue1, groupValue2):
|
| | | billTypeSign = "Type:%s" % billboardType
|
| | | billTypeSign = "%s" % billboardType
|
| | | if groupValue1:
|
| | | billTypeSign = "%s-%s" % (billTypeSign, groupValue1)
|
| | | if groupValue2:
|
| | |
| | | return billTypeSign
|
| | |
|
| | | def __logFackData(curPlayer, gmList):
|
| | | ## 输出排行榜数据: Billboard p 类型 分组值1 分组值2
|
| | | ## 输出排行榜数据: Billboard p 类型 分组值1 分组值2 名次A 到B
|
| | | if len(gmList) <= 1:
|
| | | GameWorld.DebugAnswer(curPlayer, "榜单数据条数总览")
|
| | | billboardMgr = DBDataMgr.GetBillboardMgr()
|
| | |
| | | maxDataCount = billboardObj.GetMaxCount()
|
| | | if not curDataCount:
|
| | | continue
|
| | | bName = ShareDefine.BillboardNameDict.get(bType, bType)
|
| | | billTypeSign = __GetBillTypeSign(bType, groupValue1, groupValue2)
|
| | | GameWorld.DebugAnswer(curPlayer, "榜单数据(%s)条数: %s/%s" % (billTypeSign, curDataCount, maxDataCount))
|
| | | GameWorld.DebugAnswer(curPlayer, "%s(%s)条数: %s/%s" % (bName, billTypeSign, curDataCount, maxDataCount))
|
| | | return
|
| | |
|
| | | billboardType = gmList[1]
|
| | | groupValue1 = gmList[2] if len(gmList) > 2 else 0
|
| | | groupValue2 = gmList[3] if len(gmList) > 3 else 0
|
| | | fromRank = gmList[4] if len(gmList) > 4 else 0
|
| | | toRank = gmList[5] if len(gmList) > 5 else 0
|
| | | billboardMgr = DBDataMgr.GetBillboardMgr()
|
| | | billboardObj = billboardMgr.GetBillboard(billboardType, groupValue1, groupValue2)
|
| | | billboardObj.SortDelayDo()
|
| | |
| | | maxDataCount = billboardObj.GetMaxCount()
|
| | | idOrderDict = billboardObj.GetIDOrderDict()
|
| | |
|
| | | printDebugCnt = 0
|
| | | billTypeSign = __GetBillTypeSign(billboardType, groupValue1, groupValue2)
|
| | | GameWorld.DebugAnswer(curPlayer, "榜单数据(%s)条数: %s/%s 详见日志" % (billTypeSign, curDataCount, maxDataCount))
|
| | | bName = ShareDefine.BillboardNameDict.get(billboardType, billboardType)
|
| | | GameWorld.DebugAnswer(curPlayer, "%s(%s)条数: %s/%s 详见日志" % (bName, billTypeSign, curDataCount, maxDataCount))
|
| | | for index in range(curDataCount):
|
| | | bbData = billboardObj.At(index)
|
| | | dataID = bbData.GetID()
|
| | | rank = idOrderDict.get(dataID, 0)
|
| | | if (fromRank and rank < fromRank) or (toRank and rank > toRank):
|
| | | continue
|
| | |
|
| | | cmpValues = [bbData.GetCmpValue(), bbData.GetCmpValue2(), bbData.GetCmpValue3()]
|
| | | valueList = [getattr(bbData, "GetValue%s" % num)() for num in range(1, 9)]
|
| | | GameWorld.DebugLog("%s,rank=%s,ID=%s,CmpValue=%s,CmpValue2=%s,Value=%s" |
| | | % (index, rank, dataID, bbData.GetCmpValue(), bbData.GetCmpValue2(), valueList), curPlayer.GetPlayerID())
|
| | | if printDebugCnt < 20:
|
| | | printDebugCnt += 1
|
| | | GameWorld.DebugAnswer(curPlayer, "名次:%s,ID:%s,榜值:%s" % (rank, dataID, cmpValues))
|
| | | GameWorld.DebugLog("%s,rank=%s,ID=%s,CmpValues=%s,Value=%s" |
| | | % (index, rank, dataID, cmpValues, valueList), curPlayer.GetPlayerID())
|
| | |
|
| | | return
|
| | |
|