hch
2019-03-20 3744bec3b23aa4840b1e7934b1c3378e32937912
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTotalRecharge.py
@@ -134,19 +134,14 @@
    return
def __GetItemList(itemDict, job, worldLV):
    #{世界等级范围:[(物品ID,个数,是否绑定), ...]},若物品ID要区分职业则配{世界等级范围:[({职业:物品ID,..},个数,是否绑定), ...]}
    itemList = []
    itemInfoList = GameWorld.GetDictValueByRangeKey(itemDict, worldLV, [])
    for itemInfo in itemInfoList:
        if type(itemInfo[0]) == dict:
            itemID = itemInfo[0].get(job)
            if not itemID:
                GameWorld.ErrLog('累计充值奖励未配置该职业itemDict=%s,job=%s'%(itemDict, job))
                continue
        else:
            itemID = itemInfo[0]
        itemList.append([itemID, itemInfo[1], itemInfo[2]])
    return itemList
    #{世界等级范围:{职业:[(物品ID,个数,是否绑定), ...]}}
    itemInfoDict = GameWorld.GetDictValueByRangeKey(itemDict, worldLV, {})
    if str(job) not in itemInfoDict:
        GameWorld.ErrLog('累计充值奖励未配置该职业itemDict=%s,job=%s'%(itemDict, job))
        return []
    else:
        return itemInfoDict[str(job)]
def AddTotalRechargeGold(curPlayer, addGold):
    if addGold <= 0:
@@ -234,7 +229,7 @@
        PlayerControl.WorldNotify(0, notifyKey, [curPlayer.GetPlayerName(), needGold])
        
    for itemID, itemCount, isBind in awardItemList:
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem])
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
        
    addDataDict = {"TemplateID":templateID, "NeedGold":needGold, "AwardIndex":awardIndex,
                   "ItemList":str(awardItemList)}
@@ -267,6 +262,7 @@
    if not templateIDList:
        return
    job = curPlayer.GetJob()
    actWorldLV = actTotalRechargeInfo.get(ShareDefine.ActKey_WorldLV, 0)
    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
    actInfo = ChPyNetSendPack.tagMCActTotalRechargeInfo()
    actInfo.StartDate = GameWorld.GetOperationActionDateStr(ipyData.GetStartDate(), openServerDay)
@@ -286,8 +282,8 @@
            awardInfo.AwardIndex = ipyData.GetAwardIndex()
            awardInfo.NeedGold = ipyData.GetNeedGold()
            awardInfo.AwardItem = []
            awardItemDict = ipyData.GetAwardItem()
            for itemID, itemCount, isBind in awardItemDict.get(str(job), []):
            awardItemList = __GetItemList(ipyData.GetAwardItem(), job, actWorldLV)
            for itemID, itemCount, isBind in awardItemList:
                awardItem = ChPyNetSendPack.tagMCTotalRechargeAwardItem()
                awardItem.ItemID = itemID
                awardItem.ItemCount = itemCount