--setMissionParam
-- 0采集任务阶段==0 采集 1 杀怪
-- 1杀怪计数;
-- 2,3杀怪，传说，宝图任务时间;
-- 4随机地点任务 场景id*1000*1000+坐标x*1000+坐标z
-- 5过期监听
-- 6失败监听，
-- 7失败达成
-- 8攻击次数
-- 9,10 任务接取时间

-- 脚本任务数据
-- 11 类型 用来确定寻路后的回调（2 威震天下,100对话 101送信 102杀怪，103采集，104杀怪掉落） 
--12目标id
--13目标个数
--14完成目标id（-1自动完成）
--15额外数据1
--16额外数据2

--setMissionState
-- Mission_Invalid = 0,  
-- Mission_Accepted = 1,  任务进行中
-- Mission_Completed = 2, 任务可交
-- Mission_Failed = 3,    任务失败

--SetMissionCaredEvent
-- Event_Kill_Object  =0  杀怪
-- Event_EnterArea    =1  进入区域
-- Event_ItemChange   =2 
-- Event_LevelUp      =3 
-- Event_CollectItem  =4  采集
-- Event_UseItem      =5 
-- Event_Puzzle       =6 
-- Event_TeamKill     =7 
-- Event_TeamCollect  =8 
-- Event_CopyScene    =9 
-- Event_Guide        =10
-- Event_Attacks      =11
-- Event_Attribute    =12
-- Event_Round        =13

--捉鬼任务

--脚本号
x210501_g_scriptId=210501
--任务id
x210501_g_missionId=10501

x210501_g_RoundConfigId =5

x210501_g_Count=200

--- 任务函数 
--任务接受，已接受到任务id请求，通过接受验证，未执行添加逻辑
function x210501_OnMissionAccept( scene,selfId )
	-- body
	if AddMissionNN(scene,selfId,x210501_g_missionId) then  --添加任务，不同步

		local params = {{1,0},{11,2}}
		
		SetMissionParams(scene,selfId,x210501_g_missionId,params) --设置客户端需要的脚本任务参数，不同步

		DispatchMission(scene, selfId, x210501_g_missionId, x210501_g_RoundConfigId)      --同步任务
		SetMissionState(scene, selfId, x210501_g_missionId, 1)	  --设置任务状态为任务进行中

		SetMissionCaredEvent(scene, selfId, x210501_g_missionId, 0, true)
		SetMissionCaredEvent(scene, selfId, x210501_g_missionId, 7, true)
	end
end

--检查任务是否可以完成
function x210501_CheckCompleted( scene,selfId )
	-- body
	return true
end

--任务完成，执行在删除任务之前，执行一些清理操作，比如清楚任务相关的道具
function x210501_OnMissionCompleted( scene,selfId )
	-- body
end

--放弃任务，同任务完成
function x210501_OnMissionAbandon( scene,selfId )
	-- body
end


--事件 激活事件监听需要调用SetMissionCareEvent
--杀怪事件监听
function x210501_OnKillMonster( scene,selfId,monsterId)
	-- body
	x210501_OnKill(scene, selfId, monsterId)
end

function x220001_OnTeamMemberKillMonster(scene, selfId, monsterId)
	-- body
	x210501_OnKill(scene, selfId, monsterId)
end

function  x210501_OnKill(scene,selfId,monsterId)
	-- body
	if GetMissionState(scene,selfId,x210501_g_missionId)~=2 then
			local count = GetMissionParam(scene, selfId, x210501_g_missionId, 1) + 1      --(param[1] 保存杀怪数)
			SetMissionParam(scene, selfId, x210501_g_missionId, 1, count, true)   --任务计数+1
			if count >= x210501_g_Count then
				SetMissionState(scene, selfId, x210501_g_missionId, 2)         --设置任务状态为可交 Mission_Completed	
			end
	end	
end


