hxp
2025-12-04 9c5f7ba286ee8fa87f9e348624fee2127b3fe85a
369 【活动内容】开服冲榜-服务端
11个文件已修改
1个文件已添加
242 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerDay.py 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ServerDay.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/test_OnDay.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerActivity.py 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3084,7 +3084,6 @@
Def_PlayerKey_Frist_Lock = "Frist_Lock"  # 是否接受了任务1
Def_PlayerKey_TaskExpRewardMultiple = "TaskExpRewardMultiple"  # 任务经验奖励倍值
Def_PlayerKey_BuyItemCnt = "BuyItemCnt"  # 购买物品数量
Def_PlayerKey_QueryOpenServerAwardState = "QueryOpenServerAwardState"  # 查询开服奖励状态
Def_PlayerKey_QueryMarkIdCardIndex = 'QueryMarkIdCardIndex'  # 指定账号生成卡类型
Def_PlayerKey_QueryNewGuyCardType = 'QueryNewGuyCardType'  # 查询的新手卡类型
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py
@@ -26,7 +26,7 @@
        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()
@@ -137,7 +137,7 @@
    return
def __GetBillTypeSign(billboardType, groupValue1, groupValue2):
    billTypeSign = "Type:%s" % billboardType
    billTypeSign = "%s" % billboardType
    if groupValue1:
        billTypeSign = "%s-%s" % (billTypeSign, groupValue1)
    if groupValue2:
@@ -145,7 +145,7 @@
    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()
@@ -164,6 +164,8 @@
    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()
@@ -171,16 +173,24 @@
    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[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
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerDay.py
@@ -15,40 +15,9 @@
#"""Version = 2025-05-15 10:35"""
#-------------------------------------------------------------------------------
import GameWorld
import ShareDefine
import GameWorldEvent
import PlayerSignDay
import DBDataMgr
import ChPlayer
import ServerDay
import time
#---------------------------------------------------------------------
## 执行逻辑
#  @param curPlayer 当前玩家
#  @param cmdList 参数
#  @return None
#  @remarks 函数详细说明.
def OnExec(curPlayer, cmdList):
    #重置开服天,设置非合服
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_ServerWeek, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_ServerDay, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_IsMixServer, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_MixServerDay, 0)
    curTime = int(time.time())
    GameWorldEvent.SetInitOpenServerTime(curTime)
    if curPlayer:
        ChPlayer.Sync_OpenServerDay(curPlayer)
        ServerDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
        IsMixServer = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_IsMixServer)
        MixDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_MixServerDay) + 1
        OpenWeekday = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_OpenServerWeekday)
        GameWorld.DebugAnswer(curPlayer, '开服星期%s, 天数:%s 是否合服:%s, 合服天数:%s' % (OpenWeekday, ServerDay, IsMixServer, MixDay))
        PlayerSignDay.ResetDaySign(curPlayer)
    # 暂时同步GameServer,之后可去除
    ServerDay.OnExec(curPlayer, [1])
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ServerDay.py
@@ -60,6 +60,7 @@
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_ServerDay, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_IsMixServer, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_MixServerDay, 0)
    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_OSAAwardState, 0)
    
    curTime = int(time.time())
    GameWorldEvent.SetInitOpenServerTime(curTime)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/test_OnDay.py
@@ -18,10 +18,12 @@
import GameWorld
import PlayerEventCounter
import GameWorldEvent
import ServerDay
def OnExec(curPlayer, gmList):
    __DoExec(GameWorld.GetGameWorld().GetTick())
    
    ServerDay.__printServerDay(curPlayer)
    # 暂时同步GameServer,之后可去除
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -29,6 +29,7 @@
import PlayerControl
import FunctionNPCCommon
import PlayerActBuyCountGift
import OpenServerActivity
import PlayerActLoginNew
import PlayerActTask
import ItemControler
@@ -45,6 +46,8 @@
                     ShareDefine.GameFuncID_Shop:lambda curObj:FunctionNPCCommon.DoShopOpen(curObj),
                     ShareDefine.GameFuncID_Horse:lambda curObj:PlayerHorse.DoHorseOpen(curObj),
                     ShareDefine.GameFuncID_Travel:lambda curObj:PlayerTravel.DoTravelOpen(curObj),
                     ShareDefine.GameFuncID_OSA_MainLevel:lambda curObj:OpenServerActivity.DoOSA_MainLevel(curObj),
                     ShareDefine.GameFuncID_OSA_HeroCall:lambda curObj:OpenServerActivity.DoOSA_HeroCall(curObj),
                     }
def GetFuncOpenLVIpyData(funcID): return IpyGameDataPY.GetIpyGameData("FuncOpenLV", funcID)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerActivity.py
New file
@@ -0,0 +1,99 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Player.OpenServerActivity
#
# @todo:开服活动
# @author hxp
# @date 2025-12-04
# @version 1.0
#
# 详细描述: 开服活动
#
#-------------------------------------------------------------------------------
#"""Version = 2025-12-04 16:00"""
#-------------------------------------------------------------------------------
import DBDataMgr
import ShareDefine
import GameFuncComm
import IpyGameDataPY
import PlayerBillboard
import PlayerTreasure
import PlayerControl
import GameWorld
# 开服冲榜类型对应功能ID
OSAFuncIDDict = {
                 ShareDefine.Def_BT_OSA_MainLevel:ShareDefine.GameFuncID_OSA_MainLevel,
                 ShareDefine.Def_BT_OSA_HeroCall:ShareDefine.GameFuncID_OSA_HeroCall,
                 }
def DoOSA_MainLevel(curPlayer):
    if GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_MainLevel) != 1:
        return
    lvID = PlayerControl.GetPassMainLevelID(curPlayer)
    GameWorld.DebugLog("开服关卡榜开启更新榜单: lvID=%s" % lvID, curPlayer.GetPlayerID())
    PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_MainLevel, lvID)
    return
def DoOSA_HeroCall(curPlayer):
    if GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_HeroCall) != 1:
        return
    callCnt = PlayerTreasure.GetHeroCallCnt(curPlayer)
    GameWorld.DebugLog("开服招募榜开启更新榜单: callCnt=%s" % callCnt, curPlayer.GetPlayerID())
    PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_HeroCall, callCnt)
    return
def GetOSAState(curPlayer, osaType):
    ## 玩家是否在开服冲榜活动中
    # @return: 0-未开启;1-活动中;2-结束显示期;3-结束关闭期
    funcID = OSAFuncIDDict.get(osaType)
    if not funcID:
        return 0
    if not GameFuncComm.GetFuncCanUse(curPlayer, funcID):
        #GameWorld.DebugLog("开服冲榜功能未开启! osaType=%s,funcID=%s" % (osaType, funcID))
        return 0
    osaDayDict = IpyGameDataPY.GetFuncEvalCfg("OSABillboard", 1, {})
    startDay, endDay = osaDayDict.get(str(osaType), [0, 0])
    serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
    if startDay <= serverDay <= endDay:
        #GameWorld.DebugLog("开服冲榜活动中! osaType=%s,serverDay=%s,startDay=%s,endDay=%s" % (osaType, serverDay, startDay, endDay))
        return 1
    if serverDay == (endDay + 1):
        #GameWorld.DebugLog("开服冲榜结算中! osaType=%s,serverDay=%s,startDay=%s,endDay=%s" % (osaType, serverDay, startDay, endDay))
        return 2
    #GameWorld.DebugLog("开服冲榜已结束! osaType=%s,serverDay=%s,startDay=%s,endDay=%s" % (osaType, serverDay, startDay, endDay))
    return 3
def OnDay():
    osaAwardState = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_OSAAwardState)
    serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
    osaDayDict = IpyGameDataPY.GetFuncEvalCfg("OSABillboard", 1, {})
    for osaType, dayRange in osaDayDict.items():
        osaType = int(osaType)
        startDay, endDay = dayRange
        if startDay > endDay:
            continue
        if serverDay <= endDay:
            #GameWorld.DebugLog("开服冲榜未开始或活动中的不处理: osaType=%s,serverDay=%s <= endDay(%s)" % (osaType, serverDay, endDay))
            continue
        # 结算
        if osaAwardState & pow(2, osaType):
            #GameWorld.DebugLog("开服冲榜奖励已结算过了: osaType=%s,osaAwardState=%s" % (osaType, osaAwardState))
            continue
        osaAwardState |= pow(2, osaType)
        DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_OSAAwardState, osaAwardState)
        GameWorld.DebugLog("开服冲榜奖励结算: osaType=%s,osaAwardState=%s,serverDay=%s" % (osaType, osaAwardState, serverDay))
        if osaType == ShareDefine.Def_BT_OSA_MainLevel:
            billboardAwardDict = IpyGameDataPY.GetFuncEvalCfg("OSABillboard", 2, {})
            PlayerBillboard.DoGiveBillboardAwardByMail(osaType, "OSAMainLevel", billboardAwardDict, "OSAMainLevel")
        elif osaType == ShareDefine.Def_BT_OSA_HeroCall:
            billboardAwardDict = IpyGameDataPY.GetFuncEvalCfg("OSABillboard", 3, {})
            PlayerBillboard.DoGiveBillboardAwardByMail(osaType, "OSAHeroCall", billboardAwardDict, "OSAHeroCall")
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -21,6 +21,7 @@
import ChPyNetSendPack
import NetPackCommon
import IpyGameDataPY
import PlayerMail
import DBDataMgr
import time
@@ -388,3 +389,49 @@
        clientPack.ViewIDDataList.append(viewData)
    clientPack.ViewIDDataCnt = len(clientPack.ViewIDDataList)
    return clientPack
def DoGiveBillboardAwardByMail(billboardType, funcName, billboardAwardDict, mailKey):
    ## 结算排行奖励邮件发放
    GameWorld.Log("=== %s结算排行奖励! === " % (funcName))
    if not billboardAwardDict:
        return
    orderList = [int(orderStr) for orderStr in billboardAwardDict.keys()]
    orderList.sort()
    GameWorld.Log("    奖励名次列表: %s" % orderList)
    billboardMgr = DBDataMgr.GetBillboardMgr()
    billBoard = billboardMgr.GetBillboard(ShareDefine.Def_BT_Arena)
    if not billBoard:
        return
    billBoard.SortDelayDo()
    awardOrder = orderList[0]
    orderPlayerIDDict = {}
    billboardCount, billboardMaxCount = billBoard.GetCount(), billBoard.GetMaxCount()
    GameWorld.Log("    榜单数据数: %s/%s" % (billboardCount, billboardMaxCount))
    for index in xrange(billboardCount):
        billBoardData = billBoard.At(index)
        if not billBoardData:
            continue
        order = index + 1
        if order > awardOrder:
            nextOrderIndex = orderList.index(awardOrder) + 1
            if nextOrderIndex >= len(orderList):
                break
            awardOrder = orderList[nextOrderIndex]
        playerID = billBoardData.GetID()
        if playerID < ShareDefine.RealPlayerIDStart:
            # 非真人不处理
            continue
        orderPlayerIDDict[playerID] = [order, awardOrder]
        paramList = [order]
        awardList = billboardAwardDict[str(awardOrder)]
        PlayerMail.SendMailByKey(mailKey, playerID, awardList, paramList)
    GameWorld.Log("    奖励玩家名次信息: %s" % orderPlayerIDDict)
    GameWorld.Log("===================================================")
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -48,6 +48,7 @@
import PlayerCostRebate
import PlayerActLunhuidian
import GY_Query_CrossRealmReg
import OpenServerActivity
import CrossRealmPlayer
import CrossPlayerData
import PlayerActivity
@@ -4330,6 +4331,8 @@
        PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_MainLevel, lvID)
        PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_MainLevel)
        PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_MainLevel, lvID)
        if OpenServerActivity.GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_MainLevel) == 1:
            PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_MainLevel, lvID)
    return value
def GetMainLevelPassInfo(curPlayer):
    ## 获取主线关卡过关进度信息
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -82,6 +82,7 @@
import IpyGameDataPY
import PlayerArena
import PyGameData
import OpenServerActivity
import PlayerXiangong
import PlayerBillboard
import PlayerViewCache
@@ -106,6 +107,7 @@
    #副本OnDay事件响应
    #FBLogic.OnDay(tick)
    
    OpenServerActivity.OnDay()
    #仙盟
    PlayerFamily.FamilyOnDay()
    PlayerArena.OnDay()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -26,6 +26,9 @@
import PlayerActLunhuidian
import PlayerActYunshi
import PlayerActivity
import OpenServerActivity
import PlayerBillboard
import ShareDefine
import ItemCommon
import PlayerHero
import PyGameData
@@ -53,6 +56,8 @@
TreasureType_HeroComm = 11 # 英雄招募 - 普通
TreasureType_HeroHigh = 12 # 英雄招募 - 高级
TreasureType_HeroScore = 13 # 英雄招募 - 积分
#武将招募的所有类型
TreasureType_HeroCallList = [TreasureType_HeroComm, TreasureType_HeroHigh, TreasureType_HeroScore]
def OnTreasureLogin(curPlayer):
    Sync_TreasureInfo(curPlayer)
@@ -438,8 +443,10 @@
    if addScoreType and addScore:
        PlayerControl.GiveMoney(curPlayer, addScoreType, addScore * treasureCount)
        
    if treasureType in [TreasureType_HeroComm, TreasureType_HeroHigh, TreasureType_HeroScore]:
    if treasureType in TreasureType_HeroCallList:
        PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroCall, treasureCount)
        if OpenServerActivity.GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_HeroCall) == 1:
            PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_HeroCall, GetHeroCallCnt(curPlayer))
        
    PlayerActLunhuidian.AddLunhuidianValue(curPlayer, PlayerActLunhuidian.AwardType_Treasure, treasureType, treasureCount)
    
@@ -484,6 +491,13 @@
    Sync_TreasureInfo(curPlayer, [treasureType])
    return
def GetHeroCallCnt(curPlayer):
    ## 获取武将招募总次数
    callCount = 0
    for treasureType in TreasureType_HeroCallList:
        callCount += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType))
    return callCount
def __getLuckyRateInfo(curLuck, luckyItemRateDict, luckyValueList):
    if not luckyItemRateDict or not luckyValueList:
        return 0, []
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -40,6 +40,8 @@
Def_InitOpenServerTime = 'InitOpenServerTime'
Def_SetOpenServerTime = 'SetOpenServerTime' # GM工具预定的开服时间
Def_OSAAwardState = 'OSAAwardState' #开服冲榜活动结算状态
# ------------------------- WorldKey ------------------------- 
#---奇迹, 职业枚举定义---
@@ -429,7 +431,9 @@
Def_BT_MainLevel,    # 主线关卡过关榜 0
Def_BT_Arena,    # 演武场积分周榜 1
Def_BT_Tianzi,    # 天子考验伤害榜 2
) = range(0, 3)
Def_BT_OSA_MainLevel,    # 开服关卡榜 3
Def_BT_OSA_HeroCall,    # 开服招募榜 4
) = range(0, 5)
''' 跨服排行榜类型, 从 150 开始,最大条数在功能配置表 CrossBillboardSet 配置,没配默认100
与本服榜单存储的是不一样的数据库表格,理论上类型可以和本服榜单类型重复,为了做下区分防误导,跨服榜单从 150 开始
@@ -442,7 +446,8 @@
BillboardTypeAllList = BillboardTypeList + CrossBillboardTypeList
BillboardNameDict = {Def_BT_MainLevel:"主线过关榜", Def_BT_Arena:"演武场积分周榜", Def_BT_Tianzi:"天子考验伤害榜"}
BillboardNameDict = {Def_BT_MainLevel:"主线过关榜", Def_BT_Arena:"演武场积分周榜", Def_BT_Tianzi:"天子考验伤害榜",
                     Def_BT_OSA_MainLevel:"开服关卡榜", Def_BT_OSA_HeroCall:"开服招募榜"}
#仙盟榜单类型
FamilyBillboardList = []
@@ -802,6 +807,8 @@
GameFuncID_Arena = 27           # 竞技场
GameFuncID_Horse = 37           # 坐骑
GameFuncID_Travel = 44          # 游历
GameFuncID_OSA_MainLevel = 45   # 开服关卡榜
GameFuncID_OSA_HeroCall = 46    # 开服招募榜
# 以下为暂时无用的
GameFuncID_Pet = -1             # 宠物,灵宠 6