hxp
2020-01-03 866ce280c4c931a34cedd06d86b81019018d4160
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -98,12 +98,13 @@
import EventReport
import PlayerCoat
import PlayerGatherSoul
import PlayerArrestTask
#import PlayerArrestTask
import PlayerRune
import IpyGameDataPY
import FormulaControl
import GameFuncComm
import ChPyNetSendPack
import PlayerPiaomiaoTask
import NetPackCommon
import NPCCommon
import PlayerVip
@@ -1573,9 +1574,13 @@
        GameWorld.DebugLog("任务状态(%s)不可提交,不能完成任务!taskID=%s" % (missionState, taskID))
        return
    
    curQuestData = QuestManager.FindQuest(taskID)
    if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
        PlayerPiaomiaoTask.OnFinishPiaomiaoTask(curPlayer, curMission)
        return
    rewardPer = 100 if rewardPer <= 0 else rewardPer
    moneyType, moneyCnt = 0, 0
    curQuestData = QuestManager.FindQuest(taskID)
    # 环任务支持多倍奖励领取
    if curQuestData != None and curQuestData.Type in QuestCommon.Def_RunTask_Type_List:
        if rewardPer != 100:
@@ -3960,15 +3965,22 @@
        PlayerControl.NotifyCode(curPlayer, "Task_cannot_Delete02")
        return
    
    if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
        PlayerControl.NotifyCode(curPlayer, "GeRen_hgg_880525")
    #if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
    #    PlayerControl.NotifyCode(curPlayer, "GeRen_hgg_880525")
    #    return
    curQuestData = QuestManager.FindQuest(missionID)
    if not curQuestData:
        return
    
    #放弃悬赏任务
    if missionID == ChConfig.Def_ArrestMissionID:
        PlayerArrestTask.OnDeleteArrestTask(curPlayer)
    #if missionID == ChConfig.Def_ArrestMissionID:
    #    PlayerArrestTask.OnDeleteArrestTask(curPlayer)
        
    if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
        PlayerPiaomiaoTask.DoCancelPiaomiaoTask(curPlayer, curMission)
        return
    #先在任务表中找数据, 如果找到了, 就不遍历XML了
    if __DoLogic_DeleteMission(curPlayer, curMission):
        GameWorld.Log("在任务表中找数据, 删除任务 = %s, 状态 = %s"%(missionID, missionState), curPlayer.GetID())
@@ -4877,6 +4889,36 @@
    RunQuestEvent(curPlayer, "on_revlogintype_event", "on_revlogintype_event", Def_RunQuestType_Normal)
    return
#// A2 07 接受任务 #tagCMTakeTask
#
#struct    tagCMTakeTask
#{
#    tagHead        Head;
#    DWORD        TaskID;
#};
def OnTakeTask(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    missionID = clientData.TaskID
    curMission = curPlayer.FindMission(missionID)
    if not curMission:
        return
    missionState = curMission.GetState()
    if missionState != ChConfig.Def_Mission_State_NoAccept:
        return
    curQuestData = QuestManager.FindQuest(missionID)
    if not curQuestData:
        return
    if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
        PlayerPiaomiaoTask.OnTakePiaomiaoTask(curPlayer, curMission)
        return
    QuestCommon.SetPlayerMissionState(curPlayer, curMission, 1)
    return
#// A2 18 完成任务 #tagCMFinishTask
#
#struct tagCMFinishTask