From 95cf75eaea1a35b062d4a577888d819f338dfce0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 11 六月 2019 21:46:33 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 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 166411e..1945a3b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
@@ -77,19 +77,19 @@
 
 def __CheckInvestReset(curPlayer):
     ##检查vip投资重置 超过28天或28天奖励已领取可重置
-    investType = ChConfig.GoldInvestType_VIP
-    investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
-    if not investGoldRecord:
-        return
-    curDay = __GetInvestCurDay(curPlayer, investType)
-    investMaxDayDict = IpyGameDataPY.GetFuncEvalCfg('InvestMaxDay')
-    maxDay = investMaxDayDict.get(str(investType), 0)
-    if curDay > maxDay or __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, maxDay)):
-        __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)
-    Sync_GoldInvestInfo(curPlayer, investType, isForce=True)
+    for investType in ChConfig.CanRepeatInvestType:
+        investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
+        if not investGoldRecord:
+            return
+        curDay = __GetInvestCurDay(curPlayer, investType)
+        investMaxDayDict = IpyGameDataPY.GetFuncEvalCfg('InvestMaxDay')
+        maxDay = investMaxDayDict.get(str(investType), 0)
+        if curDay > maxDay or __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, maxDay)):
+            __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)
+        Sync_GoldInvestInfo(curPlayer, investType, isForce=True)
     return
 
 #// A5 40 投资理财 #tagCMGoldInvest
@@ -107,8 +107,6 @@
     curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
     investType = clientData.InvestType
     investGold = clientData.InvestGold
-    
-    GameWorld.DebugLog("投资理财:investType=%s,investGold=%s" % (investType, investGold))
     investCostDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost')
     if str(investType) not in investCostDict:
         return
@@ -116,10 +114,26 @@
     if investGold not in costList:
         GameWorld.DebugLog('    投资理财 投资额度不存在 investGold=%s, investType=%s'%(investGold, investType))
         return
-    
     awardData = costList.index(investGold) + 1
     if investType == ChConfig.GoldInvestType_VIP:
         awardData = __GetInvestLVData(curPlayer)
+    __DoLogicInvest(curPlayer, investType, investGold, awardData)
+    return
+
+def InvestByCTG(curPlayer, ctgID):
+    ## 充值投资
+    ctgInvestDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost', 3, {})
+    for investType, ctgIDList in ctgInvestDict.items():
+        if ctgID in ctgIDList:
+            __DoLogicInvest(curPlayer, int(investType), ctgID, 1)
+            GameWorld.Log('投资理财 investType=%s,ctgID=%s'%(investType, ctgID), curPlayer.GetID())
+            break
+    return
+
+
+def __DoLogicInvest(curPlayer, investType, investGold, awardData):
+    GameWorld.DebugLog("投资理财:investType=%s,investGold=%s, awardData=%s" % (investType, investGold, awardData))
+    
     needVIPLVDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost', 2, {})
     needVIPLV = needVIPLVDict.get(str(investType), 0)
     if curPlayer.GetVIPLv() < needVIPLV:
@@ -128,6 +142,8 @@
     
         
     deductGold = investGold
+    if str(investType) in IpyGameDataPY.GetFuncEvalCfg('InvestCost', 3, {}):
+        deductGold = 0 #充钱的不用扣仙玉
     investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
     if investGoldRecord:
         curDay = __GetInvestCurDay(curPlayer, investType)

--
Gitblit v1.8.0