From 00f4a55d20b44485efb11172bf61263e8cfb57fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 三月 2025 15:09:14 +0800
Subject: [PATCH] 10416 【英文】【bt】【GM】【砍树】登录基金和幻境基金 完成后可以重置购买(重置关联的充值ID)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py |   49 ++++---------------------------------------------
 1 files changed, 4 insertions(+), 45 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py
index ba12981..8ab7b09 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorship.py
@@ -43,6 +43,8 @@
 # 今日已膜拜记录 {tagPlayerID:[[膜拜类型, 膜拜值], ...], ...}
 # 今日是否已膜拜过该玩家某个膜拜
 def HasWorshipRecordToday(recData, tagPlayerID, worshipType, worshipValue):
+    if not recData:
+        return False
     worshipRecordList = recData.GetUserDataByKey(tagPlayerID, [])
     if not worshipRecordList:
         return False
@@ -57,49 +59,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):
@@ -312,7 +271,7 @@
     GameWorld.DebugLog("膜拜: tagPlayerID=%s,worshipType=%s,worshipValue=%s,moneyType=%s,moneyValue=%s" 
                        % (tagPlayerID, worshipType, worshipValue, moneyType, moneyValue), playerID)
     playerRecMgr = PyDataManager.GetDBPlayerRecDataManager()
-    worshipRecData = playerRecMgr.GetPlayerRecDataFirst(ShareDefine.Def_PlayerRecType_WorshipDaily, playerID)
+    worshipRecData = playerRecMgr.GetPlayerRecDataFirst(ShareDefine.Def_PlayerRecType_WorshipDaily, playerID, True)
     SetWorshipRecordToday(worshipRecData, tagPlayerID, worshipType, worshipValue)
     
     __SyncWorshipResult(curPlayer, tagPlayerID, worshipType, worshipValue, 0, moneyType, moneyValue)
@@ -349,7 +308,7 @@
             return
         
     playerRecMgr = PyDataManager.GetDBPlayerRecDataManager()
-    worshipRecData = playerRecMgr.GetPlayerRecDataFirst(ShareDefine.Def_PlayerRecType_WorshipDaily, playerID)
+    worshipRecData = playerRecMgr.GetPlayerRecDataFirst(ShareDefine.Def_PlayerRecType_WorshipDaily, playerID, False)
     if HasWorshipRecordToday(worshipRecData, recPlayerID, worshipType, worshipValue):
         GameWorld.DebugLog("今日已膜拜过! recPlayerID=%s,worshipType=%s, worshipValue=%s" % (recPlayerID, worshipType, worshipValue), playerID)
         return

--
Gitblit v1.8.0