10267 【越南】【英文】【砍树】仙官新增膜拜(lang_en去除膜拜旧数据服务器启动处理)
1个文件已修改
43 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py
@@ -57,49 +57,6 @@
    return
##--------------------------------------------------------------------------------------------------
def OnServerStart():
    ## 修改了膜拜UserData的存储内容及格式,需要对老数据进行处理
    #  因为活动类的活动结束后无法根据分区ID识别是否可膜拜,故改为同仙宫一样指定可膜拜的服务器ID列表
    isCrossServer = GameWorld.IsCrossServer()
    crossZoneName = GameWorld.GetCrossZoneName()
    playerRecMgr = PyDataManager.GetDBPlayerRecDataManager()
    recDict = playerRecMgr.GetPlayerRecDataDict(ShareDefine.Def_PlayerRecType_WorshipPlayer)
    for recDataList in recDict.values():
        for recData in recDataList:
            playerID = recData.GetPlayerID()
            worshipType = GetWorshipType(recData)
            worshipValue = GetWorshipValue(recData)
            if isCrossServer:
                if worshipType != ShareDefine.Def_WorshipType_CrossChampionship:
                    # 跨服服务器只修正跨服排位膜拜
                    continue
            else:
                if worshipType != ShareDefine.Def_WorshipType_ServerNaming:
                    # 子服服务器只修正服务器冠名膜拜
                    continue
            userData = recData.GetUserData()
            try:
                userDataOld = eval(userData)
            except:
                userDataOld = {}
            if ChConfig.Def_RecDataKey_PlayerInfo in userDataOld:
                GameWorld.Log("该膜拜数据已经被修正过了! worshipType=%s,worshipValue=%s" % (worshipType, worshipValue), playerID)
                continue
            recData.SetUserData({})
            recData.SetUserDataByKey(ChConfig.Def_RecDataKey_PlayerInfo, userDataOld)
            if worshipType == ShareDefine.Def_WorshipType_CrossChampionship:
                zoneID = recData.GetValue4()
                zoneIpyData = IpyGameDataPY.GetIpyGameData("CrossZonePK", crossZoneName, zoneID)
                serverIDRangeList = zoneIpyData.GetServerGroupIDList() if zoneIpyData else []
                recData.SetUserDataByKey(ChConfig.Def_RecDataKey_ServerIDList, serverIDRangeList)
            userDataNew = recData.GetUserData()
            GameWorld.Log("修正膜拜数据! worshipType=%s,worshipValue=%s,userData=%s,userDataNew=%s"
                          % (worshipType, worshipValue, userData, userDataNew), playerID)
    return
def GetPlayerViewInfo(playerID):