10054 【后端】任务系统(是否完成任务改为领取完奖励才算;福地采集任务类型增加进度改为开始采集就算;)
| | |
| | |
|
| | | # 拉物品
|
| | | if msgType == "Pull":
|
| | | __DoPullItem(playerID, curPlayer, dataMsg)
|
| | | ret = __DoPullItem(playerID, curPlayer, dataMsg)
|
| | |
|
| | | # 刷新福地物品
|
| | | elif msgType == "MineItemRefresh":
|
| | |
| | | __RefreshMineItemSpeed(mineItemData, True)
|
| | |
|
| | | SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
|
| | | return
|
| | | return True
|
| | |
|
| | | def __DoCancelPull(playerID, areaPlayerID, itemIndex):
|
| | | ## 取消拉取
|
| | |
| | | if msgType == "MineAreaAwardGet":
|
| | | awardInfoList = dataMsg[0]
|
| | | __DoGiveMineAreaAward(curPlayer, awardInfoList)
|
| | | |
| | | |
| | | elif msgType == "Pull":
|
| | | areaPlayerID = dataMsg[0]
|
| | | if areaPlayerID == curPlayer.GetPlayerID():
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemSelf, 1)
|
| | | else:
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemRob, 1)
|
| | | return
|
| | |
|
| | | def __DoGiveMineAreaAward(curPlayer, awardInfoList):
|
| | |
| | |
|
| | | if robCount:
|
| | | OnAddMineTreasureProgress(curPlayer, robCount, False)
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemRob, 1)
|
| | | else:
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemSelf, 1)
|
| | |
|
| | | SyncPlayerMineAreaInfo(curPlayer)
|
| | |
|
| | |
| | | def __OnTaskFinish(curPlayer, taskGroup, taskID, taskIpyData):
|
| | | GameWorld.DebugLog("任务完成: taskGroup=%s,taskID=%s" % (taskGroup, taskID), curPlayer.GetPlayerID())
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskState % taskGroup, ChConfig.TaskState_Finish)
|
| | | GameFuncComm.DoFuncOpenLogic(curPlayer, [taskID])
|
| | | return
|
| | |
|
| | | def IsTaskFinish(curPlayer, taskID):
|
| | | ## 任务是否已完成
|
| | | ## 任务是否已完成 - 规定领奖才算完成
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("Task", taskID)
|
| | | if not ipyData:
|
| | | return
|
| | | taskGroup = ipyData.GetTaskGroup()
|
| | | nowTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskID % taskGroup)
|
| | | if nowTaskID and curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup) == ChConfig.TaskState_Finish:
|
| | | finishTaskID = nowTaskID
|
| | | else:
|
| | | finishTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskIDLast % taskGroup)
|
| | | |
| | | #nowTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskID % taskGroup)
|
| | | #if nowTaskID and curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup) == ChConfig.TaskState_Finish:
|
| | | # finishTaskID = nowTaskID
|
| | | #else:
|
| | | # finishTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskIDLast % taskGroup)
|
| | | finishTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskIDLast % taskGroup)
|
| | | |
| | | if taskID == finishTaskID:
|
| | | return True
|
| | |
|
| | |
| | |
|
| | | if not __giveNewTask(curPlayer, taskGroup):
|
| | | SyncTaskInfo(curPlayer, [taskGroup])
|
| | | |
| | | GameFuncComm.DoFuncOpenLogic(curPlayer, [taskID])
|
| | | return
|
| | |
|
| | | def SyncTaskInfo(curPlayer, taskGroupList=None):
|