local NEED_ACTIVEPOINT = 50
local g_szMission = ""--"送交情报"
local g_nParam = {}
local g_nIndex = 0
local g_idMission = 0
local g_idScript = 0
local g_dwNextTime = 0
local g_k = 0
FirstObjects(1)
local g_NpcInfo = {
	[0] = {szNpcName="武大威", fX=134, fY=50},
}

local g_GuoFang_Pos = {
	[138] = {{28,52},{18,41},{11,30},{17,17},{28,16}},	-- 少林塔林
	[136] = {{45,47},{28,32},{16,24}},	                        -- 丐帮酒窖
	[133] = {{19,42},{33,36},{40,20},{20,20}},	            -- 明教 光明洞
	[135] = {{42,46},{32,38},{34,16},{26,10}},	            -- 武当 
	[141] = {{45,48},{16,47},{28,28}},	                        -- 天龙
	[134] = {{42,47},{44,39},{44,30}},	                        -- 逍遥谷底
	[137] = {{26,46},{46,28}},	                                    -- 峨眉 桃花阵
	[139] = {{14,40},{30,36},{46,30},{32,18},{18,18}},    -- 星宿
	[140] = {{29,49},{38,40},{15,39},{142,16}},               -- 天山
	[86] = {{25,47},{39,45},{45,44}},                             -- 慕容
}

function 前往帮会驻地()
	if 是否在驻地() ~= 1 then
		打印信息("前往帮会城市")
		召唤坐骑(1)
		跨图寻路(237,236,"洛阳")
		对话npc("范纯仁")
		对话选项("进入本帮城市")
		while 是否在驻地() ~= 1 do 延迟(2000) end
	end
end

function 离开帮会地图()
	if 是否在驻地() == 1 then
		召唤坐骑(1)
		地图寻路(98,157)
		延迟(1000)
		点击确定()
		while 是否在驻地() == 1 do 延迟(2000) end
	end
end

function 交任务()
	前往帮会驻地()
	地图寻路(g_NpcInfo[0].fX, g_NpcInfo[0].fY)
	对话npc(g_NpcInfo[0].szNpcName)
	对话选项(g_szMission)
	任务继续()
	完成任务()
end

function GF_IsMission()
	
	if -1 ~= 取任务进度("国防任务") then
		g_szMission = "国防任务"
		return 1
	elseif -1 ~= 取任务进度("追捕叛徒") then
		g_szMission = "追捕叛徒"
		return 1
	elseif -1 ~= 取任务进度("送交情报") then
		g_szMission = "送交情报"
		return 1
	elseif -1 ~= 取任务进度("刺杀贪官") then
		g_szMission = "刺杀贪官"
		return 1
	end
	return -1
end


function 国防任务()
	if GF_IsMission() == -1 then
		打印信息(g_szMission)
		if GetRoleActive() >= NEED_ACTIVEPOINT then
			前往帮会驻地()
			地图寻路(g_NpcInfo[0].fX, g_NpcInfo[0].fY)
			对话npc(g_NpcInfo[0].szNpcName)
			对话选项("国防任务")
			接受任务()
			延迟(1000)
			return 国防任务()
		else
			打印信息("人物活跃度不足,无法接取任务,离开帮会地图")
			离开帮会地图()
			跨图寻路(237,236,"洛阳")
			return
		end	
	else
		local 任务进度 = 取任务进度(g_szMission)
		if 任务进度 == 1 then
			交任务()
			return 国防任务()
		end
		
		if 任务进度 == 0 then
			local 类型 = 取任务参数(g_szMission,2)
			if 类型 == 600033 then
				local 参数 = 取任务参数(g_szMission,10)
				local x,y,ID,NpcName,_ = GetBuildingParameters(参数)
				离开帮会地图()
				召唤坐骑(1)
				ID_寻路(x,y,ID)
				对话npc(NpcName)
				对话选项(g_szMission)
				return 国防任务()
			end
			
			if 类型 == 600032 then
				local 参数 = 取任务参数(g_szMission,10)
				local x,y,ID,NpcName,_ = GetBuildingParameters(参数)
				离开帮会地图()
				召唤坐骑(1)
				ID_寻路(x,y,ID)
				local dqId = 取地图编号()
				对话npc(NpcName)
				对话选项(g_szMission)
				while 取地图编号() == dqId do 打印信息("正在传送到副本") 延迟(2000) g_k = g_k + 1 if g_k == 10 then g_k = 0 break end end
				if 取地图编号() ~= dqId then 
					召唤坐骑(0)
					local DtId = 取地图编号()
					local Retx = 1
					while 取任务参数(g_szMission,0) ~= 1 do
						local Ret = 打怪设置("",0)
						if Ret == -1 then
							打印信息( g_GuoFang_Pos[DtId][Retx][1].."   "..g_GuoFang_Pos[DtId][Retx][2])
							if g_GuoFang_Pos[DtId][Retx][1] ~= 0 and g_GuoFang_Pos[DtId][Retx][2] ~= 0 then
								地图寻路(g_GuoFang_Pos[DtId][Retx][1], g_GuoFang_Pos[DtId][Retx][2])
							end
							Retx = Retx + 1
						end
					end
					while 取地图编号() ~= dqId do 打印信息("任务完成正在传送出副本...") 延迟(2000) end
				end
				return 国防任务()
			end
			
			if 类型 == 600044 then
				if 查找对话项文本(3,"_144}") == 1 and 是否在驻地() == 1 then 
					对话选项("#{DJBHGZ_110622_144}")
					点击确定()
					while 是否在驻地() == 1 do 打印信息("正在传送到场景") 延迟(2000) g_k = g_k + 1 if g_k == 5 then g_k = 0 break end end
				else
					local 参数 = 取任务参数(g_szMission,8)
					local x,y,ID,_,_ = GetBuildingParameters(参数)
					离开帮会地图()
					ID_寻路(x,y,ID)
				end
				延迟(1000)
				召唤坐骑(0)
				while 取任务参数(g_szMission,0) ~= 1 do
					打怪设置("",0)
				end
				return 国防任务()
			end
			
			if 类型 == 600031 then
				local x,y = BhGetMapCoordinate("巡逻令")
				if x == 0 or y == 0 then
					打印信息("获取打图坐标错误。")
					return
				else
					地图寻路(x,y)
					使用物品("巡逻令")
					while 取任务参数(g_szMission,0) ~= 1 do
						打怪设置("",0)
					end
				end
				return 国防任务()
			end
		end
	end
end

国防任务()