Jump to content
Forgot your email address? ×
×
×
  • Create New...
  • 0

Devil_catacombe Problem


giovy010102

Question

I have a problem:
Until the second floor is nancy script and it works.
But when killo all metin, does not lead to the fourth floor .... Using the core of vanilla ...
What can it be? and to be edited again here too the function .kill?
 
Thereis script :

quest devilcatacomb_zone begin
	state start begin
	
	function is_closed()
		return (game.get_event_flag("dc_closed") > 0)    --close dialog
	end
	
	function setting()
		return
		{

		["base"]={["x"] = 3072  , ["y"]= 12032 ,},
		["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
		["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
		["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
		["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
		["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
		["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
		["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
		["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
		["floor5_entry"] = {["x"] = 846, ["y"] = 898},
		["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
		["floor7_entry"] = {["x"] = 73, ["y"] = 1156},

		["map_idx"] = 216,
		["rag"] = 30311,

		["devil_king"] = 2591,

		["reapers_credit1"] = 30319,
		["reapers_credit2"] = 30320,
		["reapers_credit3"] = 76002,

		["floor3_stone"] = 8038,  
		["floor3_stone_pos"] = {
				{1366,	150},
				{1366,	351},
				{1234,	365},
				{1234,	140},
				{1150,	135},
				{1130,	365},
				{1135,	253}
		},

		["mob_regen_file_path"] = "data/dungeon/devilcatacomb/",
		["floor4_regen_file"] = {"devilcatacomb_floor4_regen1.txt",
		                       "devilcatacomb_floor4_regen2.txt",
							   "devilcatacomb_floor4_regen3.txt",
							   "devilcatacomb_floor4_regen4.txt",
							   "devilcatacomb_floor4_regen5.txt"} ,

		["credit_stone"] = 30101,
		["credit_stone_pos"] = {307,323},
		["floor2_stone"] = 30103,
		["floor2_stone_pos"] = {741,217},
		["floor2_merchant_npc"] = 20368,
		["floor2_merchant_npc_pos"] = {734,214},
		
		["floor4_npc"] = 30104,
		["floor4_npc_pos"] = {500, 717},

		["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},

		["unlock_stone"] = 30312,
		["floor5_stone"] = 30102,
		["floor5_stone_pos"] = {848, 735},

		["devil_great_king"] = 2597 ,
		["devil_great_king_pos"] = {1303,704},
		["devil_emperor"] = 2598,
		["devil_emperor_pos"] = {74,1103},

		["dc2_door_set_size"] = {4,2,3,2},
		["dc2_door_set1"] = {
								{{30111,    566,    117,    5},{30112,  562,    311,    5,},{30118, 663,    434,    7},{30119,  881,    434,    7}},
								{{30116,    743,    390,    3},{30119,  612,    251,    1,}},
								{{30113,    654,    211,    5},{30111,  707,    338,    7,},{30112, 775,    336,    7}},
								{{30117,    733,    294,    3},{30113,  694,    271,    1,}}
							},
		["dc2_door_set2"] = {
								{{30115,    942,    141,    5},{30116,  942,    245,    5},{30117,  942,    321,    5},{30115,  763,    64, 7}},
								{{30118,    643,    116,    3},{30114,  900,    167,    1}},
								{{30114,    850,    293,    5},{30113,  715,    164,    7},{30114,  817,    162,    7}},
								{{30111,    802,    277,    1},{30112,  800,    241,    1}}
							},
		}
	end
		when login begin
			local setting = devilcatacomb_zone.setting()
			local idx = pc.get_map_index()
			if idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then
--				pc.set_warp_location(65, 5914, 992)         -----------¾Æ±Íµ¿±¼ ÁÂÇ¥·Î
				local level = d.getf("level")
				-- warp locationÀÌ 0,0 ÀÌ¸é ½Ã½ºÅÛ »óÀ¸·Î, Á¾·á ½Ã, Á¾·á À§Ä¡¸¦ ½ÃÀÛ À§Ä¡·Î ÀúÀåÇÑ´Ù.
				d.set_warp_location (0, 0, 0)
					
				if level == 2 then
					say(gameforge.devilcatacomb_zone._10_say)
					say(string.format(gameforge.devilcatacomb_zone._20_say, 60))
				elseif level == pc.getqf ("level") then
--					say ("³«¿ÀµÇÁö ¾Ê±â À§ÇØ µ¿·áµé°ú ÇÕ·ùÇϽʽÿÀ.")
					say(gameforge.devilcatacomb_zone._30_say)
				else
					say(gameforge.devilcatacomb_zone._40_say)
--					say ("´ç½ÅÀº ³«¿ÀµÇ¾ú½À´Ï´Ù. ¿ë½ÅÀÇ ÈûÀ» ºô¾î Àá½Ã µÚ µ¿±¼ ¹ÛÀ¸·Î À̵¿ÇÕ´Ï´Ù.")
					timer ("devilcatacomb_ban_timer", 5)
				end
			end
			if idx == setting.map_idx then
				pc.setf("devilcatacomb_zone","last_exit_time", get_global_time())
				-- 2ÃþÀÌ»óÀ̸é, ÂѰܳª
				if pc.get_x() < setting.floor1_s.x + setting.base.x
					or pc.get_y() < setting.floor1_s.y + setting.base.y
					or pc.get_x() > setting.floor1_e.x + setting.base.x
					or pc.get_y() > setting.floor1_e.y + setting.base.y
				then
					-- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î
--					if not is_test_server() then
						say(gameforge.devilcatacomb_zone._40_say)
						timer ("devilcatacomb_ban_timer", 5)
--					end
				else 
					-- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î
--					pc.set_warp_location(65, 5914, 992)
					say(gameforge.devilcatacomb_zone._50_say)
				end
			end
		end

		when logout begin
			local idx = pc.get_map_index()
			local setting = devilcatacomb_zone.setting()
			if idx == setting.map_idx or idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then
				pc.setf("devilcatacomb_zone","last_exit_time", get_global_time())
			end
		end

		when devilcatacomb_ban_timer.timer begin
			pc.warp((5914)*100, (992)*100, 65)
		end

		when warp_timer.timer begin
			local level = d.getf("level")
			local level_switch = {
				[3] = gameforge.devilcatacomb_zone._60_say,
				[4] = gameforge.devilcatacomb_zone._70_say,
				[5] = gameforge.devilcatacomb_zone._80_say,
				[6] = gameforge.devilcatacomb_zone._90_say,
			}
			local t = 3600 -(get_global_time() - d.getf("enter_time"))
			local t_r = math.mod (t, 60)
			local t_m = (t - t_r) / 60
			d.notice ( level_switch[level] )
			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, t_m))
			d.set_warp_location (0, 0, 0)
		end

		when devilcatacomb_man.chat.gameforge.devilcatacomb_zone._100_npcChat with not devilcatacomb_zone.is_closed() begin
			local setting = devilcatacomb_zone.setting()
			if pc.get_level() < 75 then
				say(gameforge.devilcatacomb_zone._110_say)
			elseif pc.getf("deviltower_zone","9_done") == 0 then
				say(gameforge.devilcatacomb_zone._120_say)
			elseif ((get_global_time() - pc.getf("devilcatacomb_zone","last_exit_time")) < 1800) then
				say(gameforge.devilcatacomb_zone._130_say)
			else
				say(gameforge.devilcatacomb_zone._140_say)
				local s = select(gameforge.devilcatacomb_zone._150_select, gameforge.devilcatacomb_zone._160_select)
				if s == 1 then
					pc.warp ((setting.floor1_entry.x + setting.base.x )* 100, (setting.floor1_entry.y + setting.base.y) * 100)
				end
			end
		end
	
		-- ¸ó½ºÅÍ°¡ Á×À¸¸é ¹ß»ýÇÏ´Â À̺¥Æ®.
		when kill begin
			local setting = devilcatacomb_zone.setting()
			-- ¾Æ±Íµ¿±¼ 1ÃþÀ̸é 1% È®·ü·Î ±Ý½Ã°ÇÀ» µå¶øÇÑ´Ù.
			if pc.get_x() > setting.floor1_s.x + setting.base.x
					and pc.get_y() > setting.floor1_s.y + setting.base.y
					and pc.get_x() < setting.floor1_e.x + setting.base.x
					and pc.get_y() < setting.floor1_e.y + setting.base.y then
				local j = number(1, 100)
				if j == 1 then
					game.drop_item (setting.rag, 1)
				end
			end
		end

	function spawn_doors ()
		local setting = devilcatacomb_zone.setting()
		for i = 1, 4 do
			local mob_set = setting.dc2_door_set1[i]
			local set_size = setting.dc2_door_set_size[i]
			for j = 1, set_size do
				d.set_unique (i.."_1_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
			end
			mob_set = setting.dc2_door_set2[i]
			for j = 1, set_size do
				d.set_unique (i.."_2_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
			end
		end
	end
		-- ±Ý½Ã°ÇÀ» ³ªÂûÀÎÁõ¼®¿¡ µå·¡±×Çϸé 2ÃþÀ¸·Î º¸³½´Ù. 2ÃþºÎÅÍ´Â ´øÀüÀÌ´Ù.
		when devilcatacomb_credit_stone. take  begin
			local setting = devilcatacomb_zone.setting()
		
			if item.vnum == setting.rag then 
				if not party.is_party() then
					say(gameforge.devilcatacomb_zone._170_say)
					return
				elseif party.is_in_dungeon() then
					say(gameforge.devilcatacomb_zone._180_say)
					return
				end

				item.remove()
				say(gameforge.devilcatacomb_zone._190_say)
				wait()
				say(gameforge.devilcatacomb_zone._200_say)
				wait()
				d.new_jump_party (setting.map_idx, setting.floor2_entry.x + setting.base.x  , setting.floor2_entry.y + setting.base.y )
				d.setqf2("devilcatacomb_zone","level", 2)
				d.setf ("level",2)
				d.regen_file (setting.mob_regen_file_path.."dc_2f_regen.txt")
				
				d.spawn_mob (setting.floor2_merchant_npc, setting.floor2_merchant_npc_pos[1], setting.floor2_merchant_npc_pos[2])
				d.spawn_mob (setting.floor2_stone, setting.floor2_stone_pos[1], setting.floor2_stone_pos[2])
				
				devilcatacomb_zone.spawn_doors ()
				server_timer('devilcatacomb_45m_left_timer',60 * 15, d.get_map_index())
				d.setf("enter_time", get_global_time())
			end	
		end
		
		when devilcatacomb_45m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 45))
				server_timer('devilcatacomb_30m_left_timer', 60 * 15, get_server_timer_arg())
			end
		end

		when devilcatacomb_30m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 30))
				server_timer('devilcatacomb_15m_left_timer', 60 * 15, get_server_timer_arg())
			end
		end
	
		when devilcatacomb_15m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 15))
				server_timer('devilcatacomb_5m_left_timer', 60 * 10, get_server_timer_arg())
			end
		end

		when devilcatacomb_5m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 5))
				server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_server_timer_arg())
			end
		end
		
		when devilcatacomb_1m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 1))
				server_timer ("devilcatacomb_0m_left_timer", 60 * 1, get_server_timer_arg())
			end
		end
		
		when devilcatacomb_0m_left_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice (gameforge.devilcatacomb_zone._210_dNotice)
				d.set_warp_location (65, 5914, 992)
				server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg())
			end
		end
	
	function is_dc2_doors_clear ()
		local setting = devilcatacomb_zone.setting()
		local clear = true
		for i = 1, 4 do
			local set_clear = true
			local mob_set = setting.dc2_door_set1[i]
			local set_size = setting.dc2_door_set_size[i]
			for j = 1, set_size do
				set_clear = set_clear and d.is_unique_dead (i.."_1_"..j)
			end
			if not set_clear then
				set_clear = true
				mob_set = setting.dc2_door_set2[i]
				for j = 1, set_size do
					set_clear = set_clear and d.is_unique_dead (i.."_2_"..j)
				end
			end
			clear = clear and set_clear
		end

		return clear
	end
	
		-- ÇöȲ¼®À» Ŭ¸¯Çϸé 3Ãþ ÁøÀÔ ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°í
		-- ÁøÀԽà »ç½ÅÀÇÁõÇ¥¸¦ °Ë»çÇÑ´Ù.
		-- »ç½ÅÀÇ ÁõÇ¥°¡ ¾ø´Ù¸é ¹ÛÀ¸·Î ¿öÇÁµÈ´Ù.
		when devilcatacomb_floor2_stone.click begin
			local setting = devilcatacomb_zone.setting()
			
			if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
				if not devilcatacomb_zone.is_dc2_doors_clear () then
					say(gameforge.devilcatacomb_zone._220_say)
					wait ()
					return
				end
				say(gameforge.devilcatacomb_zone._230_say)
				wait()
				say(gameforge.devilcatacomb_zone._240_say)
				wait()
				local s = select(gameforge.devilcatacomb_zone._150_select, gameforge.devilcatacomb_zone._160_select)
				if s == 1 then
					if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
						d.setf("devilcatacomb_floor2_stone_clicked", 1)
						d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time())
						d.set_item_group ("reapers_credit", 3, setting.reapers_credit3, 1, setting.reapers_credit2, 1, setting.reapers_credit1, 1)
						d.say_diff_by_item_group("reapers_credit", gameforge.devilcatacomb_zone._250_say, gameforge.devilcatacomb_zone._260_say)
						timer ("devilcatacomb_floor3_enter_timer", 7)
					end
				end
			else
				say(gameforge.devilcatacomb_zone._270_say)
			end
		end
		
		when devilcatacomb_floor3_enter_timer.timer begin
			local setting = devilcatacomb_zone.setting()
			d.set_warp_location (65, 5914, 992)
			d.exit_all_by_item_group ("reapers_credit")
			d.delete_item_in_item_group_from_all ("reapers_credit")
			d.purge ()
			d.jump_all (setting.floor3_entry.x + setting.base.x , setting.floor3_entry.y + setting.base.y)
			d.setf("level",3)
			d.setqf2("devilcatacomb_zone","level", 3)
			d.regen_file (setting.mob_regen_file_path.."dc_3f_regen.txt")
			timer("warp_timer",3)
			
			local position = setting.floor3_stone_pos
		
			local n = number(1,7)
			for i = 1, 7 do
				if (i != n)
				then
					d.set_unique("fake"..i, d.spawn_mob( setting.floor3_stone, position[i][1], position[i][2]))
				end
			end
		
			local vid = d.spawn_mob( setting.floor3_stone, position[n][1], position[n][2])
			d.set_unique ("real",vid)
			if (is_test_server()) then
				-- real stone pos
				chat (position[n][1],position[n][2])
			end
	
		end

		when kill with npc.get_race() == devilcatacomb3_stone begin
			local setting = devilcatacomb_zone.setting()
			-- µ¹ÀÌ Æı«µÇ¸é ÁøÂ¥°¡ Á×¾ú´ÂÁö È®ÀÎÇغ»´Ù.
			-- ÁøÂ¥°¡ Á×¾úÀ¸¸é 4ÃþÀ¸·Î À̵¿ÇÑ´Ù.
			if d.is_unique_dead("real") then
				d.notice(gameforge.devilcatacomb_zone._280_dNotice)
				
				d.setf ("level",4)
				d.setqf2("devilcatacomb_zone","level", 4)
				timer ("devilcatacomb_floor4_enter_timer", 3)
			else
				d.notice(gameforge.devilcatacomb_zone._290_dNotice)
			end
		end

		when devilcatacomb_floor4_enter_timer.timer begin
			local setting = devilcatacomb_zone.setting()
			local i = number (1, 5)
			timer("warp_timer",3)
			d.purge ()
			d.jump_all (setting.floor4_entry.x + setting.base.x , setting.floor4_entry.y + setting.base.y)
			d.regen_file (setting.mob_regen_file_path.."dc_4f_regen.txt")
			d.regen_file (setting.mob_regen_file_path..setting.floor4_regen_file[i])
			if (is_test_server()) then
				d.notice (setting.floor4_regen_file[i])
			end
			d.spawn_mob (setting.floor4_npc, setting.floor4_npc_pos[1], setting.floor4_npc_pos[2])
		end

		-- devilcatacomb_floor4_stone´Â Ŭ¸¯ ½Ã 4Ãþ¿¡¼­ 5ÃþÀ¸·Î À̵¿½ÃÅ°´Â npcÀÌ´Ù.
		when devilcatacomb_floor4_stone.click begin
			local setting = devilcatacomb_zone.setting()
			local n = number (1,5)
			say(gameforge.devilcatacomb_zone._300_say)
			wait()
			if (is_test_server()) then
				-- devil_king pos
				chat (setting.devil_king_pos[n][1], setting.devil_king_pos[n][2])
			end
			d.purge ()
			d.jump_all (setting.floor5_entry.x + setting.base.x, setting.floor5_entry.y + setting.base.y )
			d.setf ("level",5)
			d.setqf2("devilcatacomb_zone","level", 5)
			timer("warp_timer",3)
			d.regen_file (setting.mob_regen_file_path.."dc_5f_regen.txt")
			d.spawn_mob (setting.devil_king, setting.devil_king_pos[n][1], setting.devil_king_pos[n][2])
			d.spawn_mob (setting.floor5_stone, setting.floor5_stone_pos[1], setting.floor5_stone_pos[2])
		end
		
		-- ¾Æ±Í¿Õ(2591)ÀÌ Á×À¸¸é ºÀÀÎÇØü¼® µå¶ø
		when kill with npc.get_race() == devilcatacomb_devil_king begin
			local setting = devilcatacomb_zone.setting()
			game.drop_item (setting.unlock_stone, 1)
		end

		-- »ç½Å±ÝÁ¦ºñ(30102)¿¡ ±ÝÁ¦ÇØü¼®ºÀÀ» µå·¡±×ÇÏ¸é ¸ðµç ¸ó½ºÅ͸¦ Á×ÀÌ°í
		-- 6ÃþÀ¸·Î À̵¿Çϴ ŸÀ̸Ӹ¦ µ¿ÀÛ½ÃŲ´Ù.
		when devilcatacomb_floor5_stone.take begin
			local setting = devilcatacomb_zone.setting()
			if item.vnum == setting.unlock_stone then
				item.remove ()
				d.notice(gameforge.devilcatacomb_zone._310_dNotice)
				-- 6ÃþÀ¸·Î À̵¿
				d.clear_regen()
				d.purge()
				timer("devilcatacomb_floor6_timer",2)
			end
		end

		when devilcatacomb_floor6_timer.timer begin
			local setting = devilcatacomb_zone.setting()
			d.setf("level",6)
			d.setqf2("devilcatacomb_zone","level", 6)
			d.jump_all (setting.floor6_entry.x + setting.base.x, setting.floor6_entry.y + setting.base.y )
			d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt")
			d.spawn_mob (setting.devil_great_king, setting.devil_great_king_pos[1], setting.devil_great_king_pos[2])
			timer("warp_timer",3)
		end
		
		-- ¾Æ°É(2597)ÀÌ Á×À¸¸é, 6ÃþÀÇ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÑ´Ù.
		when kill with npc.get_race() == devilcatacomb_devil_great_king begin
			server_timer ("floor6_eli_check_timer_1", 5,d.get_map_index())
		end

		-- 6ÃþÀÇ Å¸À̸Ó1Àº ´øÀüÀÇ ¸ðµç ¸ó½ºÅÍ ¼ýÀÚ¸¦ º¸°í,
		-- 0À̸é 7ÃþÀ¸·Î ¿öÇÁÇϴ ŸÀ̸Ӹ¦ µ¿ÀÛÇÑ´Ù.
		-- ¹Ù·Î 7ÃþÀ¸·Î °¡Áö ¾Ê´Â ÀÌÀ¯´Â, À¯Àú¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù.
		-- 1À̸é ŸÀ̸Ó2¸¦ µ¿ÀÛ½ÃŲ´Ù.
		-- ŸÀ̸Ó1À» recursiveÇÏ°Ô µ¿ÀÛ½ÃÅ°Áö ¾ÊÀº °ÍÀº,
		-- ±×·² °æ¿ì resetÇÑ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
		when floor6_eli_check_timer_1.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.count_monster() == 0 then
					say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._320_say)
					server_timer ("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
				else
					server_timer ("floor6_eli_check_timer_2", 5, get_server_timer_arg())
				end
			end
		end

		when floor6_eli_check_timer_2.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.count_monster() == 0 then
					say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._320_say)
					server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
				else
					server_timer ("floor6_eli_check_timer_1", 5, get_server_timer_arg())
				end
			end
		end
		
		when devilcatacomb_floor7_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				local setting = devilcatacomb_zone.setting()

				d.setf("level",7)
				d.setqf2("devilcatacomb_zone","level", 7)
				d.jump_all (setting.floor7_entry.x + setting.base.x, setting.floor7_entry.y + setting.base.y )
				d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt")
				d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
				server_timer ("devilcatacomb_floor7_say_timer", 2, get_server_timer_arg())
			end	
		end

		when devilcatacomb_floor7_say_timer.server_timer begin
			if d.select(get_server_timer_arg()) then

				local t = 3600 -(get_global_time() - d.getf("enter_time"))
				local t_r = math.mod (t, 60)
				local t_m = (t - t_r) / 60
				d.notice(gameforge.devilcatacomb_zone._330_dNotice)
				d.notice(string.format(gameforge.devilcatacomb_zone._20_say, t_m))
				d.set_warp_location (0, 0, 0)
			end
		end

		-- 6Ãþ°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(2598)ÀÌ Á×À¸¸é
		-- 7ÃþÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
		when kill with npc.get_race() == devilcatacomb_devil_emperor begin
			server_timer ("floor7_eli_check_timer_1", 5, d.get_map_index())
		end
		
		-- 7ÃþÀÇ Å¸À̸Ӵ 6Ãþ ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
		-- ¸ó½ºÅÍ ¼ýÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ý½ÃŲ´Ù.
		-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù.
		when floor7_eli_check_timer_1.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.count_monster() == 0 then
					d.set_warp_location (65, 5914, 992)
					d.setqf2("devilcatacomb_zone","done", 1)
					say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._340_say)
					clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg())
					server_timer("devilcatacomb_exit_timer", 60, get_server_timer_arg())
				else
					server_timer ("floor7_eli_check_timer_2", 5, get_server_timer_arg())
				end
			end
		end

		when floor7_eli_check_timer_2.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.count_monster() == 0 then
					d.set_warp_location (65, 5914, 992)
					d.setqf2("devilcatacomb_zone","done", 1)
					say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._340_say)
					clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg())
					server_timer("devilcatacomb_exit_timer", 60, get_server_timer_arg())
				else
					server_timer ("floor7_eli_check_timer_1", 5, get_server_timer_arg())
				end
			end
		end

		when devilcatacomb_exit_timer.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.setqf2("devilcatacomb_zone","level", 0)
				d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time())
				clear_server_timer("devilcatacomb_5m_left_timer", get_server_timer_arg())
				clear_server_timer("devilcatacomb_1m_left_timer", get_server_timer_arg())
				clear_server_timer("devilcatacomb_0m_left_timer", get_server_timer_arg())
				clear_server_timer("floor6_eli_check_timer_1", get_server_timer_arg())
				clear_server_timer("floor6_eli_check_timer_2", get_server_timer_arg())
				clear_server_timer("floor7_eli_check_timer_1", get_server_timer_arg())
				clear_server_timer("floor7_eli_check_timer_2", get_server_timer_arg())
				clear_server_timer("devilcatacomb_floor7_say_timer", get_server_timer_arg())
				clear_server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
				d.clear_regen()
				d.exit_all()
			end
		end
	end  --state
end   --quest

Link to comment
  • Answers 2
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Announcements

  • -15% Discount in Metin2 Dev Store (01/10/2021 => 31/12/2021) => Code => 15_PCT_OCT_TO_DEC_2021


  • Read our Rules
  • Activity

    1. 0

      Visual Studio 2010 Ultimate

    2. 1

      Reduce server memory usage

    3. 31

      Metin2 Project - How to create à Metin2 private server on virtual machine

    4. 1

      Use BeltInventory slots without Belt

    5. 47

      Paid service - Vegas Projects

    6. 44

      Changelogs

    7. 79

      3D Shop - Mark Service

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.