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

-- 脚本任务数据
-- 11 类型 用来确定寻路后的回调（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

--捉鬼任务

--脚本号
x211907_g_scriptId=211907
--任务id
x211907_g_missionId=11907

x211907_g_RoundConfigId =19

x211907_g_SceneNpcLevels ={}
x211907_g_SceneNpcLevels[1]=80
x211907_g_SceneNpcLevels[2]=140
x211907_g_SceneNpcLevels[3]=200
x211907_g_SceneNpcLevels[4]=250
x211907_g_SceneNpcLevels[5]=300
x211907_g_SceneNpcLevels[6]=350
x211907_g_SceneNpcLevels[7]=400
x211907_g_SceneNpcLevels[8]=450
x211907_g_SceneNpcLevels[9]=500
x211907_g_SceneNpcLevels[10]=550
x211907_g_SceneNpcLevels[11]=600
x211907_g_SceneNpcLevels[12]=650
x211907_g_SceneNpcLevels[13]=700
x211907_g_SceneNpcLevels[14]=750
x211907_g_SceneNpcLevels[15]=1000




x211907_g_CopySceneData={{id=801,dict=39974,npcId=-1},{id=802,dict=39975,npcId=-1},{id=804,dict=39977,npcId=-1},{id=805,dict=39978,npcId=-1},{id=806,dict=39979,npcId=-1},{id=800,dict=39973,npcId=-1}}--副本id 任务栏字典 副本所在的npcid

x211907_g_SceneNpcIds={}
x211907_g_SceneNpcIds[1]={-1}
x211907_g_SceneNpcIds[2]={-1}
x211907_g_SceneNpcIds[3]={-1}
x211907_g_SceneNpcIds[4]={-1}
x211907_g_SceneNpcIds[5]={-1}
x211907_g_SceneNpcIds[6]={-1}
x211907_g_SceneNpcIds[7]={-1}
x211907_g_SceneNpcIds[8]={-1}
x211907_g_SceneNpcIds[9]={-1}
x211907_g_SceneNpcIds[10]={-1}
x211907_g_SceneNpcIds[11]={-1}
--- 任务函数 
--任务接受，已接受到任务id请求，通过接受验证，未执行添加逻辑
function x211907_OnMissionAccept( scene,selfId )
	-- body
	if AddMissionNN(scene,selfId,x211907_g_missionId) then  --添加任务，不同步
		local level = GetLevel(scene,selfId)
		local completeNpcId=-1 --x211907_GetRandomSceneNpcId(level) 完成任务npc
		local copySceneData =x211907_GetRandomCopySceneData(scene, selfId)
		local copyNpcId =-1 --copySceneData.npcId  副本npc
		local copySceneId = copySceneData.id
		local dictId = copySceneData.dict
		local params = {{11,110}, {12,copyNpcId}, {13,copySceneId},{14, completeNpcId},{15,dictId}}
		
		SetMissionParams(scene,selfId,x211907_g_missionId,params) --设置客户端需要的脚本任务参数，不同步

		DispatchMission(scene, selfId, x211907_g_missionId, x211907_g_RoundConfigId)      --同步任务
		SetMissionState(scene, selfId, x211907_g_missionId,1)	  --设置任务状态为任务进行中
		SetMissionCaredEvent(scene, selfId, x211907_g_missionId,9,true)--副本
	end
end

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

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

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

function  x211907_OnCopySceneFinish( scene,selfId,copyId)
	-- body
		local  missionCopyId = GetMissionParam(scene, selfId, x211907_g_missionId, 13)
		if missionCopyId == copyId then
			SetMissionState(scene, selfId, x211907_g_missionId, 2)	
		end	
end

function x211907_GetRandomSceneNpcId(level)
			
	local levelIndex =1
	for i=1,#x211907_g_SceneNpcLevels-1 do
		if level>x211907_g_SceneNpcLevels[i] and level<=x211907_g_SceneNpcLevels[i+1] then
			levelIndex=i+1
			break
		end
	end
	if levelIndex>#x211907_g_SceneNpcIds then 
		levelIndex=#x211907_g_SceneNpcIds
	end

	local sceneNpcIndex=math.random(#x211907_g_SceneNpcIds[levelIndex])
	
	--print(levelIndex, sceneNpcIndex,x211907_g_SceneNpcIds[levelIndex][sceneNpcIndex])
	return x211907_g_SceneNpcIds[levelIndex][sceneNpcIndex]
end
--随机取副本
function  x211907_GetRandomCopySceneData(scene, selfId)
	-- body
	local copyIndex=math.random(#x211907_g_CopySceneData)
	for i = 1, 100 do
		local copySceneIndex=math.random(#x211907_g_CopySceneData)
		print("copySceneIndex-----------------------------",copySceneIndex)
		if SetDailyMissionId(scene, selfId, copySceneIndex) then
			return x211907_g_CopySceneData[copySceneIndex]
		end	
	end	
	return x211907_g_CopySceneData[copyIndex]
end