From 2b5a21336ea0a987cf21052b688442dce40b6bf5 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 23 十月 2018 10:52:06 +0800
Subject: [PATCH] 4280 【主干】【1.1.0】【后端】开服触发成就类型

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py |   86 +++++++++++++++++++++---------------------
 1 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
index c6ed964..484338f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
@@ -44,6 +44,7 @@
 import Operate_EquipSuitCompose
 import PlayerDogz
 import QuestCommon
+import DataRecordPack
 
 
 ## 获取成就字典信息值
@@ -237,52 +238,50 @@
 #  @param None
 #  @return
 def __CheckOldPlayerSuccess(curPlayer):
-    ''' 成就版本更新老玩家检查
-        正式上线后,成就的修改或者增加,一般是增加新成就,则需要对老玩家成就版本进行校正,检查成就完成情况
-        成就版本号递增
+    ''' 成就版本更新老玩家检查  每次启动服务后 玩家第一次上线检查成就完成情况
     '''
-    Versions = 2 #版本号,往上增加
-    
+    #Versions = 2 #版本号,往上增加
+    initGameWorldTime = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_InitGameWorldTime)
     # 上线需要检查老玩家成就完成情况类型{成就类型:维护版本号, ...}
-    NeedCheckSuccTypeDict = {
-                            ShareDefine.SuccType_GetMagicWeapon:2,
-                            ShareDefine.SuccType_PassRuneTower:2,
-                            ShareDefine.SuccType_GodWeapon:2,
-                            ShareDefine.SuccType_HorseAllLV:2,
-                            ShareDefine.SuccType_EquipPlusLV:2,
-                            ShareDefine.SuccType_EquipColorItem:2,
-                            ShareDefine.SuccType_EquipArmor:2,
-                            ShareDefine.SuccType_EquipWeapon:2,
-                            ShareDefine.SuccType_InlayRune:2,
-                            ShareDefine.SuccType_RuneLvUp:2,
-                            ShareDefine.SuccType_RealmlvUp:2,
-                            ShareDefine.SuccType_PetClassLV:2,
-                            ShareDefine.SuccType_InlayStone1:2,
-                            ShareDefine.SuccType_InlayStone2:2,
-                            ShareDefine.SuccType_XJMJGetExp:2,
-                            ShareDefine.SuccType_EquipWashLV1:2,
-                            ShareDefine.SuccType_EquipWashLV2:2,
-                            ShareDefine.SuccType_EquipWashLV3:2,
-                            ShareDefine.SuccType_EquipWing:2,
-                            ShareDefine.SuccType_MWSkillUp:2,
-                            ShareDefine.SuccType_EquipSuit:2,
-                            ShareDefine.SuccType_FamilyTechLV:2,
-                            ShareDefine.SuccType_AlchemyLV:2,
-                            ShareDefine.SuccType_VIPLV:2,
-                            ShareDefine.SuccType_StoneTotalLV:2,
-                            ShareDefine.SuccType_XBXZ:2,
-                            ShareDefine.SuccType_DogzBattle:2,
-                            ShareDefine.SuccType_DogzEquipPlus:2,
-                            ShareDefine.SuccType_MainTaskNode:2,
-                             }
+    NeedCheckSuccTypeList = [
+                            ShareDefine.SuccType_GetMagicWeapon,
+                            ShareDefine.SuccType_PassRuneTower,
+                            ShareDefine.SuccType_GodWeapon,
+                            ShareDefine.SuccType_HorseAllLV,
+                            #ShareDefine.SuccType_EquipPlusLV,
+                            ShareDefine.SuccType_EquipColorItem,
+                            ShareDefine.SuccType_EquipArmor,
+                            ShareDefine.SuccType_EquipWeapon,
+                            ShareDefine.SuccType_InlayRune,
+                            ShareDefine.SuccType_RuneLvUp,
+                            ShareDefine.SuccType_RealmlvUp,
+                            ShareDefine.SuccType_PetClassLV,
+                            ShareDefine.SuccType_InlayStone1,
+                            ShareDefine.SuccType_InlayStone2,
+                            ShareDefine.SuccType_XJMJGetExp,
+                            ShareDefine.SuccType_EquipWashLV1,
+                            ShareDefine.SuccType_EquipWashLV2,
+                            ShareDefine.SuccType_EquipWashLV3,
+                            ShareDefine.SuccType_EquipWing,
+                            ShareDefine.SuccType_MWSkillUp,
+                            ShareDefine.SuccType_EquipSuit,
+                            ShareDefine.SuccType_FamilyTechLV,
+                            ShareDefine.SuccType_AlchemyLV,
+                            ShareDefine.SuccType_VIPLV,
+                            ShareDefine.SuccType_StoneTotalLV,
+                            ShareDefine.SuccType_XBXZ,
+                            ShareDefine.SuccType_DogzBattle,
+                            ShareDefine.SuccType_DogzEquipPlus,
+                            ShareDefine.SuccType_MainTaskNode,
+                             ]
     
     curCheckVersion = GetPDictValue(curPlayer, ChConfig.Def_PDict_Success_CheckVersion)
+    if curCheckVersion == initGameWorldTime:
+        GameWorld.DebugLog('    本次开启服务器处理过成就检查,不再处理 ', curPlayer.GetID())
+        return
     GameWorld.DebugLog("更新老玩家上线检查成就curCheckVersion=%s" % (curCheckVersion))
     ipyDataMgr = IpyGameDataPY.IPY_Data()
-    for succType, version in NeedCheckSuccTypeDict.items():
-        
-        if curCheckVersion >= version:
-            continue
+    for succType in NeedCheckSuccTypeList:
         if succType == ShareDefine.SuccType_GetMagicWeapon:
             
             for i in xrange(ipyDataMgr.GetTreasureCount()):
@@ -388,9 +387,10 @@
                 missionID = succData.condition[0]
                 if QuestCommon.GetHadFinishMainMission(curPlayer, missionID):
                     DoAddSuccessProgress(curPlayer, succType, 1, [missionID])
-            
-    SetPDictValue(curPlayer, ChConfig.Def_PDict_Success_CheckVersion, Versions)
-    GameWorld.DebugLog("更新老玩家上线检查成就updCheckVersions=%s" % (Versions))
+                    
+    DataRecordPack.DR_CheckOldPlayerSuccess(curPlayer)
+    SetPDictValue(curPlayer, ChConfig.Def_PDict_Success_CheckVersion, initGameWorldTime)
+    GameWorld.DebugLog("更新老玩家上线检查成就updCheckVersions=%s" % (initGameWorldTime), curPlayer.GetID())
     return
 
 ## 成就OnWeek

--
Gitblit v1.8.0