ShowMessage("寒玉谷任务 $Rev: 214 $")

--[[
[author]
descript="每天可以进入1次,身上交子必须大于 4 金"
]]--

script_name="寒玉谷"

function _SMain(...)

	local bDone = false

	local lv = Player:GetData("LEVEL")
	if lv < 30 then
		ShowMessage("等级不足30级，跳过此脚本")
		return
	end

	while true do

		System:Sleep(500)

		if GetActiveDataSceneID() == 0xf3 then

			if Player_GetBuff("古墓行功") ~= -1 then
				PushDebugMessage("等待修炼完成..." , 1)
			else
				if DataPool:UserBag_CountItemByIDTable( 30700200 ) > 0 and bDone == false then
					UseItemById(30700200)
					System:Sleep(1000)
				else
					MoveToNPC( 27 , 26 , 0xf3 , "林朝雄")
					QuestFrameOptionClicked("回到苏州", CMP_PART_MATCH)
					System:Sleep(1000)
				end
			end
		else
			if bDone == true then
				ShowMessage("寒玉谷修炼完成!")
				return
			end

			if GetQuestTimesInfo("寒玉谷") == 0 then
				ShowMessage("今日寒玉谷任务已经完成!")
				return
			end

			MoveToNPC(271, 222, DataBase:GetSceneID("苏州"), "林朝雄")

			if DataPool:UserBag_CountItemByIDTable( 30700200 ) > 0 then
				QuestFrameOptionClicked("进入寒玉谷", CMP_PART_MATCH)
				System:Sleep(1000)
			else
				local money = Player:GetData("JIAOZI")
				if money < 40000 then
					ShowMessage("身上交子少于 4 金,停止执行脚本")
					return
				end
				
				QuestFrameOptionClicked("购买古墓行功要诀", CMP_PART_MATCH)
				QuestFrameOptionClicked( "确定" , CMP_PART_MATCH)
				System:Sleep(1000)
				local strType,_,_,_,szText = DataPool:GetNPCEventList_Item(0);
				if strType == "text" then
					if string.find(szText, "背包空间不足") then
						ShowMessage("背包空间不足，退出脚本")
						return	-- 退出循环，结束脚本
					end
				end
			end
		end

		
		local isNext,szMsg = GetDebugMessage()

		while isNext == 1 do

			if string.find(szMsg, "今天已经使用过寒玉谷") then
				bDone = true 				
				break
			end
			isNext,szMsg = GetDebugMessage()

		end
	end

end

_SMain()