From affca29e7500fc8e2e65cf15d19496a370f6329e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 27 十二月 2018 16:22:58 +0800
Subject: [PATCH] 860312 机器人

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
index 31d6ff3..af78b81 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
@@ -55,6 +55,7 @@
 #  @param curPlayer 玩家
 #  @return
 def OnLogin(curPlayer):
+    __CheckOldInvest(curPlayer)
     for iType in ChConfig.GoldInvestTypeList:
         Sync_GoldInvestInfo(curPlayer, iType)
     return
@@ -64,6 +65,7 @@
 #  @param curPlayer 玩家
 #  @return
 def OnDay(curPlayer):
+    __CheckOldInvest(curPlayer)
     #vip投资过了整个周期则重置
     __CheckInvestReset(curPlayer)
     
@@ -91,7 +93,43 @@
             __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, i), 0)
     Sync_GoldInvestInfo(curPlayer, investType, isForce=True)
     return
+
+def __CheckOldInvest(curPlayer):
+    #旧版本投资补偿
+    investType = ChConfig.GoldInvestType_VIP
+    investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
+    if investGoldRecord != 300:
+        return
+    maxDay = 28
+    curDay = __GetInvestCurDay(curPlayer, investType)
+    if curDay > maxDay:
+        return
+    if __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, curDay)):
+        sendDayList = range(curDay+1,maxDay+1)
+    else:
+        sendDayList = range(curDay, maxDay+1)
+    if sendDayList:
+        sendItemDict = {}
+        for day in sendDayList:
+            index = day%7
+            if index == 0:
+                index = 7
+            ipyData = IpyGameDataPY.GetIpyGameData('Invest', investType*100+index)
+            if not ipyData:
+                continue
+            itemList = ipyData.GetReward()['1']
+            for itemID, itemCnt, isBind in itemList:
+                sendItemDict[itemID] = sendItemDict.get(itemID, 0) + itemCnt
     
+        sendItemList = [(itemID, itemCnt, 1) for itemID, itemCnt in sendItemDict.items()]
+        PlayerControl.SendMailByKey('VIPInvest', [curPlayer.GetID()], sendItemList, [len(sendDayList)])
+        GameWorld.Log('    旧版本投资补偿 sendDay=%s, sendItemList=%s'%(len(sendDayList), sendItemList), curPlayer.GetID())
+        
+    __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Time % investType, 0)
+    __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType, 0)
+    for i in xrange(1, maxDay+1):
+        __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, i), 0)
+    return
 #// A5 40 投资理财 #tagCMGoldInvest
 #
 #struct    tagCMGoldInvest

--
Gitblit v1.8.0