local 宝图名称 = "藏宝图"
local xiangzi_Pos = {
	[0] = {X=23, Y=23},
	[1] = {X=16, Y=46},
	[2] = {X=51, Y=32},
	[3] = {X=31, Y=39},
}
local Ret = 0
local Ret1 = 0
local Ret2 = 0
local Ret3 = 0
local x = 0
FirstObjects(1)
function 自动开宝图()
	补血检测(40)
	if GetBackpackNull(2) == 0 then 打印信息("材料背包已满，结束脚本") 召唤坐骑(1) 跨图寻路(159,148,"大理") return end
	local a,b = GetbackXY(宝图名称)
	local Ret4 = 0
	while IsVisble("Quest") ~= 1 do 延迟(100) Ret4 = Ret4 + 1 if Ret4 == 20 then break end end 
	if a == 0 or a == 0 then
		if 取物品存在("藏宝图") == -1 then
			打印信息("开宝图：使用物品失败，没找到该宝图..")
			召唤坐骑(1) 
			跨图寻路(159,148,"大理")
			return
		end
		return 自动开宝图()
	else
		local x,y,Id = GetMapCoordinate(宝图名称,0)
		if x == 0 or y == 0 then
			if GetTaskbaog("藏宝图") == -1 then
				打印信息("开宝图：不存在宝图,任务结束!!!") 
				return 
			end
			return 自动开宝图()
		end
		召唤坐骑(1)
		ID_寻路(x,y,Id)
		召唤坐骑(0)
		LuaString("Packet_ItemBtnClicked("..a..","..b..");")
		延迟(1000)
		while GetRoleState(0) ~= 1 do
			延迟(1000)
			Ret1 = Ret1 + 1
			if Ret1 == 5 or 取地图名() == "墓穴" then
				Ret1 = 0
				break
			end
			if GetRoleState(0) == 1 then 打印信息("副本创建成功.正在传送。。") while 取地图名() ~= "墓穴" do 延迟(1000) end end
		end
		延迟(1000)
		if 取地图名() == "墓穴" then
			打印信息("开宝图：进入墓穴!!!")
			地图寻路(30,30)
			打怪设置("宝藏主人",1)
			延迟(2000)
			local t_Nextindex = 0
			local xiangId = 0
			while GetGoodsNumber("宝箱钥匙") > 0 do
				地图寻路(xiangzi_Pos[t_Nextindex].X, xiangzi_Pos[t_Nextindex].Y)
				local x, y, Id = GetChestInfo()
				if Id ~= -1 and xiangId ~= Id then 
					xiangId = Id
					if 取距离(x,y) >= 2 then 地图寻路(x,y) end
					ID_采集物品(Id)
				end
				t_Nextindex = t_Nextindex + 1
				if t_Nextindex >= 3 then 
					break
				end
			end
			召唤坐骑(1)
			地图寻路(51,48)
			while 取地图名() == "墓穴" do 打印信息("传送出墓穴..") 延迟(1000) end
		end		
		return 自动开宝图() 
	end
end
function 补血检测(百分比血)
	if 取人百分比血() < 百分比血 then
		召唤坐骑(1)
		跨图寻路(185,336,"洛阳")
		延迟(间隔时间)
		对话npc("龙霸天")
		对话选项("满怒治疗")
		延迟(间隔时间)
		对话选项("是")
		延迟(间隔时间)
	end
end
打印信息("开宝图：开始执行开宝图脚本!!!")
自动开宝图()