ShowMessage("10-30 $Rev: 187 $")

-- ػ
function OnMission_210810()
	
	local strMission = "ػ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then
		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(252, 144, DataBase:GetSceneID("ػ"), "Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
	return false
end

-- ˻
function OnMission_210811()

	local strMission = "˻"

	if DataPool:IsMissionOutline(strMission) then
		MissionMoveToNPC("Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()

		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then
		MoveToNPC(258, 163, DataBase:GetSceneID("ػ"), "ȫ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end

-- Ȫˮ
function OnMission_210812()
	
	local strMission = "Ȫˮ"

	if DataPool:IsMissionOutline(strMission) then
		MissionMoveToNPC("Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()

		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then
		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:IsMissionCanCommit(idMission) then
			MoveToNPC(258, 163, DataBase:GetSceneID("ػ"), "ȫ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(257, 178, DataBase:GetSceneID("ػ"), "", 1)
			Dismount()
			UseItem("Ͳ", "")
		end

		return true
	end

	return false
end

-- Ⱥ
function OnMission_210813()
	
	
	local strMission = "Ⱥ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(258, 163, nSceneID, "ȫ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()

		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:IsMissionCanCommit(idMission) then
			MoveToNPC(258, 163, nSceneID, "ȫ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "ɳ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 237, 165)
			AI:Start(false)

			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end

			AI:Stop()
		end

		return true
	end

	return false
end

--֧Ԯ
function OnMission_210814()
	
	local strMission = "֧Ԯ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		
		MoveToNPC(258, 163, nSceneID, "ȫ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(141, 126, nSceneID, "ⳤ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end

	return false
end

-- ţС
function OnMission_210815()
	
	local strMission = "ţС"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(141, 126, nSceneID, "ⳤ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:IsMissionCanCommit(idMission) then
			MoveToNPC(141, 126, nSceneID, "ⳤ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(163, 58, nSceneID)
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "ʿ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 163, 58)
			AI:SetParameter("", "", 125, 89)
			AI:SetParameter("", "", 103, 122)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--װ׼
function OnMission_210816()
	
	local strMission = "װ׼"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		
		MoveToNPC(141, 126, nSceneID, "ⳤ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		
		local item = 
		{
			[1] = {x=98, y=136, name="ʿͷ"},
			[2] = {x=87, y=144, name="ʿ"},
			[3] = {x=107, y=146, name="ʿĳ"}
		}

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(141, 126, nSceneID, "ⳤ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			for i=1, 3 do
				if DataPool:GetPlayerMission_Variable(nSelIndex, i) == 0 then
					MoveTo(item[i].x, item[i].y, nSceneID)
					Dismount()
					Player_UseSkill_Collect(3, item[i].name)
					break
				end
			end
		end
		return true
	end

	return false
end

-- Ӫ
function OnMission_210817()

	local strMission = "Ӫ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(141, 126, nSceneID, "ⳤ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked("", CMP_PART_MATCH)
		QuestFrameOptionClicked("", CMP_PART_MATCH)
		QuestFrameOptionClicked("ɻ", CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end

	return false
end

-- ڶҩ
function OnMission_210818()
	
	local strMission = "ڶҩ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(139, 232, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(108, 277, nSceneID)
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "һƷǰ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 108, 277)
			AI:SetParameter("", "", 145, 279)
			AI:SetParameter("", "", 68, 272)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--ʩ
function OnMission_210819()
	
	local strMission = "ʩ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(139, 232, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(187, 248, nSceneID, "", 1)
			Dismount()
			UseItem("߶", "")
		end
		return true
	end

	return false
end

--ٻ
function OnMission_210820()
	
	local strMission = "ٻ"
	local nSceneID = DataBase:GetSceneID("ػ")
	
	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end
	
	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(139, 232, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(176, 270, nSceneID, "", 1)
			Dismount()
			UseItem("ʯ", "")
		end

		return true
	end

	return false
end

--ƻ
function OnMission_210821()
	
	local strMission = "ƻ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(139, 232, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(232, 235, nSceneID)
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 232, 235)
			AI:SetParameter("", "", 179, 214)
			AI:SetParameter("", "", 173, 239)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end

		return true
	end

	return false
end

--ɱ
function OnMission_210822()
	
	local strMission = "ɱ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(139, 232, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(141, 126, nSceneID, "ⳤ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(94, 211, nSceneID)
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 94, 211)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end

		return true
	end

	return false
end

--ս
function OnMission_210823()
	
	local strMission = "ս"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(141, 126, nSceneID, "ⳤ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(252, 144, nSceneID, "Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 

		return true
	end

	return false
end

--ҽ
function OnMission_210824()
	
	local strMission = "ҽ"
	local nSceneID = DataBase:GetSceneID("ػ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(252, 144, nSceneID, "Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(255, 372, 0, "Ҷ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end

--ű
function OnMission_890235()
	
	local strMission = "ű"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(255, 372, 0, "Ҷ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(168, 217, DataBase:GetSceneID("ɽ"), "Ŵʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end

--ռѪ
function OnMission_890222()
	
	local strMission = "ռѪ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(168, 217, nSceneID, "Ŵʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(168, 217, nSceneID, "Ŵʦ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "ˮ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 165, 165)
			AI:SetParameter("", "", 134, 200)
			AI:SetParameter("", "", 194, 198)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end

		return true
	end

	return false
end

--ɼҩ
function OnMission_890221()
	
	local strMission = "ɼҩ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(168, 217, nSceneID, "Ŵʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(168, 217, nSceneID, "Ŵʦ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɼ")
			AI:SetParameter("ʼ")
			AI:SetParameter("Ŀ", "", "Ĳ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 179, 174)
			AI:SetParameter("", "", 134, 202)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--ҩ
function OnMission_890223()
	
	local strMission = "ҩ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(168, 217, nSceneID, "Ŵʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(168, 217, nSceneID, "Ŵʦ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			if DataPool:UserBag_CountItemByName("ҩ") == 1 then
				MoveTo(168, 216, nSceneID, "", 1)
				Dismount()
				UseItem("ҩ", "")
			else
				MoveToNPC(166, 200, nSceneID, "")
				QuestFrameOptionClicked("ҩҺ", CMP_PART_MATCH)
				QuestFrameOptionClicked("ʹС", CMP_PART_MATCH)
				QuestFrameOptionClicked("ȼ", CMP_PART_MATCH)
				QuestFrameOptionClicked("Ӵ", CMP_PART_MATCH)
				QuestFrameOptionClicked("ȡҩ", CMP_PART_MATCH)
			end
		end
		return true
	end

	return false
end

--Ů
function OnMission_890225()
	
	local strMission = "Ů"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(168, 217, nSceneID, "Ŵʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(63, 136, nSceneID, "Ӱ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "ڵĶ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 86, 117)
			AI:SetParameter("", "", 88, 75)
			AI:SetParameter("", "", 47, 89)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--ټ
function OnMission_890226()
	
	local strMission = "ټ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(63, 136, nSceneID, "Ӱ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(60, 128, nSceneID, "")
		QuestFrameOptionClicked("ѯʿŴʦһ", CMP_PART_MATCH)
		QuestFrameOptionClicked("˵Ļƾ֤", CMP_PART_MATCH)
		QuestFrameOptionClicked("ұһ", CMP_PART_MATCH)
		QuestFrameOptionClicked("ټ", CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end

--һ̽
function OnMission_890227()
	
	local strMission = "һ̽"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(60, 128, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(200, 67, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
			MoveToNPC(139, 106, nSceneID, "Ŵʦ֮Ĺ")
			QuestFrameOptionClicked("ϸϸ̽˴", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--
function OnMission_890228()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(200, 67, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(200, 67, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(241, 60, nSceneID, "ĿŴʦ")
			QuestFrameOptionClicked("֪ǷǿŴʦ", CMP_PART_MATCH)
			QuestFrameOptionClicked("С", CMP_PART_MATCH)
			QuestFrameOptionClicked("ʦ", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--Ի
function OnMission_890229()
	
	local strMission = "Ի"
	local nSceneID = DataBase:GetSceneID("ɽ")
	local nItemTableID = 38000786
	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(200, 67, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:UserBag_CountItemByIDTable(nItemTableID) >= 1 then
			MoveToNPC(200, 67, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(181, 63, nSceneID, "")
			QuestFrameOptionClicked("", CMP_PART_MATCH)
			ShopBuy(nItemTableID, 1)
			System:Sleep(1000)
		end

		return true
	end

	return false
end

--Ǽ
function OnMission_890230()
	
	local strMission = "Ǽ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(200, 67, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(200, 67, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(241, 60, nSceneID, "ĿŴʦ")
			QuestFrameOptionClicked("һ", CMP_PART_MATCH)
			QuestFrameOptionClicked("ڶ", CMP_PART_MATCH)
			QuestFrameOptionClicked("һ", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--ݼӢ
function OnMission_890231()
	
	local strMission = "ݼӢ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(200, 67, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(90, 42, nSceneID, "Ƿ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(123, 51, nSceneID, "", 1)
			Dismount()
			UseItem("ϵȻƾ", "")
		end

		return true
	end

	return false
end

--ȼ
function OnMission_890236()
	
	local strMission = "ȼ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(90, 42, nSceneID, "Ƿ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(160, 159, 2, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		return true
	end
	return false
end

--ֶ
function OnMission_890233()
	
	local strMission = "ֶ"
	local nSceneID = DataBase:GetSceneID("ɽ")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(90, 42, nSceneID, "Ƿ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(45, 59, DataBase:GetSceneID(""), "Сϲ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			if "ɽ" == GetActiveSceneName() then
				MoveToNPC(90, 42, nSceneID, "Ƿ")
				QuestFrameOptionClicked("ǰ", CMP_PART_MATCH)
				System:Sleep(1000)
			else
				MoveToNPC(45, 59, DataBase:GetSceneID(""), "Сϲ")
			end
		end

		return true
	end

	return false
end

--Ѱ
function OnMission_890207()
	
	local strMission = "Ѱ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(45, 59, nSceneID, "Сϲ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(104, 80, nSceneID, "ҵʬ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		end

		return true
	end

	return false
end

--֦
function OnMission_890208()
	
	local strMission = "֦"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(104, 80, nSceneID, "ҵʬ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(116, 98, nSceneID, "Ȼ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(104, 80, nSceneID, "ҵʬ")
			QuestFrameOptionClicked("ʬ", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--䶾ʬ
function OnMission_890209()
	
	local strMission = "䶾ʬ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(116, 98, nSceneID, "Ȼ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(116, 98, nSceneID, "Ȼ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "۶")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 106, 75)
			AI:SetParameter("", "", 81, 51)
			AI:SetParameter("", "", 58, 88)
			
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end

		return true
	end

	return false
end

--
function OnMission_890210()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(116, 98, nSceneID, "Ȼ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(116, 98, nSceneID, "Ȼ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɼ")
			AI:SetParameter("ʼ")
			AI:SetParameter("Ŀ", "", "ʬ")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 114, 116)
			AI:SetParameter("", "", 184, 106)
			AI:SetParameter("", "", 78, 89)
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--˿
function OnMission_890211()
	
	local strMission = "˿"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(116, 98, nSceneID, "Ȼ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(83, 163, nSceneID, "ͬ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			local item = 
			{
				[1] = {x=141, y=111, name="ʵѪ"},
				[2] = {x=131, y=123, name="İ"},
				[3] = {x=106, y=146, name="ϵĽ"},
			}

			for i=1,3 do
				if DataPool:GetPlayerMission_Variable(nSelIndex, i) == 0 then
					MoveToNPC(item[i].x, item[i].y, nSceneID, item[i].name)
					QuestFrameOptionClicked("", CMP_PART_MATCH)
					break
				end
			end
		end

		return true
	end

	return false
end

--ҲҲ
function OnMission_890212()
	
	local strMission = "ҲҲ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(83, 163, nSceneID, "ͬ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(83, 163, nSceneID, "ͬ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(83, 163, nSceneID, "ͬ")
			QuestFrameOptionClicked("ҲҲ", CMP_PART_MATCH)
			QuestFrameOptionClicked("ҲҲ", CMP_PART_MATCH)
			QuestFrameOptionClicked("ҲҲ", CMP_PART_MATCH)
			QuestFrameOptionClicked("ҲҲ", CMP_PART_MATCH)
			QuestFrameOptionClicked("ͷ¶β", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--
function OnMission_890213()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(83, 163, nSceneID, "ͬ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(97, 171, nSceneID, "粨")
			Dismount()
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "׵")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 44, 138)
			AI:SetParameter("", "", 88, 145)
			AI:SetParameter("", "", 65, 127)
			
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--
function OnMission_890214()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(97, 171, nSceneID, "粨")
		Dismount()
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(97, 171, nSceneID, "粨", false)
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(76, 193, nSceneID, "ƾͰ", false)
			QuestFrameOptionClicked("͵ȡ", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--жԹ
function OnMission_890215()
	
	local strMission = "жԹ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(97, 171, nSceneID, "粨")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(97, 171, nSceneID, "粨")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			if FindCharacterByName("粨ĳ") == INVALID_ID then
				MoveTo(133, 169, nSceneID)
				Dismount()
				UseItem("ʣľ", "")
			else
				AI:SetAI("ɱ")
				AI:SetParameter("Ŀ", "", "粨ĳ")
				AI:SetParameter("ͼ", nSceneID)
				AI:SetParameter("", "", 133, 169)
				
				AI:Start(false)
				while DataPool:IsMissionCanCommit(idMission) == false do
					if FindCharacterByName("粨ĳ") == INVALID_ID then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()
			end
		end

		return true
	end

	return false
end

--жԹ
function OnMission_890215()
	
	local strMission = "жԹ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(97, 171, nSceneID, "粨")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(97, 171, nSceneID, "粨")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			if FindCharacterByName("粨ĳ") == INVALID_ID then
				MoveTo(133, 169, nSceneID)
				Dismount()
				UseItem("ʣľ", "")
			else
				AI:SetAI("ɱ")
				AI:SetParameter("Ŀ", "", "粨ĳ")
				AI:SetParameter("ͼ", nSceneID)
				AI:SetParameter("", "", 133, 169)
				
				AI:Start(false)
				while DataPool:IsMissionCanCommit(idMission) == false do
					if FindCharacterByName("粨ĳ") == INVALID_ID then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()
			end
		end

		return true
	end

	return false
end

--Ľ
function OnMission_890216()
	
	local strMission = "Ľ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(97, 171, nSceneID, "粨")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(101, 218, nSceneID, "Ľݸ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end


--
function OnMission_890217()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(101, 218, nSceneID, "Ľݸ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(101, 218, nSceneID, "Ľݸ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(104, 212, nSceneID, "һķ")
			QuestFrameOptionClicked("", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--
function OnMission_890218()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(101, 218, nSceneID, "Ľݸ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if "" == GetActiveSceneName() then
			MoveToNPC(101, 218, nSceneID, "Ľݸ")
			QuestFrameOptionClicked("ȥ", CMP_PART_MATCH)
			System:Sleep(1000)
		else
			MoveToNPC(243, 42, DataBase:GetSceneID(""), "׷")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		end

		return true
	end

	return false
end

--Ѱҽ
function OnMission_890219()
	
	local strMission = "Ѱҽ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(243, 42, nSceneID, "׷")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(176, 78, nSceneID, "ľ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end

	return false
end

--
function OnMission_890660()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(176, 78, nSceneID, "ľ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(180, 36, nSceneID, "ľ¡")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(177, 45, nSceneID, "ľ")
			QuestFrameOptionClicked("鿴Ĳ֢", CMP_PART_MATCH)
			QuestFrameOptionClicked("˫", CMP_PART_MATCH)
			QuestFrameOptionClicked("۲", CMP_PART_MATCH)	
		end

		return true
	end

	return false
end

--ֲ
function OnMission_890659()
	
	local strMission = "ֲ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(180, 36, nSceneID, "ľ¡")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(180, 36, nSceneID, "ľ¡")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(178, 45, nSceneID, "", 1)
			Dismount()
			UseItem("", "")
		end
		return true
	end

	return false
end

--ɳ
function OnMission_890662()
	
	local strMission = "ɳ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(180, 36, nSceneID, "ľ¡")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(180, 36, nSceneID, "ľ¡")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			if FindCharacterByName("ɺ") == INVALID_ID then
				MoveTo(111, 100, nSceneID)
				Dismount()
				UseItem("", "")
			else
				AI:SetAI("ɱ")
				AI:SetParameter("Ŀ", "", "ɺ")
				AI:SetParameter("ͼ", nSceneID)
				AI:SetParameter("", "", 111, 100)
				
				AI:Start(false)
				while true do
					if FindCharacterByName("ɺ") == INVALID_ID then break end
					System:Sleep(200)
				end
				AI:Stop()
			end
		end

		return true
	end

	return false
end

--֮Ѫ
function OnMission_890663()
	
	local strMission = "֮Ѫ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(180, 36, nSceneID, "ľ¡")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(180, 36, nSceneID, "ľ¡")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(176, 78, nSceneID, "ľ")
			QuestFrameOptionClicked("Ѫ", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--Թƹ
function OnMission_890664()
	
	local strMission = "Թƹ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(180, 36, nSceneID, "ľ¡")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(180, 36, nSceneID, "ľ¡")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveToNPC(177, 45, nSceneID, "ľ")
			QuestFrameOptionClicked("", CMP_PART_MATCH)
		end

		return true
	end

	return false
end

--հ
function OnMission_890665()
	
	local strMission = "հ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(180, 36, nSceneID, "ľ¡")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(176, 78, nSceneID, "ľ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false
end

--
function OnMission_890666()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(176, 78, nSceneID, "ľ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(280, 205, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "籪")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 164, 185)
			AI:SetParameter("", "", 110, 218)
			AI:SetParameter("", "", 182, 191)
			
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end

		return true
	end

	return false
end

--Ľ
function OnMission_890667()
	
	local strMission = "Ľ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(280, 205, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(280, 205, nSceneID, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			AI:SetAI("ɼ")
			AI:SetParameter("Ŀ", "", "˲")
			AI:SetParameter("ͼ", nSceneID)
			AI:SetParameter("", "", 262, 179)
			AI:SetParameter("", "", 247, 224)
			AI:SetParameter("", "", 280, 205)
			
			AI:Start(false)
			while DataPool:IsMissionCanCommit(idMission) == false do
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end

	return false
end

--ŵҩ
function OnMission_890668()
	
	local strMission = "ŵҩ"
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(280, 205, nSceneID, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(257, 133, nSceneID, "ƶ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		else
			MoveTo(272, 207, nSceneID, "", 1)
			Dismount()
			UseItem("Ѭ", "")
		end

		return true
	end

	return false
end

--
function OnMission_890669()
	
	local strMission = ""
	local nSceneID = DataBase:GetSceneID("")

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(257, 133, nSceneID, "ƶ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(160, 159, 2, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--ʥ
function OnMission_1018702()
	
	local strMission = "ʥ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
	
		MoveToNPC(287, 138, 2, "ٸ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--ʥ
function OnMission_1018703()
	
	local strMission = "ʥ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(267, 243, 1, "Ĺ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--ʥ
function OnMission_1018704()
	
	local strMission = "ʥ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(366, 228, 0, "н")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--ڰ
function OnMission_1018705()
	
	local strMission = "ڰ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(356, 208, 0, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--
function OnMission_500601()

	local strMission = ""

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		local szSceneName = GetActiveSceneName()

		if szSceneName == "" then

			MoveToNPC(40, 40, -1, "ʥ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()

		else
			MoveToNPC(366, 228, 0, "н")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	
		end

		return true
	end
end

--
function OnMission_402060()

	local strMission = ""

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		local szSceneName = GetActiveSceneName()

		if szSceneName == "" then

			if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
				MoveToNPC(40, 40, -1, "ʥ")
				QuestFrameOptionClicked("ȷ", CMP_PART_MATCH)
			else
				AI:SetAI("ɱ")
				AI:SetParameter("Ŀ", "", "")
				AI:SetParameter("Ŀ", "", "")
				AI:SetParameter("Ŀ", "", "")
				AI:SetParameter("Ŀ", "", "")
				AI:SetParameter("Ŀ", "", "")
				AI:SetParameter("", "", 64, 46)
				AI:SetParameter("", "", 81, 46)
				AI:SetParameter("", "", 81, 61)
				AI:SetParameter("", "", 81, 81)
				AI:SetParameter("", "", 64, 81)
				AI:SetParameter("", "", 44, 81)
				AI:SetParameter("", "", 44, 64)
				AI:SetParameter("", "", 64, 61)
				AI:SetParameter("ʰȡ", PM_NOPICKUP)
				AI:SetParameter("ͼ", -1)

				AI:Start(false)
				while true  do
					if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()
				
			end
		end

		return true
	end

end

--ʦڴ1
function OnMission_500602()
	
	local strMission = "ʦڴ(1)"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(256, 273, 0, "ʦ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		end
		return true
	end
end

--ʦڴ2
function OnMission_500604()
	
	local strMission = "ʦڴ(2)"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(256, 273, 0, "ʦ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()
		end
		return true
	end
end

--ʦڴ(3)
function OnMission_500603()

	local strMission = "ʦڴ(3)"

	if Player:GetData("LEVEL") < 32 then return false end

	if DataPool:IsMissionOutline("ʦڴ3") then
		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		return true
		
	end
end

--ʦڴ(4)
function OnMission_500603()

	local strMission = "ʦڴ(4)"

	if Player:GetData("LEVEL") < 35 then return false end

	if DataPool:IsMissionOutline("ʦڴ4") then
		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		return true
		
	end
end

--ʮʮ
function OnMission_1018700()
	
	local strMission = "ʮʮ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
	
		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
	end
end

--رʦ(1)
function OnMission_250052()

	local strMission = "رʦ(1)"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
		
	end
end

--
function OnMission_1018707()

	local strMission = ""

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)
		MoveToNPC(214, 325, 0, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()
		return true
		
	end
end

g_Shimen_Npc = {
	--
	[0] = {szNpcName="۷", fX=96, fY=83, nSceneID=9},
	--
	[1] = {szNpcName="", fX=98, fY=105, nSceneID=11},
	--ؤ
	[2] = {szNpcName="ͨ", fX=91, fY=77, nSceneID=10},
	--䵱
	[3] = {szNpcName="", fX=78, fY=95, nSceneID=12},
	--
	[4] = {szNpcName="", fX=96, fY=88, nSceneID=15},
	--
	[5] = {szNpcName="", fX=96, fY=92, nSceneID=16},
	--
	[6] = {szNpcName="", fX=95, fY=88, nSceneID=13},
	--ɽ
	[7] = {szNpcName="", fX=95, fY=60, nSceneID=17},
	--ң
	[8] = {szNpcName="ع", fX=119, fY=152, nSceneID=14},
	--
	[9] = {szNpcName="", fX=0, fY=0, nSceneID=0},
	--Ī
	[10] = {szNpcName="Ľʤ", fX=68, fY=127, nSceneID=284},
	--
	[11] = {szNpcName="", fX=100, fY=64, nSceneID=615}
}

--Чʦ
function OnMission_890335()

	local strMission = "Чʦ"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		local nMenPai = Player:GetData("MENPAI")

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			
			local Npc = g_Shimen_Npc[nMenPai]

			MoveToNPC(Npc.fX, Npc.fY, Npc.nSceneID, Npc.szNpcName)
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
			QuestFrameMissionComplete()	-- 

			return true
		end
	end
end

--ͭӡ֮Ա뺯
function OnMission_1018819()
	local strMission = "ͭӡ֮Ա뺯"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(256, 273, 0, "ʦ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(149, 121, 2, "ף")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		return true
	end
	return false
end

--ͭӡ֮ʦ
function OnMission_1018847()
	local strMission = "ͭӡ֮ʦ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(149, 121, 2, "ף")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		local nMenPai = Player:GetData("MENPAI")
		local Npc = g_Shimen_Npc[nMenPai]

		MoveToNPC(Npc.fX, Npc.fY, Npc.nSceneID, Npc.szNpcName)
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end
	return false
end

--ͭӡ֮
function OnMission_1039814()
	local strMission = "ͭӡ֮"

	if DataPool:IsMissionOutline(strMission) then
		local nMenPai = Player:GetData("MENPAI")
		local Npc = g_Shimen_Npc[nMenPai]

		MoveToNPC(Npc.fX, Npc.fY, Npc.nSceneID, Npc.szNpcName)
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then

			MoveToNPC(94, 201, 2, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
			QuestFrameAcceptClicked()

		else
			MoveToNPC(105, 123, 2, "¬")
			QuestFrameOptionClicked("ҩƷ", CMP_PART_MATCH)
			ShopBuy(30001003, 1)
			System:Sleep(1000)
		end

		return true
	end
	return false
end

--ͭӡ֮״ͼ
function OnMission_1018848()

	local strMission = "ͭӡ֮״ͼ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(94, 201, 2, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(224, 226, 1, "d")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end
	return false

end

--췴
function OnMission_500604()

	local strMission = "췴"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then

		else
			if GetActiveSceneName() ~= "Ӫ" then
				MoveToNPC(108, 110, 3, "췴ָ")
				QuestFrameOptionClicked("˷", CMP_PART_MATCH)	-- ѡѡ
			else
				MoveToNPC(74, 113, -2, "췴ָ")
				QuestFrameOptionClicked("췴", CMP_PART_MATCH)	-- ѡѡ
				QuestFrameMissionComplete()	-- 
			end
		end

		return true
	end

	return false

end

--
function OnMission_402061()

	local strMission = ""

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		AI:SetAI("ɱ")
		AI:SetParameter("ͼ", -1)

		if DataPool:GetPlayerMission_Variable(nSelIndex, 1) ~= 30 then

			AI:SetParameter("Ŀ", "", "ආ")
			AI:SetParameter("", "", 86, 88)
			AI:SetParameter("", "", 99, 59)
			AI:SetParameter("", "", 94, 24)
			AI:SetParameter("", "", 24, 26)
			AI:SetParameter("", "", 40, 70)
			AI:SetParameter("", "", 24, 88)
			AI:SetParameter("", "", 20, 104)
			AI:Start(false)

			while DataPool:GetPlayerMission_Variable(nSelIndex, 1) ~= 30  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "Ӫ" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		elseif DataPool:GetPlayerMission_Variable(nSelIndex, 2) ~= 1 then

			AI:SetParameter("Ŀ", "", "ͷĿ")
			AI:SetParameter("", "", 18, 102)
			AI:Start(false)

			while DataPool:GetPlayerMission_Variable(nSelIndex, 2) ~= 10  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "Ӫ" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false

end

--֮Ħ¶
function OnMission_1018706()

	local strMission = "֮Ħ¶"

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		MoveToNPC(17, 229, 213, "Ħ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
		QuestFrameMissionContinue()	-- 
		QuestFrameMissionComplete()	-- 
		QuestFrameAcceptClicked()

		return true
	end

	return false

end

--Ħ¶
function OnMission_10300501()

	local strMission = "Ħ¶"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(17, 229, 213, "Ħ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(17, 229, 213, "Ħ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else
			if GetActiveDataSceneID() ~= 213 then
				MoveTo(17, 229, 213)
			end

			AI:SetAI("ɱ")
			AI:SetParameter("ͼ", 213)

			if DataPool:GetPlayerMission_Variable(nSelIndex, 1) ~= 10 then

				AI:SetParameter("Ŀ", "", "ؼկ")
				AI:SetParameter("", "", 17, 216)
				AI:Start(false)
				while DataPool:GetPlayerMission_Variable(nSelIndex, 1) ~= 10  do
					if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "Ħ¶" then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()

			elseif DataPool:GetPlayerMission_Variable(nSelIndex, 2) ~= 10 then

				AI:SetParameter("Ŀ", "", "ؼկ")
				AI:SetParameter("", "", 57, 226)
				AI:Start(false)
				while DataPool:GetPlayerMission_Variable(nSelIndex, 2) ~= 10  do
					if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "Ħ¶" then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()

			elseif DataPool:GetPlayerMission_Variable(nSelIndex, 3) ~= 10 then

				AI:SetParameter("Ŀ", "", "ؼկ")
				AI:SetParameter("", "", 86, 152)
				AI:Start(false)
				while DataPool:GetPlayerMission_Variable(nSelIndex, 3) ~= 10  do
					if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "Ħ¶" then
						break
					end
					System:Sleep(200)
				end
				AI:Stop()

			end

		end

		return true
	end
	return false

end

--
function OnMission_1030050()

	local strMission = ""

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(263, 47, 18, "")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(263, 47, 18, "")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else
			MoveTo(200, 121, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "ؼկʹ")
			AI:SetParameter("", "", 200, 121)
			AI:SetParameter("", "", 104, 200)
			--AI:SetParameter("ʰȡ", PM_PICKUP)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()
		end
	end
	return false

end

--ĻƤ
function OnMission_1030051()

	local strMission = "ĻƤ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(260, 88, 18, "ٻ")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(260, 88, 18, "ٻ")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)	-- ѡѡ
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete(1)
		else
			MoveTo(184, 66, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("", "", 184, 66)
			AI:SetParameter("", "", 150, 89)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()
		end
		return true
	end
	return false

end

--Ǻ
function OnMission_1000050()

	local strMission = "Ǻ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(242, 72, 18, "η")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(242, 72, 18, "η")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else

			MoveTo(240, 262, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("", "", 240, 262)
			AI:SetParameter("", "", 250, 216)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false
end

--
function OnMission_1000051()

	local strMission = ""

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(242, 72, 18, "η")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(242, 72, 18, "η")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else

			MoveTo(256, 178, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "Ǯ")
			AI:SetParameter("", "", 256, 178)
			AI:SetParameter("", "", 253, 210)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false
end

function AcceptQuest( thismap_id , sQuestName , thismap_x , thismap_y , sNpcName )

	if DataPool:IsMissionOutline(sQuestName) then
		MoveToNPC( thismap_x , thismap_y , thismap_id , sNpcName )
		QuestFrameOptionClicked(sQuestName, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	return false 
end

function KillQuest( thismap_id , sQuestName , kill_x , kill_y , sKillName , finish_x , finish_y , finish_NpcName )

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(sQuestName)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC( finish_x , finish_y , thismap_id , finish_NpcName )
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else

			MoveTo( kill_x , kill_y , thismap_id )

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", sKillName )
			AI:SetParameter("", "", kill_x , kill_y)
			AI:SetParameter("ͼ", thismap_id )

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveDataSceneID() ~= thismap_id then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false

end

--˽ͨɹ , 6ķҪ10
function OnMission_3101()

	local strMission = "˽ͨɹ"

	if AcceptQuest(18 , strMission , 259, 88 , "ٻ" ) then
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(242, 72, 18, "η")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else

			MoveTo(156, 163, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("", "", 156, 163)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false
end

function OnMission_3201()

	local strMission = "һؼկ"
	local thismap_id = 18 

	if AcceptQuest( thismap_id , strMission , 263, 45 , "" ) then
		return true
	end

	local result = KillQuest( thismap_id , strMission , 127 , 123 , "ؼկ̽" , 263 , 46 , "" )
	
	return result 
end


--ܴ
function OnMission_3501()

	local strMission = "ܴ"

	if DataPool:IsMissionOutline(strMission) then
		MoveToNPC(242, 72, 18, "η")
		QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
		QuestFrameAcceptClicked()
		return true
	end

	local nSelIndex, idMission, idScript = DataPool:GetPlayerMission(strMission)

	if nSelIndex ~= -1 then

		DbgPrintf("%d %d %d", nSelIndex, idMission, idScript)

		if  DataPool:GetPlayerMission_Variable(nSelIndex, 0) == 1 then
			MoveToNPC(242, 72, 18, "η")
			QuestFrameOptionClicked(strMission, CMP_PART_MATCH)
			QuestFrameMissionContinue()	-- 
			QuestFrameMissionComplete()	-- 
		else

			MoveTo(156, 163, 18)

			AI:SetAI("ɱ")
			AI:SetParameter("Ŀ", "", "")
			AI:SetParameter("", "", 156, 163)
			AI:SetParameter("ͼ", 18)

			AI:Start(false)
			while true  do
				if DataPool:IsMissionCanCommit(idMission) or GetActiveSceneName() ~= "" then
					break
				end
				System:Sleep(200)
			end
			AI:Stop()

		end

		return true
	end
	return false
end

local nLastLevel = 0

function _SMain(...)

	if Player:GetData("LEVEL") > 40 then return end

	if 9 == Player:GetData("MENPAI") then
		ShowMessage("δɣɺִд˽ű")
		return
	end

	local nCheckTick = 0 

	while true do

		local nCurLevel = Player:GetData("LEVEL")
		local nCurExperience = Player:GetData("EXP");
		local nRequireExperience = Player:GetData("NEEDEXP");

		if nCurExperience >= nRequireExperience and nCurLevel < 30 then
			DoLuaString("", "AskLevelUp(0);")
		end

		if nCurLevel > nLastLevel and nCurLevel < 30 then
			
			for i=1, 30 do
				if PlayerPackage:IsPresent(i-1) then
					if PlayerPackage:GetItemClass(i-1) == ITEM_CLASS.ICLASS_EQUIP then
						if nCurLevel > PlayerPackage:GetNeedLevel(i-1) + 1 then
							DiscardItem(ITEM_OWNER.IO_MYSELF_PACKET, i-1)
							System:Sleep(1000)
						end
					end
				end
			end
			
			nLastLevel = nCurLevel
		end

		DataPool:GetMissionOutline()

		if OnMission_210810() then
		elseif OnMission_210811() then
		elseif OnMission_210812() then
		elseif OnMission_210813() then
		elseif OnMission_210814() then
		elseif OnMission_210815() then
		elseif OnMission_210816() then
		elseif OnMission_210817() then
		elseif OnMission_210818() then
		elseif OnMission_210819() then
		elseif OnMission_210820() then
		elseif OnMission_210821() then
		elseif OnMission_210822() then
		elseif OnMission_210823() then
		elseif OnMission_210824() then

		elseif OnMission_890235() then
		elseif OnMission_890222() then
		elseif OnMission_890221() then
		elseif OnMission_890223() then
		elseif OnMission_890225() then
		elseif OnMission_890226() then
		elseif OnMission_890227() then
		elseif OnMission_890228() then
		elseif OnMission_890229() then
		elseif OnMission_890230() then
		elseif OnMission_890231() then
		elseif OnMission_890236() then
		elseif OnMission_890233() then
		elseif OnMission_890207() then
		elseif OnMission_890208() then
		elseif OnMission_890209() then
		elseif OnMission_890210() then
		elseif OnMission_890211() then
		elseif OnMission_890212() then
		elseif OnMission_890213() then
		elseif OnMission_890214() then
		elseif OnMission_890215() then
		elseif OnMission_890216() then
		elseif OnMission_890217() then
		elseif OnMission_890218() then
		elseif OnMission_890219() then

		elseif OnMission_890660() then
		elseif OnMission_890659() then
		elseif OnMission_890662() then
		elseif OnMission_890663() then
		elseif OnMission_890664() then
		elseif OnMission_890665() then
		elseif OnMission_890666() then
		elseif OnMission_890667() then
		elseif OnMission_890668() then
		elseif OnMission_890669() then
		elseif OnMission_1018702() then
		elseif OnMission_1018703() then
		--ʥ
		elseif OnMission_1018704() then
		--ڰ
		elseif OnMission_1018705() then
		--
		elseif OnMission_500601() then
		--
		elseif OnMission_402060() then
		--ʦڴ1
		elseif OnMission_500602() then
		--ʦڴ2
		elseif OnMission_500604() then
		--ʦڴ(3)
		elseif OnMission_500603() then
		--ʮʮ
		elseif OnMission_1018700() then
		--رʦ(1)
		elseif OnMission_250052() then
		--
		elseif OnMission_1018707() then
		--Чʦ
		elseif OnMission_890335() then
		--ͭӡ֮Ա뺯
		elseif OnMission_1018819() then
		--ͭӡ֮ʦ
		elseif OnMission_1018847() then
		--ͭӡ֮
		elseif OnMission_1039814() then
		--ͭӡ֮״ͼ
		elseif OnMission_1018848() then
		--췴
		elseif OnMission_500604() then
		--
		elseif OnMission_402061() then
		--֮Ħ¶
		elseif OnMission_1018706() then
		--Ħ¶
		elseif OnMission_10300501() then
		--
		elseif OnMission_1030050() then
		--ĻƤ
		elseif OnMission_1030051() then
		--Ǻ
		elseif OnMission_1000050() then
		--
		elseif OnMission_1000051() then
		--ܴ
		elseif OnMission_3201() then
		else
			nCheckTick = nCheckTick + 1
			if nCheckTick > 5 then 
				break
			else
				System:Sleep(1000)
				continue
			end
		end

		nCheckTick = 0 
		System:Sleep(1000)
	end
end

_SMain()