From faeca70d5c95ccb4744931a176f671c7836b1a72 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 10 五月 2024 17:25:06 +0800
Subject: [PATCH] 10054 【后端】任务系统(是否完成任务改为领取完奖励才算;福地采集任务类型增加进度改为开始采集就算;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py | 18 ++++++++++--------
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py | 4 ++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py | 11 +++++++----
3 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
index 59cef49..4d4b839 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
@@ -901,7 +901,7 @@
# 拉物品
if msgType == "Pull":
- __DoPullItem(playerID, curPlayer, dataMsg)
+ ret = __DoPullItem(playerID, curPlayer, dataMsg)
# 刷新福地物品
elif msgType == "MineItemRefresh":
@@ -1014,7 +1014,7 @@
__RefreshMineItemSpeed(mineItemData, True)
SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
- return
+ return True
def __DoCancelPull(playerID, areaPlayerID, itemIndex):
## 取消拉取
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
index 9b53359..dc9e161 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
@@ -187,7 +187,13 @@
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):
@@ -217,9 +223,6 @@
if robCount:
OnAddMineTreasureProgress(curPlayer, robCount, False)
- PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemRob, 1)
- else:
- PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_MineItemSelf, 1)
SyncPlayerMineAreaInfo(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py
index e0241f6..5d352a8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py
@@ -256,21 +256,21 @@
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
@@ -310,6 +310,8 @@
if not __giveNewTask(curPlayer, taskGroup):
SyncTaskInfo(curPlayer, [taskGroup])
+
+ GameFuncComm.DoFuncOpenLogic(curPlayer, [taskID])
return
def SyncTaskInfo(curPlayer, taskGroupList=None):
--
Gitblit v1.8.0