xdh
2019-06-13 fce3861665338cbd95e6810da858fd7b0d53eeaf
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
@@ -97,25 +97,26 @@
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt)
    jsonItemList = []
    giveCnt = 0
    if updDecomposeCnt >= perDecomposeCnt:
        awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2)
        if not awardList:
            return len(drDelItemList), giveCnt
    if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
        awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
        giveCnt = updDecomposeCnt/perDecomposeCnt
        giveItemIDDict = {}
        for _ in xrange(giveCnt):
            itmeID = random.choice(awardList)
            itmeID = GameWorld.GetResultByRandomList(awardRateList)
            if not itmeID:
                continue
            giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
        for giveItemID, itemCnt in giveItemIDDict.items():
            jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
        needSpace = len(giveItemIDDict)
        packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
        if packSpace < needSpace:
            prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
            PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
        else:
            for giveItemID, itemCnt in giveItemIDDict.items():
                ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, True, [IPY_GameWorld.rptItem], True)
        if giveItemIDDict:
            for giveItemID, itemCnt in giveItemIDDict.items():
                jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
            needSpace = len(giveItemIDDict)
            packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
            if packSpace < needSpace:
                prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
                PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
            else:
                for giveItemID, itemCnt in giveItemIDDict.items():
                    ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
    
    #同步客户端
    Sync_EDLVInfo(curPlayer, jsonItemList)
@@ -144,7 +145,7 @@
        eatItemID = eatItem.GetItemTypeID()
        if eatItemIDList[i] != eatItemID:
            GameWorld.ErrLog('    装备分解客户端发的物品索引与实际物品ID不对应  index=%s,eatItemID=%s,wantEatItemID'%(index, eatItemID, eatItemIDList[i]))
            GameWorld.ErrLog('    装备分解客户端发的物品索引与实际物品ID不对应  index=%s,eatItemID=%s,wantEatItemID=%s'%(index, eatItemID, eatItemIDList[i]))
            continue
        if eatItem.GetType() == ChConfig.Def_ItemType_EquipDecomposeExp:
            curEff = eatItem.GetEffectByIndex(0)