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