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

-- 脚本任务数据
-- 11 类型 用来确定寻路后的回调（1抓鬼 100对话 101送信 102杀怪，103采集，104杀怪掉落,105买道具,106传说道具类型，107传说道具id,108答题,109宝图） 
--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



--脚本号
x210302_g_scriptId=210302
--任务id
x210302_g_missionId=10302

x210302_g_RoundConfigId =3

x210302_g_MinSceneGroupPointLevel=1
x210302_g_AdapteSceneGroupPointLevel=10
--随机位置
x210302_g_ScenePos={}
x210302_g_ScenePos[1]={{sceneId=30,posX=204,posZ=63},{sceneId=30,posX=203,posZ=35},{sceneId=30,posX=200,posZ=41},{sceneId=30,posX=153,posZ=50},{sceneId=30,posX=131,posZ=50},{sceneId=30,posX=218,posZ=163}}
x210302_g_ScenePos[2]={{sceneId=30,posX=204,posZ=63},{sceneId=30,posX=203,posZ=35},{sceneId=30,posX=200,posZ=41},{sceneId=30,posX=153,posZ=50},{sceneId=30,posX=131,posZ=50},{sceneId=30,posX=218,posZ=163},{sceneId=33,posX=127,posZ=217},{sceneId=33,posX=107,posZ=231},{sceneId=33,posX=119,posZ=254},{sceneId=33,posX=121,posZ=273},{sceneId=33,posX=121,posZ=302},{sceneId=33,posX=124,posZ=374}}
x210302_g_ScenePos[3]={{sceneId=30,posX=204,posZ=63},{sceneId=30,posX=203,posZ=35},{sceneId=30,posX=200,posZ=41},{sceneId=30,posX=153,posZ=50},{sceneId=30,posX=131,posZ=50},{sceneId=30,posX=218,posZ=163},{sceneId=33,posX=127,posZ=217},{sceneId=33,posX=107,posZ=231},{sceneId=33,posX=119,posZ=254},{sceneId=33,posX=121,posZ=273},{sceneId=33,posX=121,posZ=302},{sceneId=33,posX=124,posZ=374}}
x210302_g_ScenePos[4]={{sceneId=33,posX=127,posZ=217},{sceneId=33,posX=107,posZ=231},{sceneId=33,posX=119,posZ=254},{sceneId=33,posX=121,posZ=273},{sceneId=33,posX=121,posZ=302},{sceneId=33,posX=124,posZ=374},{sceneId=34,posX=337,posZ=172},{sceneId=34,posX=389,posZ=130},{sceneId=34,posX=394,posZ=134},{sceneId=34,posX=402,posZ=134},{sceneId=34,posX=403,posZ=140},{sceneId=34,posX=410,posZ=149},{sceneId=34,posX=431,posZ=229},{sceneId=34,posX=432,posZ=211},{sceneId=34,posX=240,posZ=230},{sceneId=34,posX=189,posZ=242},{sceneId=34,posX=350,posZ=206},{sceneId=34,posX=346,posZ=190}}
x210302_g_ScenePos[5]={{sceneId=33,posX=127,posZ=217},{sceneId=33,posX=107,posZ=231},{sceneId=33,posX=119,posZ=254},{sceneId=33,posX=121,posZ=273},{sceneId=33,posX=121,posZ=302},{sceneId=33,posX=124,posZ=374},{sceneId=34,posX=431,posZ=229},{sceneId=34,posX=432,posZ=211},{sceneId=34,posX=240,posZ=230},{sceneId=34,posX=189,posZ=242},{sceneId=34,posX=350,posZ=206},{sceneId=34,posX=346,posZ=190},{sceneId=10,posX=119,posZ=257},{sceneId=10,posX=71,posZ=257},{sceneId=10,posX=61,posZ=297},{sceneId=10,posX=93,posZ=311},{sceneId=10,posX=127,posZ=306},{sceneId=10,posX=167,posZ=301}}
x210302_g_ScenePos[6]={{sceneId=34,posX=431,posZ=229},{sceneId=34,posX=432,posZ=211},{sceneId=34,posX=240,posZ=230},{sceneId=34,posX=189,posZ=242},{sceneId=34,posX=350,posZ=206},{sceneId=34,posX=346,posZ=190},{sceneId=10,posX=119,posZ=257},{sceneId=10,posX=71,posZ=257},{sceneId=10,posX=61,posZ=297},{sceneId=10,posX=93,posZ=311},{sceneId=10,posX=127,posZ=306},{sceneId=10,posX=167,posZ=301},{sceneId=12,posX=72,posZ=75},{sceneId=12,posX=81,posZ=72},{sceneId=12,posX=81,posZ=83},{sceneId=12,posX=88,posZ=75},{sceneId=12,posX=128,posZ=171},{sceneId=12,posX=137,posZ=180}}
x210302_g_ScenePos[7]={{sceneId=10,posX=219,posZ=73},{sceneId=10,posX=170,posZ=85},{sceneId=10,posX=133,posZ=102},{sceneId=10,posX=82,posZ=102},{sceneId=10,posX=117,posZ=39},{sceneId=10,posX=169,posZ=17},{sceneId=12,posX=312,posZ=166},{sceneId=12,posX=306,posZ=169},{sceneId=12,posX=309,posZ=158},{sceneId=12,posX=368,posZ=142},{sceneId=12,posX=397,posZ=146},{sceneId=12,posX=408,posZ=140},{sceneId=32,posX=89,posZ=44},{sceneId=32,posX=95,posZ=48},{sceneId=32,posX=95,posZ=41},{sceneId=32,posX=95,posZ=30},{sceneId=32,posX=106,posZ=29},{sceneId=32,posX=111,posZ=36}}
x210302_g_ScenePos[8]={{sceneId=12,posX=312,posZ=166},{sceneId=12,posX=306,posZ=169},{sceneId=12,posX=309,posZ=158},{sceneId=12,posX=368,posZ=142},{sceneId=12,posX=397,posZ=146},{sceneId=12,posX=408,posZ=140},{sceneId=32,posX=123,posZ=109},{sceneId=32,posX=122,posZ=131},{sceneId=32,posX=108,posZ=168},{sceneId=32,posX=113,posZ=172},{sceneId=32,posX=104,posZ=174},{sceneId=32,posX=110,posZ=180},{sceneId=11,posX=70,posZ=142},{sceneId=11,posX=80,posZ=150},{sceneId=11,posX=89,posZ=158},{sceneId=11,posX=99,posZ=162},{sceneId=11,posX=113,posZ=175},{sceneId=11,posX=114,posZ=184}}
x210302_g_ScenePos[9]={{sceneId=32,posX=123,posZ=109},{sceneId=32,posX=122,posZ=131},{sceneId=32,posX=108,posZ=168},{sceneId=32,posX=113,posZ=172},{sceneId=32,posX=104,posZ=174},{sceneId=32,posX=110,posZ=180},{sceneId=11,posX=296,posZ=162},{sceneId=11,posX=296,posZ=174},{sceneId=11,posX=308,posZ=167},{sceneId=11,posX=323,posZ=167},{sceneId=11,posX=338,posZ=175},{sceneId=11,posX=338,posZ=156},{sceneId=18,posX=140,posZ=72},{sceneId=18,posX=144,posZ=90},{sceneId=18,posX=144,posZ=100},{sceneId=18,posX=190,posZ=124},{sceneId=18,posX=287,posZ=165},{sceneId=18,posX=281,posZ=174}}
x210302_g_ScenePos[10]={{sceneId=18,posX=388,posZ=286},{sceneId=18,posX=276,posZ=306},{sceneId=18,posX=253,posZ=328},{sceneId=18,posX=207,posZ=281},{sceneId=18,posX=201,posZ=282},{sceneId=18,posX=203,posZ=277},{sceneId=15,posX=391,posZ=110},{sceneId=15,posX=400,posZ=120},{sceneId=15,posX=387,posZ=129},{sceneId=15,posX=382,posZ=142},{sceneId=15,posX=305,posZ=147},{sceneId=15,posX=298,posZ=153},{sceneId=15,posX=328,posZ=328},{sceneId=15,posX=301,posZ=342},{sceneId=15,posX=295,posZ=361},{sceneId=15,posX=294,posZ=406},{sceneId=15,posX=298,posZ=398},{sceneId=15,posX=291,posZ=421}}

--采集id
x210302_g_GroupPointId=5001
--buffId
x210302_g_BuffId=11000
--字典id
x210302_g_DictId=30002
--- 任务函数 
--任务接受，已接受到任务id请求，通过接受验证，未执行添加逻辑
function x210302_OnMissionAccept( scene,selfId )
	-- body
	print("create buff")
	if AddMissionNN(scene,selfId,x210302_g_missionId) then  --添加任务，不同步
		local level = GetLevel(scene,selfId)
		local randomPos =x210302_GetRandomPos(level)
		local  pos = randomPos.sceneId*1000000+randomPos.posX*1000+randomPos.posZ
		
		local params = {{1,0},{4,pos},{11,109},{12,x210302_g_GroupPointId},{13,1}}
		
		SetMissionParams(scene,selfId,x210302_g_missionId,params) --设置客户端需要的脚本任务参数，不同步

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

		SetMissionCaredEvent(scene, selfId, x210302_g_missionId, 4, true)
		print("add mission")
	end

	print(GetMissionParam(scene, selfId, x210302_g_missionId, 11))
end

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

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

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


--事件 激活事件监听需要调用SetMissionCareEvent
--采集事件监听
function x210302_OnCollectItem( scene,selfId,groupPointId,SceneGroupPointId)
	-- body
	if groupPointId == GetMissionParam(scene, selfId, x210302_g_missionId, 12) then
		local count = GetMissionParam(scene, selfId, x210302_g_missionId, 1) + 1      --(param[1] 保存杀怪数)
		SetMissionParam(scene, selfId, x210302_g_missionId, 1, count, true)   --任务计数+1
		if count>=1 then
			SetMissionState(scene, selfId, x210302_g_missionId, 2)	
			--创建buff
			TreasureCreateBuff(scene,selfId,x210302_g_BuffId,x210302_g_DictId)
		end
	end
end



function x210302_GetRandomPos(level)
	local levelIndex = math.floor((level - x210302_g_MinSceneGroupPointLevel) / x210302_g_AdapteSceneGroupPointLevel) + 1
	if levelIndex > #x210302_g_ScenePos then
		levelIndex = #x210302_g_ScenePos
	end
	local groupIndex=math.random(#x210302_g_ScenePos[levelIndex])
	
	print(levelIndex, groupIndex,x210302_g_ScenePos[levelIndex][groupIndex])
	return x210302_g_ScenePos[levelIndex][groupIndex]
end	


