hxp
2021-07-06 5794b2a896fbb69511ad9b462735137296cf58f4
5096 【主干】【BT2】【BT3】垃圾分类任务-杀怪获得脱机挂无效
2个文件已修改
36 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -885,6 +885,11 @@
    for dropID, dropCount in dropWordsCountDict.items():
        dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
        
    # 垃圾分类
    giveGarbageItemList = PlayerActGarbageSorting.AddActGarbageTaskProgress(dropPlayer, ChConfig.Def_GarbageTask_KillNPC, killCount, isTJG=True)
    for dropID, dropCount, _ in giveGarbageItemList:
        dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
    auctionIDList = []
    if ipyDrop.GetAucionItemCanSell():
        for dropID in dropIDCountDict.keys():
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py
@@ -85,12 +85,13 @@
    Sync_GarbageTaskInfo(curPlayer, actNum)
    return True
def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None):
def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None, isTJG=False):
    ## 增加垃圾收集任务进度
    # @param valueInfo: taskID 对应的自定义扩展信息值
    if addValue <= 0:
        return
    
    giveGarbageItemList = []
    for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_GarbageSorting, {}).values():
        actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
        if not actInfo.get(ShareDefine.ActKey_State):
@@ -134,14 +135,16 @@
        
        # 完成时自动产生垃圾
        if taskIpyData.GetAutoProduce():
            if __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData):
            giveItemList = __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData, isTJG)
            if giveItemList:
                giveGarbageItemList += giveItemList
                continue
            
        Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
        
    return
    return giveGarbageItemList
def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None):
def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None, isTJG=False):
    ## 检查完成垃圾收集任务
    
    if not taskIpyData:
@@ -164,10 +167,6 @@
        #                   % (actNum, taskID, curValue, curFinishCount, updFinishCount))
        return
    
    #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s"
    #                   % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
    # 给垃圾收集奖励
    giveItemDict = {}
    rateList = taskIpyData.GetProduceGarbageRateList()
@@ -180,10 +179,22 @@
        giveItemDict[itemID] = [itemID, befItemCount + itemCount, isAuctionItem]
    giveItemList = giveItemDict.values()
    
    ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList)
    if not giveItemList:
        return
    
    if not ItemControler.CheckPackSpaceEnough(curPlayer, giveItemList):
        return
    #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s"
    #                   % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
    if not isTJG:
        for itemID, itemCnt, isAuctionItem in giveItemList:
            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isAuctionItem, [])
    Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
    return True
    return giveItemList
#// AA 14 垃圾分类活动分类垃圾 #tagCMActGarbageSorting
#