hxp
2025-01-08 cfa0e7bcd6b5c6ee2551b58471310de677fc9e7f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
@@ -128,8 +128,25 @@
#    DWORD        InvestGold; // 投资额度
#};
def OnGoldInvest(index, clientData, tick):
    ## 消耗仙玉投资的,暂废弃
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    investType = clientData.InvestType
    InvestByRealCTG(curPlayer, investType)
    return
def InvestByRealCTG(curPlayer, investType):
    ## 真实充值激活投资
    needRealCTGCoinDict = IpyGameDataPY.GetFuncEvalCfg("InvestCost", 4, {})
    if str(investType) not in needRealCTGCoinDict:
        return
    playerID = curPlayer.GetPlayerID()
    realNeed = needRealCTGCoinDict[str(investType)]
    realTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal)
    if realTotal < realNeed:
        GameWorld.DebugLog("真实充值额度不足,无法激活! investType=%s,realTotal=%s < %s"
                           % (investType, realTotal, realNeed), playerID)
        return
    __DoLogicInvest(curPlayer, investType)
    return True
## 充值直购投资
def InvestByCTG(curPlayer, ctgID):
@@ -162,6 +179,12 @@
    if redPacketID:
        PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, redPacketID)
        
    # 额外奖励物品
    awardItemDict = IpyGameDataPY.GetFuncEvalCfg("InvestCost", 5, {})
    if str(investType) in awardItemDict:
        awardItemListEx = awardItemDict[str(investType)]
        ItemControler.GivePlayerItemOrMail(curPlayer, awardItemListEx, event=["Invest", True, {"investType":investType}])
    # 广播
    PlayerControl.WorldNotify(0, "BuyInvest_%s" % investType, [curPlayer.GetName(), __GetTotalGetGold(investType)])