hxp
2020-01-07 e37c0b9f504429962a92755c7a79926f092ed9af
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPiaomiaoTask.py
@@ -30,6 +30,7 @@
import ItemCommon
import ChConfig
Def_MaxGrade = 5 # 暂时只针对组队缥缈副本
def DoPiaomiaoTaskOpen(curPlayer):
    ## 缥缈任务开启
@@ -90,7 +91,7 @@
        
        curGrade = curMission.GetProperty(QuestCommon.Def_Mission_Grade)
        # 评级5 S不重置
        if missionState != ChConfig.Def_Mission_State_NoAccept or curGrade == 5:
        if missionState != ChConfig.Def_Mission_State_NoAccept or curGrade == Def_MaxGrade:
            piaomiaoMissionIDList.append(missionID)
            GameWorld.DebugLog("    缥缈任务非未接,保留! missionID=%s,missionState=%s" % (missionID, missionState))
            continue
@@ -132,6 +133,11 @@
        #通知客户端
        EventShell.NotifyOneMission(curPlayer, curMission)
        
        if grade == Def_MaxGrade:
            familyID = curPlayer.GetFamilyID()
            if familyID:
                PlayerControl.FamilyNotify(familyID, "RefreshPiaomiaoSFB", [curPlayer.GetPlayerName(), ChConfig.Def_FBMapID_KillDevil])
    SyncPiaomiaoTaskInfo(curPlayer)
    return
@@ -143,10 +149,26 @@
    if todayTakeCount >= maxTakeCount:
        GameWorld.DebugLog("已达今日接任务上限!todayTakeCount=%s" % todayTakeCount)
        return
    for i in range(curPlayer.GetMissionCount()):
        mission = curPlayer.GetMissionByIndex(i)
        missionID = mission.GetMissionID()
        questData = QuestManager.FindQuest(missionID)
        if not questData:
            continue
        if questData.Type == QuestCommon.Def_Mission_Type_Piaomiao and mission.GetState() != ChConfig.Def_Mission_State_NoAccept:
            GameWorld.DebugLog("已经有接了缥缈任务,无法再接!missionID=%s" % missionID)
            return
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoTaskTakeCount, todayTakeCount + 1)
    
    QuestCommon.SetPlayerMissionState(curPlayer, curMission, 1)
    
    curGrade = curMission.GetProperty(QuestCommon.Def_Mission_Grade)
    if curGrade == Def_MaxGrade:
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PiaomiaoMaxGradeTaskID, curMission.GetMissionID())
    EventShell.NotifyOneMission(curPlayer, curMission, isNotifyAll=False)
    SyncPiaomiaoTaskInfo(curPlayer)
    return