hxp
2024-05-10 96877641a2c41433fd7eb79420062b8d20185385
10054 【后端】任务系统(任务状态2改为可领取状态)
4个文件已修改
20 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -44673,7 +44673,7 @@
                  ("TaskGroup", c_ubyte),    # 任务组,0-主线
                  ("TaskID", c_int),    # 当前任务ID,可能为0,表示该分组暂时没有任务
                  ("CurValue", c_int),    # 当前进度值
                  ("State", c_ubyte),    # 任务状态 1-进行中 2-已完成
                  ("State", c_ubyte),    # 任务状态 1-进行中 2-可领取
                  ]
    def __init__(self):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -6222,7 +6222,7 @@
TaskStateList = (
TaskState_None, # 无 0
TaskState_Doing, # 进行中 1
TaskState_Finish, # 已完成 2
TaskState_CanGet, # 可领取 2
) = range(3)
# 充值点券处理类型
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -44673,7 +44673,7 @@
                  ("TaskGroup", c_ubyte),    # 任务组,0-主线
                  ("TaskID", c_int),    # 当前任务ID,可能为0,表示该分组暂时没有任务
                  ("CurValue", c_int),    # 当前进度值
                  ("State", c_ubyte),    # 任务状态 1-进行中 2-已完成
                  ("State", c_ubyte),    # 任务状态 1-进行中 2-可领取
                  ]
    def __init__(self):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTask.py
@@ -68,7 +68,7 @@
        
        curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskValue % taskGroup)
        curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup)
        if curState == ChConfig.TaskState_Finish:
        if curState == ChConfig.TaskState_CanGet:
            continue
        
        needFix = False
@@ -83,7 +83,7 @@
            needFix = True
            
        # 可能修改降低了所需任务值,需要修正下完成状态
        if curValue >= needValue and curState != ChConfig.TaskState_Finish:
        if curValue >= needValue and curState != ChConfig.TaskState_CanGet:
            GameWorld.Log("需要修正任务状态: taskID=%s,curValue=%s,needValue=%s,curState=%s" % (taskID, curValue, needValue, curState), playerID)
            needFix = True
            
@@ -204,7 +204,7 @@
    if not taskID:
        return
    curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup)
    if curState == ChConfig.TaskState_Finish:
    if curState != ChConfig.TaskState_Doing:
        return
    ipyData = IpyGameDataPY.GetIpyGameData("Task", taskID)
    if not ipyData:
@@ -237,7 +237,7 @@
    if taskIpyData.GetTaskID() != taskID:
        return
    curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup)
    if curState == ChConfig.TaskState_Finish:
    if curState == ChConfig.TaskState_CanGet:
        return
    taskType = taskIpyData.GetTaskType()
    finishNeedValue = taskIpyData.GetNeedValue()
@@ -255,7 +255,7 @@
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)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TaskState % taskGroup, ChConfig.TaskState_CanGet)
    return
def IsTaskFinish(curPlayer, taskID):
@@ -265,7 +265,7 @@
        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:
    #if nowTaskID and curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup) == ChConfig.TaskState_CanGet:
    #    finishTaskID = nowTaskID
    #else:
    #    finishTaskID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskIDLast % taskGroup)
@@ -294,7 +294,7 @@
    awardItemList = ipyData.GetAwardItemList()
    curState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskState % taskGroup)
    curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TaskValue % taskGroup)
    if curState != ChConfig.TaskState_Finish:
    if curState != ChConfig.TaskState_CanGet:
        GameWorld.DebugLog("任务未完成无法领奖: taskID=%s,curValue=%s/%s,curState=%s" % (taskID, curValue, needValue, curState), playerID)
        return
    if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList):