--- Lua ½ºÅ©¸³Æ® ¾ÏÈ£È
function get_module_name()
return "ETC_dungeon_prop"
end
-- Á¦¾îÀåÄ¡ ¹× ÄÚ¾î Á¡·É½Ã È£ÃâµÉ ÇÔ¼ö.
-- ³»ºÎÀûÀ¸·Î ¼¹ö¿¡¼ Á¦°øÇÏ´Â ¼ÒÀ¯±Ç º¯°æ ÇÔ¼ö ¹× ÁÖº¯ ¸÷ ¸®Á¨ ÇÔ¼ö( respawn_near_mob( range ) )°¡ »ç¿ëµÊ.
function casting_tactical_position( dungeon_id, position_id )
-- È£ÃâµÈ ÁöÁ¡ÀÇ (Á¦¾îÀåÄ¡ ȤÀº ´øÀü ÄÚ¾î) ¼ÒÀ¯±ÇÀ» º¯°æ½ÃŰ´Â ºÎºÐ
change_tactical_position_owner( dungeon_id, position_id )
-- º¯°æµÈ ÁöÁ¡ ÁÖº¯ÀÇ °¡µð¾ðÀ» ¸®Á¨
respawn_guardian_object( dungeon_id, position_id )
end
-- ´øÀü Ãⱸ Ŭ¸¯½Ã Çʵå·Î ÅÚ·¹Æ÷Æ® ½ÃÄÑ ÁÖ´Â ÀÏ¹Ý ÇÔ¼ö.
function exit_dungeon( dungeon_id )
-- ÀÒ¾î¹ö¸° ´øÀü1
if dungeon_id == 130000 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 155817 + math.random(0,60) , 103724 + math.random(0,60) )
-- ÀÒ¾î¹ö¸° ´øÀü2
elseif dungeon_id == 130600 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 152309 + math.random(0,60) , 102886 + math.random(0,60) )
-- ¼öÁ¤ °è°î1
elseif dungeon_id == 130300 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 103210 + math.random(0,60) , 100366 + math.random(0,60) )
-- ¼öÁ¤ °è°î2
elseif dungeon_id == 130500 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 99757 + math.random(0,60) , 103236 + math.random(0,60) )
-- ¸Þ¸¶¸¥ ´ÞºûÀÇ À¯Àû1
elseif dungeon_id == 130400 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 132995 + math.random(0,60) , 87096 + math.random(0,60) )
-- ¸Þ¸¶¸¥ ´ÞºûÀÇ À¯Àû2
elseif dungeon_id == 130700 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 130842 + math.random(0,60) , 79586 + math.random(0,60) )
-- ÆÈ¹Ì¸£ Á¦ 1 À¯Àû
elseif dungeon_id == 130800 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 132680 + math.random(0,60) , 128030 + math.random(0,60) )
-- ÆÈ¹Ì¸£ Á¦ 2 À¯Àû
elseif dungeon_id == 130900 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 137441 + math.random(0,60) , 128115 + math.random(0,60) )
-- ÀÒ¾î¹ö¸° ºñ¹ÐÀÇ ¼¶(¹é·æÀÇ ½°ÅÍ)
elseif dungeon_id == 121000 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 91942 + math.random(0,60) , 117103 + math.random(0,60) )
-- ÀÒ¾î¹ö¸° ºñ¹ÐÀÇ ¼¶(Èæ·æÀÇ ±×´Ã)
elseif dungeon_id == 122000 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 85752 + math.random(0,60) , 118062 + math.random(0,60) )
-- ÀÒ¾î¹ö¸° ºñ¹ÐÀÇ ¼¶(»ç·æÀÇ ½ÉÀå)
elseif dungeon_id == 123000 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 91998 + math.random(0,60) , 124400 + math.random(0,60) )
-- ¿¤ Ä«½Ã¾Æ ¿öÇÁ ÇÁ¶ø (¿¤ Ä«½Ã¾Æ -> ¸¶¸£µÎÄ« ÆøÆ÷ Çʵå)
elseif dungeon_id == 120700 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 146015 + math.random(0,61) , 135591+ math.random(0,10) )
-- ¼û°ÜÁø ÆÈ¹Ì¸£ ´øÀü ¿öÇÁ ÇÁ¶ø (¼û°ÜÁø ÆÈ¹Ì¸£ ÀÔ±¸ -> ÆÈ¹Ì¸£ Á¦ 1 ½Ç ÀÔ±¸ Çʵå)
elseif dungeon_id == 120292 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 132680 + math.random(0,60) , 128030 + math.random(0,60) )
-- ¼û°ÜÁø ¼öÁ¤ °è°î ´øÀü ¿öÇÁ ÇÁ¶ø (¼û°ÜÁø ¼öÁ¤ °è°î ÀÔ±¸ -> ¼öÁ¤ °è°î ÀÔ±¸ Çʵå)
elseif dungeon_id == 70192 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 103234+ math.random(0,60) , 100310 + math.random(0,60) )
-- °í´ëÀÎÀÇ À¯Àû ´øÀü ¿öÇÁ ÇÁ¶ø (°í´ëÀÎÀÇ À¯Àû -> »çÀ̶ó±× ÆóÇã Çʵå)
elseif dungeon_id == 121100 then
-- TO DO : ´øÀü ÀÔ±¸ ÂÊÀÇ ÅÚ·¹Æ÷Æ® ÁÂÇ¥ ³Ö¾î¾ß ÇÔ
warp( 108674+ math.random(0,60) , 76570 + math.random(0,60) )
elseif dungeon_id == 10600 then
warp( gv("hx")+math.random(0,10),gv("hy")+math.random(0,10) ) --Mohcen
end
end
function common_warp_gate( x, y )
if x == 175274 and y == 62743 then return end --MohcenMaher,S.A
warp( x + math.random(0,10) , y + math.random(0,10), gv("layer") )
end
function warp_gate( prop_id )
-- ³ªºñ½º ¶ó¹Ì¾Æ °©ÆÇ
if prop_id == 130881 then
if find_item ( 1000077 ) == 1 then -- °í¸®¼öÁ¤
warp( 190072 + math.random(0,10) , 34171+ math.random(0,10), gv("layer") ) -- ÅÚ·¹Æ÷Æ® ÁÂÇ¥
else
cprint( "@1233" ) -- '¿öÇÁ°ÔÀÌÆ® »ç¿ëÀ» À§ÇÑ Çã°¡¸¦ ¹ÞÁö ¸øÇß½À´Ï´Ù.'
end
end
-- ³ªºñ½º ¶ó¹Ì¾Æ ÁÖ¹æ
if prop_id == 130883 then
-- Äù½ºÆ® »óÅ üũ get_quest_progress(ID)
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 255 : À̹ÌÁ¾·á
local quest_progress3 = get_quest_progress(1247) -- À¯·É¼± ³ªºñ½º¶ó¹Ì¾Æ: ÁøÇà 3
-- Äù½ºÆ® µµÁß ´Ù½Ã óÀ½ºÎÅÍ ½ÃÀÛ ÇÒ¶§ ÁøÇà ºÒ°¡
if quest_progress3 == 2 or quest_progress3 == 255 then
warp( 190018 + math.random(0,10) , 37865+ math.random(0,10), gv("layer") ) -- ÅÚ·¹Æ÷Æ® ÁÂÇ¥
else
cprint( "@1233" )
end
end
-------------------------------------------------------------------------------
--Å¥ºê¸¯ ´øÀü --
-------------------------------------------------------------------------------
-- Å¥ºê¸¯ ´øÀü ÀÔ±¸ ÇÁ¶ø, ´øÀü ÀÔÀå
if prop_id == 60101 then
if get_value( 'party_id' ) == 0 or get_value( 'level' ) < 150 then
--·¹º§ 150ÀÌ»ó, ÆÄƼ¸¦ °á¼ºÇØ¾ß ÀÔÀå °¡´É (1ÀÎÀÌ»ó, »ç½Ç»ó ÀÇ¹Ì ÀοøÀº ÀÇ¹Ì ¾øÀ½)
cprint( "@9831" )
return
else
-- °°Àº ÆÄƼ¿ø¸¸ ÀÔÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
cprint( "@9830" )
-- ´øÀü ÀÔÀå
dlg_special( 'confirm_window', 'warp_to_instance_dungeon(30000)', '@9825\v#@dungeon_name@#\v@80030000' )
end
elseif prop_id == 60110 then
-- ÀÔ±¸8
warp_to_cubric_branch_room( 1 )
-- 10¹ø¹æ ÀÔÀå(ÃÖÁ¾º¸½º)
elseif prop_id == 60111 then
local sub_boss1_alive = get_alive_instance_respawn_group_monster_count( 30000, gv('layer'), 1 )
local sub_boss2_alive = get_alive_instance_respawn_group_monster_count( 30000, gv('layer'), 2 )
if sub_boss1_alive == 0 and sub_boss2_alive == 0 then
--¸ðµÎ Á¦°ÅÇߴµ¥ ÀÔÀåÇÒ·¡? ´ÙÀ̾ó·Î±×
dlg_special( 'confirm_window', 'warp_to_cubric_boss_room()', '@9828' )
else
--¸ðµÎ Á¦°ÅÇØ¾ß¸¸ µé¾î°¥ ¼ö ÀÖ´Ù´Â ´ÙÀ̾ó·Î±×
dlg_general( '@9827' )
return
end
-- 9¹ø¹æ ÀÔÀå
elseif prop_id == 60145 then
-- ÀÔ±¸10-1
warp_to_cubric_branch_room( 2 )
-- 9¹ø¹æ ÀÔÀå
elseif prop_id == 60144 then
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
if get_quest_progress(3606) == 1 then -- <(version:7.4)>[Å¥ºê¸¯]Å»Ã⠽õµ #2
set_quest_status( 3606, 1, 1 )
cprint( "@90605055" ) -- <(version:7.4)><#6DD66D>¹Ù´ÚÀÌ Áøµ¿ÇÕ´Ï´Ù.
else
warp(99018 , 30995, gv('layer') ) -- ÀÔ±¸9-1
end
-- Áß°£º¸½º(¾ÆÄ«»þ±×¸°) Á¦°ÅÈÄ ³ªÅ¸³ª´Â Æ÷Å»
elseif prop_id == 60155 then
dlg_special( 'confirm_window', 'warp_to_cubric_branch_room( 1 )', '@9829' ) -- 9¹ø¹æÀ¸·Î ÀÔÀå
-- Áß°£º¸½º(¾ÆÄ«»þ»çÀ̾È) Á¦°ÅÈÄ ³ªÅ¸³ª´Â Æ÷Å»
elseif prop_id == 60156 then
dlg_special( 'confirm_window', 'warp_to_cubric_branch_room( 2 )', '@9829' ) -- 9¹ø¹æÀ¸·Î ÀÔÀå
--==========================================¿¡ÇÈ 9.1 ºÓÀº °Å¹Ì ¼Ä¿½º´Ü Æ÷ÅÐ
elseif prop_id == 60192 then -- ºÓÀº°Å¹Ì ¼Ä¿½º
local level = get_value( 'level' )
if level >= 150 then
dlg_special( 'confirm_window', 'warp(35692 , 120963 )', '@9852' ) -- ºÓÀº°Å¹Ì ¼Ä¿½º Áö¿ªÀ¸·Î ÀÔÀåÇϽðڽÀ´Ï±î?
elseif level < 150 then
cprint( "@9254" ) -- 150·¹º§ ÀÌÇÏ´Â ÀÔÀåÇÒ ¼ö ¾ø½À´Ï´Ù.
end
end
end
function parallelworld_exit()
if get_quest_progress(4009) == 1 then -- [ÀÏÀÏ]Æ´»õÁ¶»ç : ŸÀÓ¾îÅÃ
dlg_special( 'confirm_window', 'exit_indun( 0 )', '@9911' )
else
dlg_special( 'confirm_window', 'exit_indun( 0 )', '@9906' )
end
end
function quest_start_4009()
delete_item( get_item_handle( 2016026 ), 1 )
warp_to_instance_dungeon(70000)
end
function on_create_parallelworld_instance( dungeon_id, layer )
local state_code = get_local_info() -- ±¹°¡ÄÚµå
local current_time = get_os_date( "%Y-%m-%d %H:%M:%S" ) -- ÇöÀç ½Ã°£
-- check °¡ 1ÀÌ µÇ¾ß À̺¥Æ® ¸®½ºÆù. ¼öÁ¤Ã¼ ¼Òȯ À̺¥Æ®
local check = 0
-- ºÏ¹Ì À̺¥Æ® (2¿ù 1ÀÏ ~ 9¿ù 29ÀÏ) :
if ( state_code == 4 or state_code == 8 or state_code == 128 or state_code == 16384 or state_code == 32768 or state_code == 65536 )
and '2017-09-12 08:00:00' <= current_time and current_time < '2017-10-24 08:00:00' then
check = 1
elseif state_code == 256 and '2016-02-29 08:00:00' <= current_time and current_time < '2016-03-21 08:00:00' then
check = 1
end
if dungeon_id == 60000 then
add_instance_dungeon_monster( 60001, 60000, layer )
add_instance_dungeon_monster( 60002, 60000, layer )
add_instance_dungeon_monster( 60003, 60000, layer )
add_instance_dungeon_monster( 60004, 60000, layer )
add_instance_dungeon_monster( 60005, 60000, layer )
-- ¼öÁ¤Ã¼ ¼Òȯ
if check == 1 then
add_instance_dungeon_monster( 60051, 60000, layer )
end
elseif dungeon_id == 70000 then
broadcast_notice( 1, "@9915", 70000, layer )
add_instance_dungeon_monster( 70001, 70000, layer )
add_instance_dungeon_monster( 70002, 70000, layer )
add_instance_dungeon_monster( 70003, 70000, layer )
add_instance_dungeon_monster( 70004, 70000, layer )
add_instance_dungeon_monster( 70005, 70000, layer )
-- ¼öÁ¤Ã¼ ¼Òȯ
if check == 1 then
add_instance_dungeon_monster( 70051, 70000, layer )
end
end
end
function parallelworld_check_respawn_group_clear_1( respawn_group, x, y, layer )
local left_monster_count = get_alive_instance_respawn_group_monster_count( 60000, layer, respawn_group ) -- ÆÐ·¯·¼ ¿ùµå<1>
-- Ä«¿îÆ® ó¸®
if left_monster_count == 0 then
if respawn_group == 60001 then
local text = sconv( "@9910", "#@boss_no@#", tostring( 1 ) )
broadcast_notice( 1, text, 60000, layer )
add_instance_dungeon_monster( 60006, 60000, layer )
add_instance_dungeon_monster( 60007, 60000, layer )
add_instance_dungeon_monster( 60008, 60000, layer )
add_instance_dungeon_monster( 60009, 60000, layer )
add_instance_dungeon_monster( 60010, 60000, layer )
elseif respawn_group == 60006 then
local text = sconv( "@9910", "#@boss_no@#", tostring( 2 ) )
broadcast_notice( 1, text, 60000, layer )
add_instance_dungeon_monster( 60011, 60000, layer )
add_instance_dungeon_monster( 60012, 60000, layer )
add_instance_dungeon_monster( 60013, 60000, layer )
add_instance_dungeon_monster( 60014, 60000, layer )
add_instance_dungeon_monster( 60015, 60000, layer )
elseif respawn_group == 60011 then
local text = sconv( "@9910", "#@boss_no@#", tostring( 3 ) )
broadcast_notice( 1, text, 60000, layer )
add_instance_dungeon_monster( 60016, 60000, layer )
add_instance_dungeon_monster( 60017, 60000, layer )
add_instance_dungeon_monster( 60018, 60000, layer )
add_instance_dungeon_monster( 60019, 60000, layer )
add_instance_dungeon_monster( 60020, 60000, layer )
elseif respawn_group == 60016 then
local text = sconv( "@9910", "#@boss_no@#", tostring( 4 ) )
broadcast_notice( 1, text, 60000, layer )
add_instance_dungeon_monster( 60021, 60000, layer )
add_instance_dungeon_monster( 60022, 60000, layer )
add_instance_dungeon_monster( 60023, 60000, layer )
add_instance_dungeon_monster( 60024, 60000, layer )
add_instance_dungeon_monster( 60025, 60000, layer )
elseif respawn_group == 60021 then
local text = sconv( "@9910", "#@boss_no@#", tostring( 5 ) )
broadcast_notice( 1, text, 60000, layer )
add_instance_dungeon_monster( 60026, 60000, layer )
add_instance_dungeon_monster( 60027, 60000, layer )
add_instance_dungeon_monster( 60028, 60000, layer )
add_instance_dungeon_monster( 60029, 60000, layer )
add_instance_dungeon_monster( 60030, 60000, layer )
elseif respawn_group == 60026 then
broadcast_notice( 1, "@9913", 60000, layer )
end
end
end
function parallelworld_check_respawn_group_clear_2( respawn_group, x, y, layer )
local left_monster_count = get_alive_instance_respawn_group_monster_count( 70000, layer, respawn_group ) -- ÆÐ·¯·¼ ¿ùµå<2>
-- Ä«¿îÆ® ó¸®
if left_monster_count == 0 then
if respawn_group == 70001 then
local text = sconv( "@9905", "#@boss_no@#", tostring( 1 ) )
broadcast_notice( 1, text, 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 1, 1 )" )
add_instance_dungeon_monster( 70006, 70000, layer )
add_instance_dungeon_monster( 70007, 70000, layer )
add_instance_dungeon_monster( 70008, 70000, layer )
add_instance_dungeon_monster( 70009, 70000, layer )
add_instance_dungeon_monster( 70010, 70000, layer )
elseif respawn_group == 70006 then
local text = sconv( "@9905", "#@boss_no@#", tostring( 2 ) )
broadcast_notice( 1, text, 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 2, 1 )" )
add_instance_dungeon_monster( 70011, 70000, layer )
add_instance_dungeon_monster( 70012, 70000, layer )
add_instance_dungeon_monster( 70013, 70000, layer )
add_instance_dungeon_monster( 70014, 70000, layer )
add_instance_dungeon_monster( 70015, 70000, layer )
elseif respawn_group == 70011 then
local text = sconv( "@9905", "#@boss_no@#", tostring( 3 ) )
broadcast_notice( 1, text, 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 3, 1 )" )
add_instance_dungeon_monster( 70016, 70000, layer )
add_instance_dungeon_monster( 70017, 70000, layer )
add_instance_dungeon_monster( 70018, 70000, layer )
add_instance_dungeon_monster( 70019, 70000, layer )
add_instance_dungeon_monster( 70020, 70000, layer )
elseif respawn_group == 70016 then
local text = sconv( "@9905", "#@boss_no@#", tostring( 4 ) )
broadcast_notice( 1, text, 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 4, 1 )" )
add_instance_dungeon_monster( 70021, 70000, layer )
add_instance_dungeon_monster( 70022, 70000, layer )
add_instance_dungeon_monster( 70023, 70000, layer )
add_instance_dungeon_monster( 70024, 70000, layer )
add_instance_dungeon_monster( 70025, 70000, layer )
elseif respawn_group == 70021 then
local text = sconv( "@9905", "#@boss_no@#", tostring( 5 ) )
broadcast_notice( 1, text, 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 5, 1 )" )
add_instance_dungeon_monster( 70026, 70000, layer )
add_instance_dungeon_monster( 70027, 70000, layer )
add_instance_dungeon_monster( 70028, 70000, layer )
add_instance_dungeon_monster( 70029, 70000, layer )
add_instance_dungeon_monster( 70030, 70000, layer )
elseif respawn_group == 70026 then
broadcast_notice( 1, "@9914", 70000, layer )
do_each_player_in_instance_dungeon( 70000, layer, "set_quest_status( 4009, 6, 1 )" )
end
end
end
function on_leave_vulcanus( layer )
end
--=================================================================================
function enter_to_secret_dungeon( prop_id )
if prop_id == 120291 then
-- ¼û°ÜÁø ÆÈ¹Ì¸£ À¯Àû ID 70120201
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(120201)', '@728\v#@dungeon_name@#\v@70120201' )
elseif prop_id == 100191 then
-- ¼û°ÜÁø ¹é·æÀÇ ½°ÅÍ ID 70100101
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(100101)', '@728\v#@dungeon_name@#\v@70100101' )
elseif prop_id == 90191 then
-- ¼û°ÜÁø Èæ·æÀÇ ±×´Ã ID 70090101
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(90101)', '@728\v#@dungeon_name@#\v@70090101' )
elseif prop_id == 80191 then
-- ¼û°ÜÁø »ç·æÀÇ ½ÉÀå ID 70080101
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(80101)', '@728\v#@dungeon_name@#\v@70080101' )
elseif prop_id == 110191 then
-- ¼û°ÜÁø ¿¤Ä«½Ã¾Æ ID 70110101
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(110101)', '@728\v#@dungeon_name@#\v@70110101' )
elseif prop_id == 70191 then
-- ¼û°ÜÁø ¼öÁ¤°è°î ID 70070101
dlg_special( 'confirm_window', 'warp_to_secret_dungeon(70101)', '@728\v#@dungeon_name@#\v@70070101' )
elseif prop_id == 131191 then --MohcenMaher
--dlg_special( 'confirm_window', 'warp_to_secret_dungeon(131100)', '@728\v#@dungeon_name@#\v@70131100' )
dlg_special( 'confirm_window', 'warp(218311, 189843)', '@728\v#@dungeon_name@#\v@70131100' )
else
end
end
--------------------------------------------------------------------------------------------------------------------------
function exit_instance_dungeon( prop_id )
if prop_id == 126027 then
dlg_special( 'confirm_window', 'exit_indun(100101)', '@9807\v#@dungeon_name@#\v@80020000' ) -- ºÒÄ«´©½º ´øÀüÀ» ³ª°¡°Ú½À´Ï±î?
elseif prop_id == 126023 then
dlg_special( 'confirm_window', 'exit_indun(100101)', '@9807\v#@dungeon_name@#\v@80020000' ) -- ºÒÄ«´©½º ´øÀüÀ» ³ª°¡°Ú½À´Ï±î?
elseif prop_id == 60154 or prop_id == 60102 then
dlg_special( 'confirm_window', 'exit_indun( 30000 )', '@9832\v#@dungeon_name@#\v@80030000' ) -- 30000 Àδø Å¥ºê¸¯ ID
elseif prop_id == 60166 then
dlg_special( 'confirm_window', 'exit_indun( 40000 )', '@9832\v#@dungeon_name@#\v@80040000' ) -- ¸Þ¸¶¸¥ ´Þºû ÁöÇϱâÁö Ãⱸ --warp(133066 , 87015 )
elseif prop_id == 60167 then
dlg_special( 'confirm_window', 'exit_indun( 41001 )', '@9832\v#@dungeon_name@#\v@80041001' ) -- ¹ß¸ð¾î 걤 ÁöÇϱâÁö Ãⱸ --warp(155868 , 103644 )
elseif prop_id == 60168 then
dlg_special( 'confirm_window', 'exit_indun( 42001 )', '@9832\v#@dungeon_name@#\v@80042001' ) -- ¼öÁ¤°è°î ÁöÇϱâÁö Ãⱸ --warp(103282 , 100401 )
elseif prop_id == 60169 then
dlg_special( 'confirm_window', 'exit_indun( 43001 )', '@9832\v#@dungeon_name@#\v@80043001' ) -- ÆÈ¹Ì¸£ ÁöÇϱâÁö Ãⱸ --warp(132695 , 128105 )
elseif prop_id == 60191 then
dlg_special( 'confirm_window', 'exit_indun( 50000 )', '@9853\v#@dungeon_name@#\v@80050000' ) -- ¼Ä¿½º Ãⱸ --warp(132695 , 128105 )
else
end
end
--------------------------------------------------------------------------------------------------------------------------
function exit_indun_confirm()
dlg_special( 'confirm_window', 'exit_indun( 0 )', '@9920' )
end
function exit_indun( dungeon_id )
local hx
local hy
if (gv('hx') == nil or gv('hx') == "") and (gv('hy') == nil or gv('hy') == "") then -- ÇØ¿Ü
hx = get_flag( 'hx' )
hy = get_flag( 'hy' )
else -- ±¹³»
hx = gv( 'hx' )
hy = gv( 'hy' )
end
warp( hx, hy, 0 )
--add_state(201085, 1, 10*100) --MohcenMaher
add_state(201085, 1, 1000)
end
---------------------------------------------------------------------------------------
-- Å¥ºê¸¯
---------------------------------------------------------------------------------------
-- ¿ëµµ: Å¥ºê¸¯ ÀνºÅϽº ´øÀüÀÌ »ý¼ºµÉ ¶§¸¶´Ù È£ÃâµÇ´Â ÇÔ¼ö
-- ¿ªÇÒ: Å¥ºê¸¯ ´øÀüÀÇ ÁøÇà»óȲ Á¤º¸ ÃʱⰪ ¼¼ÆÃ
function on_create_cubric_instance( layer )
-- Å¥ºê¸¯ ÀνºÅϽº ´øÀü ID: 30000
set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', 0 ) -- Àδø ÁøÇà Äù½ºÆ® üũ ´ë»óÀÎ 3607 Äù½ºÆ®¸¦ ÁøÇà ÁßÀÎ À¯Àú ¼ö üũ¿ë
set_instance_dungeon_flag( 30000, layer, 'AdditionalBossRespawned', 0 ) -- Àδø ÁøÇà Äù½ºÆ®·Î ÀÎÇØ Ãß°¡ º¸½º¸÷µéÀÇ ¸®Á¨ ¿©ºÎ üũ¿ë(Áßø ¸®Á¨ ¹æÁö¿ë)
set_instance_dungeon_flag( 30000, layer, 'ExitPropRespawned', 0 ) -- Àδø ÃÖÁ¾ Ãⱸ ÇÁ¶ø ¸®Á¨ ¿©ºÎ üũ¿ë(Áßø ¸®Á¨ ¹æÁö¿ë)
set_instance_dungeon_flag( 30000, layer, 'MissionRevealed', 0 ) -- ¾ÆÅ©»þ µÎ ¸¶¸® ÀâÀ¸¶ó´Â ¹Ì¼ÇÀ» À¯Àúµé¿¡°Ô º¸¿©Áá´ÂÁö üũ¿ë(0:Ȱ¼ºÈ Àü, 1:Ȱ¼ºÈ Áß, 2:¹Ì¼Ç ¿Ï·á)
end
-- ¿ëµµ: Å¥ºê¸¯ ÀνºÅϽº ´øÀü¿¡ À¯Àú°¡ Âü¿©ÇÒ ¶§¸¶´Ù È£ÃâµÇ´Â ÇÔ¼ö
-- ¿ªÇÒ: ¹æ±Ý Âü¿©ÇÑ À¯Àú°¡ üũ ´ë»óÀÎ Äù½ºÆ®¸¦ º¸À¯Çϰí ÀÖ¾úÀ» °æ¿ì ´øÀü ³»ºÎ üũ¿ë º¯¼ö ¼¼ÆÃ
function on_join_cubric( layer )
-- ¹æ±Ý ÁøÀÔÇÑ À¯Àú°¡ 3607 Äù½ºÆ®¸¦ ÁøÇà ÁßÀ̶ó¸é ´øÀü »óÅ º¯¼ö¿¡ ¹Ý¿µ
-- * ÀÌÀü¿¡ Äù ¹Þ¾Æ³õ°í ¿Ï·á Á¶°Ç ¸ø ä¿ì°í ³ª°¬´ø À¯Àú¸é ¹Ý¿µÇÏÁö¸¸
-- ¿Ï·á Á¶°ÇÀÌ ´Þ¼ºµÇ¾î ÀÖ´Â À¯Àú¶ó¸é Äù½ºÆ®¸¦ ÁøÇàÇϰí ÀÖ´Â »óŶó°í º¼ ¼ö ¾øÀ¸¹Ç·Î ¹Ý¿µÇÏÁö ¾ÊÀ½
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
if get_quest_progress( 3607 ) == 1 then
-- Å¥ºê¸¯ ÀνºÅϽº ´øÀü ID: 30000
set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) + 1 )
end
-- ¹Ì¼Ç UI°¡ ¾ÆÁ÷ Ȱ¼ºÈµÈ ÀÌÈÄ¿¡ ÀÔÀåÇÏ´Â °Å¶ó¸é ¹Ì¼Ç UI Ç¥½Ã
if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 1 then
-- ¹Ì¼Ç Á¦¸ñ
send_mission_title( '@1234' )
-- 0¹ø ¹Ì¼Ç ¸ñÇ¥(¼ÂÊÀÇ ¾ÆÅ©»þ)
send_mission_objective( 0, 1, '@1235' )
-- 1¹ø ¹Ì¼Ç ¸ñÇ¥(µ¿ÂÊÀÇ ¾ÆÅ©»þ)
send_mission_objective( 1, 1, '@1236' )
-- 2¹ø ¹Ì¼Ç ¸ñÇ¥(º¸½º¹æ µå°¡¼¼¿ä)
send_mission_objective( 2, 1, '@1237' )
-- ¹Ì¼Ç º¸»ó ¾È³»
send_mission_reward( '@1238' )
-- ¹Ì¼Ç ¸ñÇ¥ ÁøÇà »óÅÂ
update_cubric_mission( false, layer )
end
end
-- ¿ëµµ: Å¥ºê¸¯ ÀνºÅϽº ´øÀü¿¡¼ À¯Àú°¡ ÀÌÅ»ÇÒ ¶§¸¶´Ù È£ÃâµÇ´Â ÇÔ¼ö
-- ¿ªÇÒ: ¹æ±Ý ÀÌÅ»ÇÑ À¯Àú°¡ üũ ´ë»óÀÎ Äù½ºÆ®¸¦ º¸À¯Çϰí ÀÖ¾úÀ» °æ¿ì ´øÀü ³»ºÎ üũ¿ë º¯¼ö ¼¼ÆÃ
function on_leave_cubric( layer )
-- ¹æ±Ý ÀÌÅ»ÇÑ À¯Àú°¡ 3607 Äù½ºÆ®¸¦ ÁøÇà ÁßÀ̶ó¸é ´øÀü »óÅ º¯¼ö¿¡ ¹Ý¿µ
-- * Äù ¹Þ¾Æ³õ°í ¿Ï·á Á¶°Ç ¸ø ä¿ì°í ³ª°¡´Â À¯Àú¸é ¹Ý¿µÇÏÁö¸¸
-- ¿Ï·á Á¶°ÇÀÌ ´Þ¼ºµÇ¾î ÀÖ´Â À¯Àú¶ó¸é Äù½ºÆ®¸¦ ÁøÇà ÁßÀÎ »óŶó°í º¼ ¼ö ¾øÀ¸¹Ç·Î ¹Ý¿µÇÏÁö ¾ÊÀ½
-- (¿¹. Äù ¹Þ°í ¸÷ Á׿©¼ º¸»ó ¹ÞÀ¸¸é µÇÁö¸¸ º¸»ó¸¸ ¾È ¹Þ°í ³ª°£ °æ¿ì)
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
if get_quest_progress( 3607 ) == 1 then
-- Å¥ºê¸¯ ÀνºÅϽº ´øÀü ID: 30000
set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) - 1 )
end
-- ¹Ì¼Ç UI°¡ Ȱ¼ºÈ µÈ ÀÌÈÄ¿´À¸¸é ¹Ì¼Ç UI ´Ý¾ÆÁÖ±â
if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 1 then
send_mission_title( '' )
end
end
-- ¿ëµµ: ¸ó½ºÅÍ Á×À» ¶§¸¶´Ù È£ÃâµÇ´Â ÇÔ¼ö
-- ¿ªÇÒ: Á×Àº ¸ó½ºÅÍÀÇ ¸®½ºÆù ±×·ì¿¡ ³²Àº ¸ó½ºÅÍ ¼ö¸¦ üũÇÏ¿© ¸ðµÎ Á×¾úÀ» ÇÁ¶øÀ» ¿¾î Áְųª ¾Æ¹« °Íµµ ÇÏÁö ¾Ê°Å³ª ÇÔ
function cubric_check_respawn_group_clear( respawn_group, x, y, layer )
if respawn_group == 1 or respawn_group == 2 then -- ºÎ º¸½º ±×·ìÀ¸·Î ¸®Á¨µÈ ¸ó½ºÅͰ¡ Á×Àº °æ¿ì
add_field_prop( 60156, 0, x, y, layer, 0 )
update_cubric_mission( true, layer )
elseif respawn_group == 3 then
-- º¸½º´Â ÇÑ ¸¶¸®¹Û¿¡ ¸®Á¨ ¾È µÇ±â ¶§¹®¿¡ ¸ðµÎ Á×¾ú´ÂÁö üũÇÒ ÇÊ¿ä ¾øÀ½
-- Å¥ºê¸¯ ´øÀü ÁøÇà Äù½ºÆ®°¡ ÁøÇà ÁßÀÏ °æ¿ì¿¡´Â ¹ÛÀ¸·Î Ãⱸ ÇÁ¶øÀ» »ý¼ºÇÏÁö ¾Ê°í,
-- Äù½ºÆ®°¡ ÁøÇà ÁßÀÎ À¯Àú°¡ Çϳªµµ ¾ø´Ù¸é ±×³É ¹ÛÀ¸·Î ³ª°¥ ¼ö ÀÖµµ·Ï Æ÷Å» ¿¾î ÁÜ
-- ÁøÇà ÁßÀÎÁö ÆÇº°ÇÏ´Â Äù½ºÆ®´Â [ID:3607 <(version:7.4)>[Å¥ºê¸¯]¾Ç¸¶ Å¥ºê]¸¦ »ç¿ë(QuestResource.script_start_text, script_end_text, script_drop_text¸¦ ÀÌ¿ëÇÏ¿© ¼¼ÆÃÇÔ)
if get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) == 0 then
add_field_prop( 60102, 0, 99954, 31302, layer, 0 ) -- Ãⱸ ÇÁ¶ø 99954, 31302 ·Î ¿Å°ÜÁÖ¸é ÁÁ°Ú´Ù. ±âÁ¸ ÁÂÇ¥ 99954, 31539
set_instance_dungeon_flag( 30000, layer, 'ExitPropRespawned', 1 )
add_field_prop( 9001, 0, 100180, 31767, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 30000, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
end
end
-- ¿ëµµ: ¾ÆÅ©»þ Àâ°í »ý¼ºµÈ Æ÷Å» Ŭ¸¯ ½Ã È£ÃâµÇ´Â ÇÔ¼ö
-- ¿ªÇÒ: Áß¾ÓÀÇ °¥¸²±æ ¹æÀ¸·Î Ç÷¹À̾ ¿öÇÁ½ÃŰ¸é¼ ¾ÆÅ©»þ¸¦ µÎ ¸¶¸® Àâ¾Æ¾ß ÇÑ´Ù´Â ¹Ì¼Ç UI¸¦ Ȱ¼ºÈ½ÃÄÑ ÁÜ
function warp_to_cubric_branch_room( side )
local layer = gv( 'layer' )
if side == 1 then
warp( 98858, 30827, layer ) -- Áß¾ÓÀÇ ¹æÀ¸·Î ¿öÇÁ½ÃÄÑ ÁÜ
elseif side == 2 then
warp( 99180, 30825, layer )
end
if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 0 then
set_instance_dungeon_flag( 30000, layer, 'MissionRevealed', 1 )
broadcast_mission_title( 1, '@1234', 30000, layer )
broadcast_mission_objective( 1, 0, 1, '@1235', 30000, layer ) -- 0¹ø ¹Ì¼Ç ¸ñÇ¥(¼ÂÊÀÇ ¾ÆÅ©»þ)
broadcast_mission_objective( 1, 1, 1, '@1236', 30000, layer ) -- 1¹ø ¹Ì¼Ç ¸ñÇ¥(µ¿ÂÊÀÇ ¾ÆÅ©»þ)
broadcast_mission_objective( 1, 2, 1, '@1237', 30000, layer ) -- 2¹ø ¹Ì¼Ç ¸ñÇ¥(º¸½º¹æ µå°¡¼¼¿ä)
broadcast_mission_reward( 1, '@1238', 30000, layer ) -- ¹Ì¼Ç º¸»ó ¾È³»
update_cubric_mission( true, layer )
end
end
-- ¿ëµµ: ¾ÆÅ©»þ µÎ ¸¶¸® ´Ù Àâ°í º¸½º ¹æÀ¸·Î µé¾î°¡´Â ¹® Ŭ¸¯
-- ¿ªÇÒ: º¸½º ¹æ ³»ºÎ·Î Ç÷¹À̾ ¿öÇÁ½ÃŰ¸é¼ ¹Ì¼Ç UI¸¦ Á¦°Å½ÃÄÑ ÁÜ
function warp_to_cubric_boss_room()
local layer = gv( 'layer' )
-- º¸½º ¹æ ³»ºÎ·Î ¿öÇÁ
warp( 99711, 31535, layer )
if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 1 then
-- ¹Ì¼Ç ¿Ï·á
broadcast_mission_objective_progress( 1, 2, 1, 30000, layer )
-- ¹Ì¼Ç º¸»ó Áö±Þ
do_each_player_in_instance_dungeon( 30000, layer, 'cubric_reward_distributer()' )
-- ¹Ì¼Ç UI ´õ ÀÌ»ó Ȱ¼ºÈµÇÁö ¾Ê°Ô Ç÷¡±× °ª º¯°æ
set_instance_dungeon_flag( 30000, layer, 'MissionRevealed', 2 )
-- ¹Ì¼Ç UI ºñȰ¼ºÈ
broadcast_mission_title( 1, '', 30000, layer )
end
end
function cubric_reward_distributer()
--Äù½ºÆ® º¸»ó Lv 150, 1% ¼öÁØ
insert_gold( 300000 )
add_exp_jp( 5131363, 884717 )
cprint( '@1239' )
end
-- ¿ëµµ: ¹Ì¼Ç UI¸¦ ¾÷µ¥ÀÌÆ® ÇØ¾ß ÇÏ´Â ¸î¸î °æ¿ì¿¡ È£Ãâ(ºÎº¸½º »ç¸Á, À¯Àú ÀÔÀå µî)
-- ¿ªÇÒ: ¹Ì¼Ç UI¸¦ ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÏ´Â À̺¥Æ® ¹ß»ý ½Ã ¹æ ¾ÈÀÇ ¸ðµç À¯Àú ¶Ç´Â ÇöÀç ½ºÅ©¸³Æ® ½ÇÇà ÁÖü À¯Àú¿¡°Ô ¹Ì¼Ç ³»¿ë ¾Ë·ÁÁÖ±â
function update_cubric_mission( broadcast, layer )
-- ¹Ì¼ÇÀÌ ÁøÇà ÁßÀÌÁö ¾Ê´Ù¸é µüÈ÷ ¾Ë·ÁÁÙ °Íµµ ¾øÀ½
if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) ~= 1 then
return
end
if broadcast == true then
broadcast_mission_objective_progress( 1, 0, 1 - get_alive_instance_respawn_group_monster_count( 30000, layer, 1 ), 30000, layer )
broadcast_mission_objective_progress( 1, 1, 1 - get_alive_instance_respawn_group_monster_count( 30000, layer, 2 ), 30000, layer)
broadcast_mission_objective_progress( 1, 2, 0, 30000, layer )
else
send_mission_objective_progress( 0, 1 - get_alive_instance_respawn_group_monster_count( 30000, layer, 1 ) )
send_mission_objective_progress( 1, 1 - get_alive_instance_respawn_group_monster_count( 30000, layer, 2 ) )
send_mission_objective_progress( 2, 0 )
end
end
function Call_BossMob( monster_handle )
local monster_id = get_monster_id( monster_handle )
local layer = ghv( monster_handle, 'layer' )
local quest_progress3644 = get_quest_progress(3644) -- [ÀÏÀÏ]´øÀü Åä¹ú: ¸ÞµÎ»ç »ç³É
local quest_progress3645 = get_quest_progress(3645) -- [ÀÏÀÏ]´øÀü Åä¹ú: ºí·¢ À§µµ¿ì »ç³É
local quest_progress3646 = get_quest_progress(3646) -- [ÀÏÀÏ]´øÀü Åä¹ú: º» µå·¡°ï »ç³É
local quest_progress3647 = get_quest_progress(3647) -- [ÀÏÀÏ]´øÀü Åä¹ú: ¹ÌÅ©·Î¶øÅ丣 »ç³É
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
local X_pos = gv('x')
local Y_pos = gv('y')
--==========================================================================1´Ü°è
if monster_id == 20190005 then -- ¹ÙÁú¸®½ºÅ©<1´Ü°è>
add_npc( 38871, 22943, 20190006, 1, 0, layer )
add_npc( 38906, 23013, 20190001, 1, 0, layer )
add_npc( 39215, 22959, 20190003, 1, 0, layer )
add_npc( 39138, 22881, 20190003, 1, 0, layer )
add_npc( 39087, 23021, 20190003, 1, 0, layer )
add_npc( 39067, 22964, 20190003, 1, 0, layer )
add_npc( 38980, 22920, 20190003, 1, 0, layer )
add_npc( 28980, 23005, 20190003, 1, 0, layer )
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3644 == 1 then
if get_quest_status( 3644 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 3 ) + 1
set_quest_status( 3644, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190007 then -- Ÿ¶õÆ«¶ó<1´Ü°è>
add_npc( 40715, 9563, 20190008, 1, 0, layer )
add_npc( 40497, 9586, 20190025, 1, 0, layer )
add_npc( 40763, 9623, 20190004, 1, 0, layer )
add_npc( 40761, 9591, 20190004, 1, 0, layer )
add_npc( 40765, 9526, 20190004, 1, 0, layer )
add_npc( 40697, 9492, 20190004, 1, 0, layer )
add_npc( 40692, 9547, 20190004, 1, 0, layer )
add_npc( 40709, 9596, 20190004, 1, 0, layer )
add_npc( 40715, 9618, 20190004, 1, 0, layer )
add_npc( 40718, 9660, 20190004, 1, 0, layer )
add_npc( 40642, 9655, 20190004, 1, 0, layer )
add_npc( 40623, 9589, 20190004, 1, 0, layer )
add_npc( 40632, 9543, 20190004, 1, 0, layer )
add_npc( 40639, 9498, 20190004, 1, 0, layer )
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3645 == 1 then
if get_quest_status( 3645 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 3 ) + 1
set_quest_status( 3645, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190009 then -- ¿¡¿ì¿ÀÇ÷ÎÄÉÆÈ·ç½º<1´Ü°è>
add_npc( 61203, 30845, 20190012, 1, 0, layer )
add_npc( 61360, 30953, 20190026, 1, 0, layer )
add_npc( 61254, 30888, 20190002, 1, 0, layer )
add_npc( 61107, 30905, 20190002, 1, 0, layer )
add_npc( 60838, 30876, 20190002, 1, 0, layer )
add_npc( 60725, 30763, 20190002, 1, 0, layer )
add_npc( 60794, 30659, 20190002, 1, 0, layer )
add_npc( 61050, 30627, 20190002, 1, 0, layer )
add_npc( 60866, 31022, 20190002, 1, 0, layer )
add_npc( 60770, 30926, 20190002, 1, 0, layer )
add_npc( 60640, 30799, 20190002, 1, 0, layer )
add_npc( 60654, 30696, 20190002, 1, 0, layer )
add_npc( 60517, 30887, 20190002, 1, 0, layer )
add_npc( 61129, 30766, 20190002, 1, 0, layer )
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3646 == 1 then
if get_quest_status( 3646 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 3 ) + 1
set_quest_status( 3646, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190011 then -- ºí·¯µå ½½¶óÀÓ<1´Ü°è>
add_npc( 53668, 4378, 20190010, 1, 0, layer )
add_npc( 53568, 4384, 20190027, 1, 0, layer )
add_npc( 54092, 4663, 20190003, 1, 0, layer )
add_npc( 54073, 4648, 20190003, 1, 0, layer )
add_npc( 54074, 4534, 20190003, 1, 0, layer )
add_npc( 54019, 4622, 20190003, 1, 0, layer )
add_npc( 53969, 4714, 20190003, 1, 0, layer )
add_npc( 53931, 4595, 20190003, 1, 0, layer )
add_npc( 53831, 4524, 20190004, 1, 0, layer )
add_npc( 53757, 4558, 20190004, 1, 0, layer )
add_npc( 53661, 4569, 20190004, 1, 0, layer )
add_npc( 53583, 4490, 20190004, 1, 0, layer )
add_npc( 53638, 4391, 20190004, 1, 0, layer )
add_npc( 53700, 4573, 20190004, 1, 0, layer )
add_npc( 53766, 4572, 20190002, 1, 0, layer )
add_npc( 54062, 4425, 20190002, 1, 0, layer )
add_npc( 54172, 4572, 20190002, 1, 0, layer )
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3647 == 1 then
if get_quest_status( 3647 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 3 ) + 1
set_quest_status( 3647, 3, A_day_A_quest )
end
end ]]
end
--==========================================================================2´Ü°è
if monster_id == 20190032 then -- ¹ÙÁú¸®½ºÅ©<2´Ü°è>
add_npc( 38871, 22943, 20190033, 1, 0, layer )
add_npc( 38906, 23013, 20190028, 1, 0, layer )
add_npc( 39215, 22959, 20190030, 1, 0, layer )
add_npc( 39138, 22881, 20190030, 1, 0, layer )
add_npc( 39087, 23021, 20190030, 1, 0, layer )
add_npc( 39067, 22964, 20190030, 1, 0, layer )
add_npc( 38980, 22920, 20190030, 1, 0, layer )
add_npc( 28980, 23005, 20190030, 1, 0, layer )
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3644 == 1 then
if get_quest_status( 3644 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 3 ) + 1
set_quest_status( 3644, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190034 then -- Ÿ¶õÆ«¶ó<2´Ü°è>
add_npc( 40715, 9563, 20190035, 1, 0, layer )
add_npc( 40497, 9586, 20190052, 1, 0, layer )
add_npc( 40763, 9623, 20190031, 1, 0, layer )
add_npc( 40761, 9591, 20190031, 1, 0, layer )
add_npc( 40765, 9526, 20190031, 1, 0, layer )
add_npc( 40697, 9492, 20190031, 1, 0, layer )
add_npc( 40692, 9547, 20190031, 1, 0, layer )
add_npc( 40709, 9596, 20190031, 1, 0, layer )
add_npc( 40715, 9618, 20190031, 1, 0, layer )
add_npc( 40718, 9660, 20190031, 1, 0, layer )
add_npc( 40642, 9655, 20190031, 1, 0, layer )
add_npc( 40623, 9589, 20190031, 1, 0, layer )
add_npc( 40632, 9543, 20190031, 1, 0, layer )
add_npc( 40639, 9498, 20190031, 1, 0, layer )
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3645 == 1 then
if get_quest_status( 3645 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 3 ) + 1
set_quest_status( 3645, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190036 then -- ¿¡¿ì¿ÀÇ÷ÎÄÉÆÈ·ç½º<2´Ü°è>
add_npc( 61203, 30845, 20190039, 1, 0, layer )
add_npc( 61360, 30953, 20190053, 1, 0, layer )
add_npc( 61254, 30888, 20190029, 1, 0, layer )
add_npc( 61107, 30905, 20190029, 1, 0, layer )
add_npc( 60838, 30876, 20190029, 1, 0, layer )
add_npc( 60725, 30763, 20190029, 1, 0, layer )
add_npc( 60794, 30659, 20190029, 1, 0, layer )
add_npc( 61050, 30627, 20190029, 1, 0, layer )
add_npc( 60866, 31022, 20190029, 1, 0, layer )
add_npc( 60770, 30926, 20190029, 1, 0, layer )
add_npc( 60640, 30799, 20190029, 1, 0, layer )
add_npc( 60654, 30696, 20190029, 1, 0, layer )
add_npc( 60517, 30887, 20190029, 1, 0, layer )
add_npc( 61129, 30766, 20190029, 1, 0, layer )
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3646 == 1 then
if get_quest_status( 3646 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 3 ) + 1
set_quest_status( 3646, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190038 then -- ºí·¯µå ½½¶óÀÓ<2´Ü°è>
add_npc( 53668, 4378, 20190037, 1, 0, layer )
add_npc( 53568, 4384, 20190054, 1, 0, layer )
add_npc( 54092, 4663, 20190030, 1, 0, layer )
add_npc( 54073, 4648, 20190030, 1, 0, layer )
add_npc( 54074, 4534, 20190030, 1, 0, layer )
add_npc( 54019, 4622, 20190030, 1, 0, layer )
add_npc( 53969, 4714, 20190030, 1, 0, layer )
add_npc( 53931, 4595, 20190030, 1, 0, layer )
add_npc( 53831, 4524, 20190031, 1, 0, layer )
add_npc( 53757, 4558, 20190031, 1, 0, layer )
add_npc( 53661, 4569, 20190031, 1, 0, layer )
add_npc( 53583, 4490, 20190031, 1, 0, layer )
add_npc( 53638, 4391, 20190031, 1, 0, layer )
add_npc( 53700, 4573, 20190031, 1, 0, layer )
add_npc( 53766, 4572, 20190029, 1, 0, layer )
add_npc( 54062, 4425, 20190029, 1, 0, layer )
add_npc( 54172, 4572, 20190029, 1, 0, layer )
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3647 == 1 then
if get_quest_status( 3647 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 3 ) + 1
set_quest_status( 3647, 3, A_day_A_quest )
end
end ]]
end
--==========================================================================3´Ü°è
if monster_id == 20190059 then -- ¹ÙÁú¸®½ºÅ©<3´Ü°è>
add_npc( 38871, 22943, 20190060, 1, 0, layer )
add_npc( 38906, 23013, 20190055, 1, 0, layer )
add_npc( 39215, 22959, 20190057, 1, 0, layer )
add_npc( 39138, 22881, 20190057, 1, 0, layer )
add_npc( 39087, 23021, 20190057, 1, 0, layer )
add_npc( 39067, 22964, 20190057, 1, 0, layer )
add_npc( 38980, 22920, 20190057, 1, 0, layer )
add_npc( 28980, 23005, 20190057, 1, 0, layer )
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3644 == 1 then
if get_quest_status( 3644 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 3 ) + 1
set_quest_status( 3644, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190061 then -- Ÿ¶õÆ«¶ó<3´Ü°è>
add_npc( 40715, 9563, 20190062, 1, 0, layer )
add_npc( 40497, 9586, 20190079, 1, 0, layer )
add_npc( 40763, 9623, 20190058, 1, 0, layer )
add_npc( 40761, 9591, 20190058, 1, 0, layer )
add_npc( 40765, 9526, 20190058, 1, 0, layer )
add_npc( 40697, 9492, 20190058, 1, 0, layer )
add_npc( 40692, 9547, 20190058, 1, 0, layer )
add_npc( 40709, 9596, 20190058, 1, 0, layer )
add_npc( 40715, 9618, 20190058, 1, 0, layer )
add_npc( 40718, 9660, 20190058, 1, 0, layer )
add_npc( 40642, 9655, 20190058, 1, 0, layer )
add_npc( 40623, 9589, 20190058, 1, 0, layer )
add_npc( 40632, 9543, 20190058, 1, 0, layer )
add_npc( 40639, 9498, 20190058, 1, 0, layer )
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3645 == 1 then
if get_quest_status( 3645 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 3 ) + 1
set_quest_status( 3645, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190063 then -- ¿¡¿ì¿ÀÇ÷ÎÄÉÆÈ·ç½º<3´Ü°è>
add_npc( 61203, 30845, 20190066, 1, 0, layer )
add_npc( 61360, 30953, 20190080, 1, 0, layer )
add_npc( 61254, 30888, 20190056, 1, 0, layer )
add_npc( 61107, 30905, 20190056, 1, 0, layer )
add_npc( 60838, 30876, 20190056, 1, 0, layer )
add_npc( 60725, 30763, 20190056, 1, 0, layer )
add_npc( 60794, 30659, 20190056, 1, 0, layer )
add_npc( 61050, 30627, 20190056, 1, 0, layer )
add_npc( 60866, 31022, 20190056, 1, 0, layer )
add_npc( 60770, 30926, 20190056, 1, 0, layer )
add_npc( 60640, 30799, 20190056, 1, 0, layer )
add_npc( 60654, 30696, 20190056, 1, 0, layer )
add_npc( 60517, 30887, 20190056, 1, 0, layer )
add_npc( 61129, 30766, 20190056, 1, 0, layer )
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3646 == 1 then
if get_quest_status( 3646 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 3 ) + 1
set_quest_status( 3646, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190065 then -- ºí·¯µå ½½¶óÀÓ<3´Ü°è>
add_npc( 53668, 4378, 20190064, 1, 0, layer )
add_npc( 53568, 4384, 20190081, 1, 0, layer )
add_npc( 54092, 4663, 20190057, 1, 0, layer )
add_npc( 54073, 4648, 20190057, 1, 0, layer )
add_npc( 54074, 4534, 20190057, 1, 0, layer )
add_npc( 54019, 4622, 20190057, 1, 0, layer )
add_npc( 53969, 4714, 20190057, 1, 0, layer )
add_npc( 53931, 4595, 20190057, 1, 0, layer )
add_npc( 53831, 4524, 20190058, 1, 0, layer )
add_npc( 53757, 4558, 20190058, 1, 0, layer )
add_npc( 53661, 4569, 20190058, 1, 0, layer )
add_npc( 53583, 4490, 20190058, 1, 0, layer )
add_npc( 53638, 4391, 20190058, 1, 0, layer )
add_npc( 53700, 4573, 20190058, 1, 0, layer )
add_npc( 53766, 4572, 20190056, 1, 0, layer )
add_npc( 54062, 4425, 20190056, 1, 0, layer )
add_npc( 54172, 4572, 20190056, 1, 0, layer )
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3647 == 1 then
if get_quest_status( 3647 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 3 ) + 1
set_quest_status( 3647, 3, A_day_A_quest )
end
end ]]
end
--==========================================================================4´Ü°è
if monster_id == 20190086 then -- ¹ÙÁú¸®½ºÅ©<4´Ü°è>
add_npc( 38871, 22943, 20190087, 1, 0, layer )
add_npc( 38906, 23013, 20190082, 1, 0, layer )
add_npc( 39215, 22959, 20190084, 1, 0, layer )
add_npc( 39138, 22881, 20190084, 1, 0, layer )
add_npc( 39087, 23021, 20190084, 1, 0, layer )
add_npc( 39067, 22964, 20190084, 1, 0, layer )
add_npc( 38980, 22920, 20190084, 1, 0, layer )
add_npc( 28980, 23005, 20190084, 1, 0, layer )
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3644 == 1 then
if get_quest_status( 3644 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 3 ) + 1
set_quest_status( 3644, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190088 then -- Ÿ¶õÆ«¶ó<4´Ü°è>
add_npc( 40715, 9563, 20190089, 1, 0, layer )
add_npc( 40497, 9586, 21190106, 1, 0, layer )
add_npc( 40763, 9623, 20190085, 1, 0, layer )
add_npc( 40761, 9591, 20190085, 1, 0, layer )
add_npc( 40765, 9526, 20190085, 1, 0, layer )
add_npc( 40697, 9492, 20190085, 1, 0, layer )
add_npc( 40692, 9547, 20190085, 1, 0, layer )
add_npc( 40709, 9596, 20190085, 1, 0, layer )
add_npc( 40715, 9618, 20190085, 1, 0, layer )
add_npc( 40718, 9660, 20190085, 1, 0, layer )
add_npc( 40642, 9655, 20190085, 1, 0, layer )
add_npc( 40623, 9589, 20190085, 1, 0, layer )
add_npc( 40632, 9543, 20190085, 1, 0, layer )
add_npc( 40639, 9498, 20190085, 1, 0, layer )
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3645 == 1 then
if get_quest_status( 3645 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 3 ) + 1
set_quest_status( 3645, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190090 then -- ¿¡¿ì¿ÀÇ÷ÎÄÉÆÈ·ç½º<4´Ü°è>
add_npc( 61203, 30845, 20190093, 1, 0, layer )
add_npc( 61360, 30953, 21190107, 1, 0, layer )
add_npc( 61254, 30888, 20190083, 1, 0, layer )
add_npc( 61107, 30905, 20190083, 1, 0, layer )
add_npc( 60838, 30876, 20190083, 1, 0, layer )
add_npc( 60725, 30763, 20190083, 1, 0, layer )
add_npc( 60794, 30659, 20190083, 1, 0, layer )
add_npc( 61050, 30627, 20190083, 1, 0, layer )
add_npc( 60866, 31022, 20190083, 1, 0, layer )
add_npc( 60770, 30926, 20190083, 1, 0, layer )
add_npc( 60640, 30799, 20190083, 1, 0, layer )
add_npc( 60654, 30696, 20190083, 1, 0, layer )
add_npc( 60517, 30887, 20190083, 1, 0, layer )
add_npc( 61129, 30766, 20190083, 1, 0, layer )
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3646 == 1 then
if get_quest_status( 3646 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 3 ) + 1
set_quest_status( 3646, 3, A_day_A_quest )
end
end ]]
elseif monster_id == 20190092 then -- ºí·¯µå ½½¶óÀÓ<4´Ü°è>
add_npc( 53668, 4378, 20190091, 1, 0, layer )
add_npc( 53568, 4384, 21190108, 1, 0, layer )
add_npc( 54092, 4663, 20190084, 1, 0, layer )
add_npc( 54073, 4648, 20190084, 1, 0, layer )
add_npc( 54074, 4534, 20190084, 1, 0, layer )
add_npc( 54019, 4622, 20190084, 1, 0, layer )
add_npc( 53969, 4714, 20190084, 1, 0, layer )
add_npc( 53931, 4595, 20190084, 1, 0, layer )
add_npc( 53831, 4524, 20190085, 1, 0, layer )
add_npc( 53757, 4558, 20190085, 1, 0, layer )
add_npc( 53661, 4569, 20190085, 1, 0, layer )
add_npc( 53583, 4490, 20190085, 1, 0, layer )
add_npc( 53638, 4391, 20190085, 1, 0, layer )
add_npc( 53700, 4573, 20190085, 1, 0, layer )
add_npc( 53766, 4572, 20190083, 1, 0, layer )
add_npc( 54062, 4425, 20190083, 1, 0, layer )
add_npc( 54172, 4572, 20190083, 1, 0, layer )
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
--[[ if quest_progress3647 == 1 then
if get_quest_status( 3647 , 3 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 3 ) + 1
set_quest_status( 3647, 3, A_day_A_quest )
end
end ]]
end
end
function Call_Main_Chest( monster_handle )
local monster_id = get_monster_id( monster_handle )
local layer = ghv( monster_handle, 'layer' )
local quest_progress3644 = get_quest_progress(3644) -- [ÀÏÀÏ]´øÀü Åä¹ú: ¸ÞµÎ»ç »ç³É
local quest_progress3645 = get_quest_progress(3645) -- [ÀÏÀÏ]´øÀü Åä¹ú: ºí·¢ À§µµ¿ì »ç³É
local quest_progress3646 = get_quest_progress(3646) -- [ÀÏÀÏ]´øÀü Åä¹ú: º» µå·¡°ï »ç³É
local quest_progress3647 = get_quest_progress(3647) -- [ÀÏÀÏ]´øÀü Åä¹ú: ¹ÌÅ©·Î¶øÅ丣 »ç³É
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
local X_pos = gv('x')
local Y_pos = gv('y')
--MohcenMaher
if get_quest_progress(6003)==1 then
if monster_id == 20190087 then on_dayon_qsu(6003,1,1)
elseif monster_id == 20190089 then on_dayon_qsu(6003,2,1)
elseif monster_id == 20190093 then on_dayon_qsu(6003,3,1)
elseif monster_id == 20190091 then on_dayon_qsu(6003,4,1)
end
end
--MohcenMaher
if monster_id == 20190001 or monster_id == 20190006 --¸Þ´ø ÁöÇϱâÁö 1´Ü°è
or monster_id == 20190028 or monster_id == 20190033 --¸Þ´ø ÁöÇϱâÁö 2´Ü°è
or monster_id == 20190055 or monster_id == 20190060 --¸Þ´ø ÁöÇϱâÁö 3´Ü°è
or monster_id == 20190082 or monster_id == 20190087 then --¸Þ´ø ÁöÇϱâÁö 4´Ü°è
local monster_count = get_instance_dungeon_flag( 40000, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 40000, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60170, 60000, 38719, 22938, layer )
set_instance_dungeon_flag( 40000, layer, 'check_open_prop', 0)
if get_instance_dungeon_type_id( 40000, layer ) == 3 then
add_field_prop( 9002, 0, 38881, 22826, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 40000, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
end
if monster_id == 20190001 or monster_id == 20190028 or monster_id == 20190055 or monster_id == 20190082 then
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 1, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3644 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 1 ) + 1
set_quest_status( 3644, 1, A_day_A_quest )
end ]]
--[[ elseif quest_progress3644 == 1 and monster_id == 20190028 then
if get_quest_status( 3644 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 1 ) + 1
set_quest_status( 3644, 1, A_day_A_quest )
end
elseif quest_progress3644 == 1 and monster_id == 20190055 then
if get_quest_status( 3644 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 1 ) + 1
set_quest_status( 3644, 1, A_day_A_quest )
end
elseif quest_progress3644 == 1 and monster_id == 20190082 then
if get_quest_status( 3644 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 1 ) + 1
set_quest_status( 3644, 1, A_day_A_quest )
end ]]
elseif monster_id == 20190006 or monster_id == 20190033 or monster_id == 20190060 or monster_id == 20190087 then
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 2, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3644 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 2 ) + 1
set_quest_status( 3644, 2, A_day_A_quest )
end
elseif quest_progress3644 == 1 and monster_id == 20190033 then
if get_quest_status( 3644 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 2 ) + 1
set_quest_status( 3644, 2, A_day_A_quest )
end
elseif quest_progress3644 == 1 and monster_id == 20190060 then
if get_quest_status( 3644 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 2 ) + 1
set_quest_status( 3644, 2, A_day_A_quest )
end
elseif quest_progress3644 == 1 and monster_id == 20190087 then
if get_quest_status( 3644 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3644 , 2 ) + 1
set_quest_status( 3644, 2, A_day_A_quest )
end ]]
end
elseif monster_id == 20190025 or monster_id == 20190008 --걤 ÁöÇϱâÁö 1´Ü°è
or monster_id == 20190052 or monster_id == 20190035 --걤 ÁöÇϱâÁö 2´Ü°è
or monster_id == 20190079 or monster_id == 20190062 --걤 ÁöÇϱâÁö 3´Ü°è
or monster_id == 21190106 or monster_id == 20190089 then --걤 ÁöÇϱâÁö 4´Ü°è
local monster_count = get_instance_dungeon_flag( 41001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 41001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60171, 60000, 40379, 9573, layer )
set_instance_dungeon_flag( 41001, layer, 'check_open_prop', 0)
if get_instance_dungeon_type_id( 41001, layer ) == 3 then
add_field_prop( 9003, 0, 40487, 9490, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 40001, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
end
if monster_id == 20190025 or monster_id == 20190052 or monster_id == 20190079 or monster_id == 21190106 then
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 1, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3645 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 1 ) + 1
set_quest_status( 3645, 1, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 20190052 then
if get_quest_status( 3645 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 1 ) + 1
set_quest_status( 3645, 1, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 20190079 then
if get_quest_status( 3645 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 1 ) + 1
set_quest_status( 3645, 1, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 21190106 then
if get_quest_status( 3645 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 1 ) + 1
set_quest_status( 3645, 1, A_day_A_quest )
end ]]
elseif monster_id == 20190008 or monster_id == 20190035 or monster_id == 20190062 or monster_id == 20190089 then
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 2, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3645 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 2 ) + 1
set_quest_status( 3645, 2, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 20190035 then
if get_quest_status( 3645 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 2 ) + 1
set_quest_status( 3645, 2, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 20190062 then
if get_quest_status( 3645 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 2 ) + 1
set_quest_status( 3645, 2, A_day_A_quest )
end
elseif quest_progress3645 == 1 and monster_id == 20190089 then
if get_quest_status( 3645 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3645 , 2 ) + 1
set_quest_status( 3645, 2, A_day_A_quest )
end ]]
end
elseif monster_id == 20190026 or monster_id == 20190012
or monster_id == 20190053 or monster_id == 20190039
or monster_id == 20190080 or monster_id == 20190066
or monster_id == 21190107 or monster_id == 20190093 then
local monster_count = get_instance_dungeon_flag( 42001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 42001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60172, 60000, 61784, 31019, layer )
set_instance_dungeon_flag( 42001, layer, 'check_open_prop', 0)
if get_instance_dungeon_type_id( 42001, layer ) == 3 then
add_field_prop( 9004, 0, 61621, 30896, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 42001, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
end
if monster_id == 20190026 or monster_id == 20190053 or monster_id == 20190080 or monster_id == 21190107 then
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 1, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3646 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 1 ) + 1
set_quest_status( 3646, 1, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 20190053 then
if get_quest_status( 3646 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 1 ) + 1
set_quest_status( 3646, 1, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 20190080 then
if get_quest_status( 3646 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 1 ) + 1
set_quest_status( 3646, 1, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 21190107 then
if get_quest_status( 3646 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 1 ) + 1
set_quest_status( 3646, 1, A_day_A_quest )
end ]]
elseif monster_id == 20190012 or monster_id == 20190039 or monster_id == 20190066 or monster_id == 20190093 then
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 2, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3646 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 2 ) + 1
set_quest_status( 3646, 2, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 20190039 then
if get_quest_status( 3646 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 2 ) + 1
set_quest_status( 3646, 2, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 20190066 then
if get_quest_status( 3646 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 2 ) + 1
set_quest_status( 3646, 2, A_day_A_quest )
end
elseif quest_progress3646 == 1 and monster_id == 20190093 then
if get_quest_status( 3646 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3646 , 2 ) + 1
set_quest_status( 3646, 2, A_day_A_quest )
end ]]
end
elseif monster_id == 20190027 or monster_id == 20190010
or monster_id == 20190054 or monster_id == 20190037
or monster_id == 20190081 or monster_id == 20190064
or monster_id == 21190108 or monster_id == 20190091 then
local monster_count = get_instance_dungeon_flag( 43001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 43001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60173, 60000, 53659, 4147, layer )
set_instance_dungeon_flag( 43001, layer, 'check_open_prop', 0)
if get_instance_dungeon_type_id( 43001, layer ) == 3 then
add_field_prop( 9005, 0, 53512, 4356, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 43001, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
end
if monster_id == 20190027 or monster_id == 20190054 or monster_id == 20190081 or monster_id == 21190108 then
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 1, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3647 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 1 ) + 1
set_quest_status( 3647, 1, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 20190054 then
if get_quest_status( 3647 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 1 ) + 1
set_quest_status( 3647, 1, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 20190081 then
if get_quest_status( 3647 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 1 ) + 1
set_quest_status( 3647, 1, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 21190108 then
if get_quest_status( 3647 , 1 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 1 ) + 1
set_quest_status( 3647, 1, A_day_A_quest )
end ]]
elseif monster_id == 20190010 or monster_id == 20190037 or monster_id == 20190064 or monster_id == 20190091 then
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 2, 1 )", X_pos, Y_pos )
--[[ if get_quest_status( 3647 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 2 ) + 1
set_quest_status( 3647, 2, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 20190037 then
if get_quest_status( 3647 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 2 ) + 1
set_quest_status( 3647, 2, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 20190064 then
if get_quest_status( 3647 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 2 ) + 1
set_quest_status( 3647, 2, A_day_A_quest )
end
elseif quest_progress3647 == 1 and monster_id == 20190091 then
if get_quest_status( 3647 , 2 ) == 0 then
local A_day_A_quest = get_quest_status( 3647 , 2 ) + 1
set_quest_status( 3647, 2, A_day_A_quest )
end ]]
end
end
end
function Open_Chest( prop_id )
local count = find_item( 601100310 )
if prop_id == 60157 or prop_id == 60159 or prop_id == 60161 or prop_id == 60162 or prop_id == 60163 then
if count >= 1 then
-- ¸¸Á·ÇÏ¸é ¿¼è ¼ö°ÅÇϰí
delete_item( get_item_handle( 601100310 ), 1 )
end
end
end
function Open_main_Chest( prop_id )
local index_num_1 = math.random ( 0, 2 )
if prop_id == 60176 then -- ¸ÞµÎ»çÀÇ Åõ±¸°¡ ³ª¿À´Â ÇÁ¶ø
if index_num_1 == 0 then
insert_item(601100355, 1)
elseif index_num_1 == 1 then
insert_item(601100355, 1)
insert_item(601100355, 1)
elseif index_num_1 == 2 then
insert_item(601100355, 1)
insert_item(601100355, 1)
insert_item(601100355, 1)
end
elseif prop_id == 60179 then -- ºí·¢ À§µµ¿ìÀÇ ºÎÃ÷°¡ ³ª¿À´Â ÇÁ¶ø
if index_num_1 == 0 then
insert_item(601100357, 1)
elseif index_num_1 == 1 then
insert_item(601100357, 1)
insert_item(601100357, 1)
elseif index_num_1 == 2 then
insert_item(601100357, 1)
insert_item(601100357, 1)
insert_item(601100357, 1)
end
elseif prop_id == 60182 then -- º» µå·¡°ïÀÇ ¾Æ¸Ó°¡ ³ª¿À´Â ÇÁ¶ø
if index_num_1 == 0 then
insert_item(math.random ( 601100358, 601100361 ), 1)
elseif index_num_1 == 1 then
insert_item(math.random ( 601100358, 601100361 ), 1)
insert_item(math.random ( 601100358, 601100361 ), 1)
elseif index_num_1 == 2 then
insert_item(math.random ( 601100358, 601100361 ), 1)
insert_item(math.random ( 601100358, 601100361 ), 1)
insert_item(math.random ( 601100358, 601100361 ), 1)
end
elseif prop_id == 60185 then -- ¹ÌÅ©·Î¶øÅ丣ÀÇ ±Û·¯ºê°¡ ³ª¿À´Â ÇÁ¶ø
if index_num_1 == 0 then
insert_item(601100356, 1)
elseif index_num_1 == 1 then
insert_item(601100356, 1)
insert_item(601100356, 1)
elseif index_num_1 == 2 then
insert_item(601100356, 1)
insert_item(601100356, 1)
insert_item(601100356, 1)
end
end
cprint( "@690000089" )
end
function Call_Script_Witch_Death( monster_handle )
local monster_id = get_monster_id( monster_handle )
local quest_progress3648 = get_quest_progress(3648) -- [¹Ýº¹]ÁöÇÏ ±âÁö ¼ÒÅÁ
-- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
if monster_id == 20190002 or monster_id == 20190029 or monster_id == 20190056 or monster_id == 20190083 then
if quest_progress3648 == 1 then
if get_quest_status( 3648 , 1 ) < 50 then
local A_day_A_quest = get_quest_status( 3648 , 1 ) + 1
set_quest_status( 3648, 1, A_day_A_quest )
end
end
elseif monster_id == 20190003 or monster_id == 20190030 or monster_id == 20190057 or monster_id == 20190084 then
if quest_progress3648 == 1 then
if get_quest_status( 3648 , 2 ) < 50 then
local A_day_A_quest = get_quest_status( 3648 , 2 ) + 1
set_quest_status( 3648, 2, A_day_A_quest )
end
end
elseif monster_id == 20190004 or monster_id == 20190031 or monster_id == 20190058 or monster_id == 20190085 then
if quest_progress3648 == 1 then
if get_quest_status( 3648 , 3 ) < 50 then
local A_day_A_quest = get_quest_status( 3648 , 3 ) + 1
set_quest_status( 3648, 3, A_day_A_quest )
end
end
end
end
-- *add_instance_dungeon_monster( ¸ó½ºÅ͸®Á¨ID, ÀδøID, ·¹ÀÌ¾î¹øÈ£): ÇØ´ç ·¹À̾î Àδø¿¡ ÇØ´ç ¸ó½ºÅÍ ¸®Á¨ IDÀÇ ¸ó½ºÅÍ ±×·ì »ý¼º*
-- ¼Ä¿½º ´øÀü ³»¿¡ ƯÁ¤ ¸ó½ºÅÍ ±×·ìÀÌ Àü¸ê ÇßÀ» ¶§ ´ÙÀ½ ´øÀü ÁøÇàÀ» ó¸®Çϱâ À§ÇØ »ç¿ëµÇ´Â ½ºÅ©¸³Æ®
function circus_check_respawn_group_clear( monster_group, layer )
-- monster_group ¹øÈ£ÀÇ ¼ýÀÚ¸¦ ¼¼¼ Àü¸êÀÌ¸é ´ÙÀ½ ´øÀü ÁøÇà 󸮸¦ ÇÑ´Ù.
local cnt = get_alive_instance_respawn_group_monster_count( 50000, layer, monster_group )
-- Ä«¿îÆ® ó¸®
if monster_group == 1 then
broadcast_mission_objective_progress( 1, 0, 10 - cnt, 50000, layer )
elseif monster_group == 2 then
broadcast_mission_objective_progress( 1, 0, 13 - cnt, 50000, layer )
elseif monster_group == 3 then
broadcast_mission_objective_progress( 1, 0, 13 - cnt, 50000, layer )
elseif monster_group == 4 then
broadcast_mission_objective_progress( 1, 0, 23 - cnt, 50000, layer )
elseif monster_group == 5 then
broadcast_mission_objective_progress( 1, 0, 19 - cnt, 50000, layer )
end
-- Àü¸ê ó¸®
if cnt == 0 then
if monster_group == 1 then -- Àü¸ê ±×·ìÀÌ 1¹øÀ̸é
add_field_prop( 60186, 0, 38958, 137159, layer, 0, 0, 0, 1.5, 0.3, 0.3, 0.3 ) --ÀÛÀº¹æ ÀÔ±¸ ÇÁ¶ø »ý¼º
-- private_notice("@90606228") -- ¾È³» ¸Þ½ÃÁö Ãâ·Â
broadcast_notice( 1, "@90606228", 50000, layer )
-- 2¹ø ±×·ì ¸®Á¨
add_instance_dungeon_monster( 50023, 50000, layer )
add_instance_dungeon_monster( 50024, 50000, layer )
add_instance_dungeon_monster( 50025, 50000, layer )
add_instance_dungeon_monster( 50026, 50000, layer )
add_instance_dungeon_monster( 50027, 50000, layer )
add_instance_dungeon_monster( 50028, 50000, layer )
add_instance_dungeon_monster( 50029, 50000, layer )
broadcast_mission_title( 1, '@9901', 50000, layer )
broadcast_mission_objective( 1, 0, 13, '@1224', 50000, layer )
elseif monster_group == 2 then -- Àü¸ê ±×·ìÀÌ 2¹øÀ̸é
add_field_prop( 60187, 0, 38836, 137150, layer, 0, 0, 0, -1.5, 0.3, 0.3, 0.3 ) --ÀÛÀº¹æ Ãⱸ ÇÁ¶ø »ý¼º
-- private_notice("@90606229") -- ¾È³» ¸Þ½ÃÁö Ãâ·Â
broadcast_notice( 1, "@90606229", 50000, layer )
-- 3¹ø ±×·ì ¸®Á¨
add_instance_dungeon_monster( 50030, 50000, layer)
add_instance_dungeon_monster( 50031, 50000, layer)
add_instance_dungeon_monster( 50032, 50000, layer)
add_instance_dungeon_monster( 50033, 50000, layer)
add_instance_dungeon_monster( 50034, 50000, layer)
add_instance_dungeon_monster( 50035, 50000, layer)
broadcast_mission_title( 1, '@9902', 50000, layer )
broadcast_mission_objective( 1, 0, 13, '@1224', 50000, layer )
elseif monster_group == 3 then -- Àü¸ê ±×·ìÀÌ 3¹øÀ̸é
add_field_prop( 60188, 0, 40155, 137132, layer, 0, 0, 0, -1.5, 0.3, 0.3, 0.3 ) --Áߺ¸½º¹æ ÀÔ±¸ ÇÁ¶ø »ý¼º
-- private_notice("@90606230") -- ¾È³» ¸Þ½ÃÁö Ãâ·Â
broadcast_notice( 1, "@90606230", 50000, layer )
-- 4¹ø ±×·ì ¸®Á¨
add_instance_dungeon_monster( 50036, 50000, layer)
add_instance_dungeon_monster( 50037, 50000, layer)
add_instance_dungeon_monster( 50038, 50000, layer)
add_instance_dungeon_monster( 50039, 50000, layer)
add_instance_dungeon_monster( 50040, 50000, layer)
add_instance_dungeon_monster( 50041, 50000, layer)
add_instance_dungeon_monster( 50042, 50000, layer)
add_instance_dungeon_monster( 50043, 50000, layer)
add_instance_dungeon_monster( 50044, 50000, layer)
add_instance_dungeon_monster( 50045, 50000, layer)
add_instance_dungeon_monster( 50046, 50000, layer)
add_instance_dungeon_monster( 50047, 50000, layer)
add_instance_dungeon_monster( 50048, 50000, layer)
broadcast_mission_title( 1, '@9903', 50000, layer )
broadcast_mission_objective( 1, 0, 23, '@1224', 50000, layer )
elseif monster_group == 4 then -- Àü¸ê ±×·ìÀÌ 4¹øÀ̸é
add_field_prop( 60189, 0, 40271, 136657, layer, 0, 0, 0, 1.5, 0.3, 0.3, 0.3 ) --Áߺ¸½º¹æ Ãⱸ
add_field_prop( 60190, 0, 39554, 136281, layer, 0, 0, 0, 0, 0.3, 0.3, 0.3 ) --º¸½º¹æ ÀÔ±¸
-- private_notice("@90606231") -- ¾È³» ¸Þ½ÃÁö Ãâ·Â
broadcast_notice( 1, "@90606231", 50000, layer )
-- 5¹ø ±×·ì ¸®Á¨
add_instance_dungeon_monster( 50049, 50000, layer)
add_instance_dungeon_monster( 50050, 50000, layer)
add_instance_dungeon_monster( 50051, 50000, layer)
add_instance_dungeon_monster( 50052, 50000, layer)
add_instance_dungeon_monster( 50053, 50000, layer)
add_instance_dungeon_monster( 50054, 50000, layer)
add_instance_dungeon_monster( 50055, 50000, layer)
add_instance_dungeon_monster( 50056, 50000, layer)
add_instance_dungeon_monster( 50057, 50000, layer)
broadcast_mission_title( 1, '@9904', 50000, layer )
broadcast_mission_objective( 1, 0, 19, '@1224', 50000, layer )
elseif monster_group == 5 then -- Àü¸ê ±×·ìÀÌ 5¹øÀ̸é (´øÀü Ŭ¸®¾î)
add_field_prop( 60191, 0, 39552, 136341, layer, 0, 0, 0, 3, 0.3, 0.3, 0.3 ) --º¸½º¹æ Ãⱸ
if get_instance_dungeon_type_id( 50000, layer ) == 3 then
if get_quest_progress(6003) == 1 then on_dayon_qsu( 6003, 5, 1 ) end --MohcenMaher
add_field_prop( 9006, 0, 39556, 137014, layer, -3, 0, 0, 0, 1, 1, 1 ) --º¸½º »ý¼º ÇÁ¶ø
broadcast_notice( 1, "@90610144", 50000, layer ) -- ÇÁ¶ø Ŭ¸¯ÇÏ¸é º¸½º ³ª¿Â´Ù´Â ¸Þ¼¼Áö?
end
broadcast_mission_title( 1, '', 50000, layer )
-- private_notice("@90606232") -- ¾È³» ¸Þ½ÃÁö Ãâ·Â
broadcast_notice( 1, "@90606232", 50000, layer )
end
end
end
function on_join_circus( layer )
local cnt_1 = get_alive_instance_respawn_group_monster_count( 50000, layer, 1 )
local cnt_2 = get_alive_instance_respawn_group_monster_count( 50000, layer, 2 )
local cnt_3 = get_alive_instance_respawn_group_monster_count( 50000, layer, 3 )
local cnt_4 = get_alive_instance_respawn_group_monster_count( 50000, layer, 4 )
local cnt_5 = get_alive_instance_respawn_group_monster_count( 50000, layer, 5 )
-- ÇöÀç ¹Ì¼Ç 1 ÁøÇàÁß
if( cnt_1 > 0 ) then
send_mission_title( '@9900' )
send_mission_objective( 0, 10, '@1224' )
send_mission_objective_progress( 0, 10 - cnt_1 )
-- ÇöÀç ¹Ì¼Ç 2 ÁøÇàÁß
elseif( cnt_2 > 0 ) then
send_mission_title( '@9901' )
send_mission_objective( 0, 13, '@1224' )
send_mission_objective_progress( 0, 13 - cnt_2 )
-- ÇöÀç ¹Ì¼Ç 3 ÁøÇàÁß
elseif( cnt_3 > 0 ) then
send_mission_title( '@9902' )
send_mission_objective( 0, 13, '@1224' )
send_mission_objective_progress( 0, 13 - cnt_3 )
-- ÇöÀç ¹Ì¼Ç 4 ÁøÇàÁß
elseif( cnt_4 > 0 ) then
send_mission_title( '@9903' )
send_mission_objective( 0, 23, '@1224' )
send_mission_objective_progress( 0, 23 - cnt_4 )
-- ÇöÀç ¹Ì¼Ç 5 ÁøÇàÁß
elseif( cnt_5 > 0 ) then
send_mission_title( '@9904' )
send_mission_objective( 0, 19, '@1224' )
send_mission_objective_progress( 0, 19 - cnt_5 )
end
end
-- ¼¹ö ½ÃÀÛÇÒ ¶§ ½ºÅ©¸³Æ®¸¦ ÅëÇØ Ãß°¡ ÇÒ ÇÁ¶øµéÀÌ ÀÖÀ¸¸é ¿©±â¿¡ Ãß°¡ÇÑ´Ù.
function add_global_prop()
-- Ä¥ÈæÀǽ£ -> ºÓÀº °Å¹Ì ¼Ä¿½º ¿öÇÁ ÇÁ¶ø
add_field_prop( 60192, 0, 163100, 116110, 0, 0, 0 ,0, 0.45 , 1, 1, 1)
add_field_prop( 60193, 0, 35527, 121011, 0, 0, 0 ,0, 1.5 , 1, 1, 1)
end
function summon_boss( X_pos, Y_pos, Mob_id )
local state_code = get_local_info()
--add_instance_dungeon_monster( 50049, 50000, gv('layer'))
if state_code == 1 or 16 then
add_npc( X_pos, Y_pos, Mob_id, 1, 0, gv('layer') )
else
add_npc( X_pos, Y_pos, Mob_id+7, 1, 0, gv('layer') )
end
end
------------------------------------------------------------------------------------------------------------
function NPC_DevildomDungeon()
local npc_name = "@"..get_npc_type().."|@"..get_npc_name()
dlg_title(npc_name)
dlg_text( "@90610399" )
local stage = get_instance_dungeon_flag( 80000, gv('layer'), 'stage' )
if stage >= 11 then
dlg_menu( "@90610400", "warp( 22626, 54881, gv('layer'))" )
end
if stage >= 21 then
dlg_menu( "@90610401", "warp( 19129, 58384, gv('layer') )" )
end
if stage >= 31 then
dlg_menu( "@90610855", "warp( 25028, 61184, gv('layer') )" )
end
if stage >= 41 then
dlg_menu( "@90610856", "warp( 28028, 56184, gv('layer') )" )
end
if stage >= 51 then
dlg_menu( "@90610857", "warp( 25028, 51184, gv('layer') )" )
end
dlg_menu( "@90610402", "exit_indun( 0 )" )
dlg_menu( "@90010002", " " ) -- ´ëÈÁ¾·á
dlg_show()
end
function MMT_init(layer, stage)
if layer == -1 then
layer = gv('layer')
end
set_instance_dungeon_flag( 80000, layer, 'stage', stage )
set_instance_dungeon_flag( 80000, layer, 'boss', stage )
local pgate =
{ -- 1¹ø¹æ Ãⱸ
19128,51629,0, 19128,52329,0, 19128,53029,0, 19128,53729,0, 19373,54184,-1.57,
20073,54184,-1.57, 20773,54184,-1.57, 21473,54184,-1.57, 22173,54184,-1.57, 22628,54429,0,
22628,55129,0, 22628,55829,0, 22628,56529,0, 22628,57229,0, 22383,57684,1.57,
21683,57684,1.57, 20983,57684,1.57, 20283,57684,1.57, 19583,57684,1.57, 19128,57929,0,
19128,58629,0, 19128,59329,0, 19128,60029,0, 19128,60729,0, 19373,61184,-1.57,
20370,61184,-1.57, 21370,61184,-1.57, 22370,61184,-1.57, 23370,61184,-1.57, 24370,61184,-1.57,
25370,61184,-1.57, 26370,61184,-1.57, 27370,61184,-1.57, 28370,61184,-1.57, 29028,60842,3.14,
29028,59842,3.14, 29028,58842,3.14, 29028,57842,3.14, 29028,56842,3.14, 28686,56184,1.57,
27686,56184,1.57, 26686,56184,1.57, 25686,56184,1.57, 24686,56184,1.57, 24028,55842,3.14,
24028,54842,3.14, 24028,53842,3.14, 24028,52842,3.14, 24028,51842,3.14, 24370,51184,-1.57,
25370,51184,-1.57, 26370,51184,-1.57, 27370,51184,-1.57, 28370,51184,-1.57, 29028,51526,0,
29028,52526,0, 29028,53526,0, 28686,54184,1.57, 27686,54184,1.57, 26686,54184,1.57,
25686,54184,1.57 -- ¸¶Áö¸·¹® ¹Ì»ç¿ë
}
local prop = 10300
local dur = 0
local height = 280
local cnt = table.getn(pgate)/3 -1
for i = stage, cnt do
local posx = pgate[1+(i-1)*3+0]
local posy = pgate[1+(i-1)*3+1]
local dir = pgate[1+(i-1)*3+2]
add_field_prop(prop+i,dur,posx,posy,layer,height,0,0,dir)
end
if stage == 1 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 0 )
elseif stage == 11 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 101 )
elseif stage == 21 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 202 )
elseif stage == 31 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 303 )
elseif stage == 41 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 355 )
elseif stage == 51 then
set_instance_dungeon_flag( 80000, layer, 'monster_count', 407 )
end
end
function MMT_open_door(stage)
local layer = gv('layer')
MMT_action(layer,stage+1)
set_instance_dungeon_flag( 80000, layer, 'stage', stage+1 )
if stage+1 == 59 then set_instance_dungeon_flag( 80000, layer, 'stage', stage+1+1 ) end --MohcenMaher, S.A
if stage+1 >= 40 and stage+1 <= 42 then set_instance_dungeon_flag( 80000, layer, 'stage', 44 ) end --MohcenMaher, S.A
if stage+1 >= 30 and stage+1 <= 32 then set_instance_dungeon_flag( 80000, layer, 'stage', 34 ) end --MohcenMaher, S.A
if stage+1 >= 20 and stage+1 <= 22 then set_instance_dungeon_flag( 80000, layer, 'stage', 24 ) end --MohcenMaher, S.A
if stage+1 >= 10 and stage+1 <= 12 then set_instance_dungeon_flag( 80000, layer, 'stage', 14 ) end --MohcenMaher, S.A
end
--- stage:2 ´Â 2¹ø¹æ ¸ó½ºÅÍ »ý¼º
function MMT_action(layer,stage)
local state_code = get_local_info()
if layer == -1 then
layer = gv('layer')
end
local type, monster
if math.mod(stage, 5) ~= 0 and math.mod(stage, 5) ~= 1 then -- Áߺ¸, º¸½º, ½ÃÀÛ¹æ »©°í
type = math.random(1, 8)
if stage <= 30 then
monster = math.random(22000185, 22000191) + math.floor( stage / 10 )*11
else
local Marray =
{ 0, 22000315, 22000318, 22000321, 0, 0, 22000324, 22000327, 22000330, 0, -- 31Ãþ
0, 22000333, 22000336, 22000339, 0, 0, 22000342, 22000345, 22000348, 0, -- 41Ãþ
0, 22000351, 22000354, 22000357, 0, 0, 22000360, 22000363, 22000366, 0, -- 51Ãþ
}
local regen_monster = Marray[stage-30]
monster = math.random(regen_monster, regen_monster+2) -- 31Ãþ ÀÌ»ó ÀϹݸ÷...
end
MMT_regen(layer,stage, type, monster)
elseif math.mod(stage+5, 10) == 0 then -- Áߺ¸
if stage <= 30 then
type = math.random(21, 22)
else
if state_code == 8192 then
type = 48 --23 --MohcenMaher
else
type = math.random( 47, 48 )
end
end
MMT_regen(layer,stage, type, 0)
elseif math.mod(stage, 10) == 0 and stage ~= 60 then --º¸½º // ¸¶Áö¸· ¹æÀº Æ÷ÇÔ ¾ÈµÇµµ·Ï
if stage <= 30 then
type = math.random(31, 32)
else
if state_code == 8192 then
type = 48 --23 --MohcenMaher
else
type = math.random( 47, 48 )
end
end
MMT_regen(layer,stage, type, 0)
elseif stage == 60 then
type = math.random(41, 45)
if state_code == 4 or state_code == 8 or state_code == 128 or state_code == 16384 or state_code == 32768 or state_code == 65536 or state_code == 8192 then --MohcenMaher
local awBelt = find_item( 3100048 )
if awBelt >= 1 then
MMT_regen(layer,stage, 46, 0)
set_instance_dungeon_flag( 80000, layer, 'final_count' ,459 )
else
MMT_regen(layer,stage, type, 0)
set_instance_dungeon_flag( 80000, layer, 'final_count' ,457 )
end
else
MMT_regen(layer,stage, type, 0)
set_instance_dungeon_flag( 80000, layer, 'final_count' ,457 )
end
elseif math.mod(stage, 5) == 1 then
--cprint("½¬¾î°¡¼À")
end
end
function MMT_regen(layer, stage, generate_type, monster_id)
local parray =
{ 19128,51384,2, 19128,52084,2, 19128,52784,2, 19128,53484,2, 19128,54184,2,
19828,54184,1, 20528,54184,1, 21228,54184,1, 21928,54184,1, 22628,54184,1,
22628,54884,2, 22628,55584,2, 22628,56284,2, 22628,56984,2, 22628,57684,2,
21928,57684,3, 21228,57684,3, 20528,57684,3, 19828,57684,3, 19128,57684,3,
19128,58384,2, 19128,59084,2, 19128,59784,2, 19128,60484,2, 19128,61184,2,
20028,61184,1, 21028,61184,1, 22028,61184,1, 23028,61184,1, 24028,61184,1,
25028,61184,1, 26028,61184,1, 27028,61184,1, 28028,61184,1, 29028,61184,1,
29028,60184,0, 29028,59184,0, 29028,58184,0, 29028,57184,0, 29028,56184,0,
28028,56184,3, 27028,56184,3, 26028,56184,3, 25028,56184,3, 24028,56184,3,
24028,55184,0, 24028,54184,0, 24028,53184,0, 24028,52184,0, 24028,51184,0,
25028,51184,1, 26028,51184,1, 27028,51184,1, 28028,51184,1, 29028,51184,1,
29028,52184,2, 29028,53184,2, 29028,54184,2, 28028,54184,3, 27028,54184,3,
}
local count = 2
if stage >= 31 then
count = 1
end
local dur = 0
local base_idx = 1+(stage-1) * 3
local base_x = parray[base_idx+0]
local base_y = parray[base_idx+1]
local tdir = parray[base_idx+2]
local ppattern1 = { -18,-2, -10,3, -15,14, -4,18, 4,18, 15,14, 10,3, 18,-2 }
local ppattern2 = { -14,-8, -14,-3, -14,3, -14,8, 14,8, 14,3, 14,-3, 14,-8 }
local ppattern3 = { -11,15, -6,11, -7,18, -2,18, 2,18, 7,18, 11,15, 6,11 }
local ppattern4 = { 0,-6, -5,-3, -5,3, 0,6, 5,3, 5,-3, -10,16, 10,16 }
local ppattern5 = { -16,-10, -16,-4, -7,10, -4,17, 4,17, 7,10, 16,-4, 16,-10 }
local ppattern6 = { -9,12, -9,18, -4,18, -4,12, 4,18, 4,12, 9,18, 9,12 }
local ppattern7 = { 0,-4, -6,-2, 6,-2, 0,2, -8,16, -3,16, 3,16, 8,16 }
local ppattern8 = { -4,-1, 4,-1, 0,9, -11,17, -7,9, 0,18, 7,9, 11,17 }
local ppattern21 = { 0,8,22000194, -10,0,22000192} -- Áߺ¸, Ǫ¸¥
local ppattern22 = { 0,8,22000194, 10,0,22000193} -- Áߺ¸, ºÓÀº
local ppattern23 = { 0,0,22000370, 0,2,22000369} -- 31Ãþ ÀÌ»ó Áߺ¸, Â̺¸
local ppattern31 = { 0,0,22000195, 0,12,22000193, -10,0,22000192} -- º¸½º, ºÓÀº, Ǫ¸¥
local ppattern32 = { 0,0,22000195, 0,12,22000192, 10,0,22000193} -- º¸½º, Ǫ¸¥, ºÓ
local ppattern41 = { 0,0,22000384, -2,0,22000379, 2,0,22000380, 0,-2,22000381} -- º¸½º, º¸½ºÂÌ 3¸¶¸®
local ppattern42 = { 0,0,22000384, -2,0,22000380, 2,0,22000381, 0,-2,22000382} -- º¸½º, º¸½ºÂÌ 3¸¶¸®
local ppattern43 = { 0,0,22000384, -2,0,22000381, 2,0,22000382, 0,-2,22000383} -- º¸½º, º¸½ºÂÌ 3¸¶¸®
local ppattern44 = { 0,0,22000384, -2,0,22000379, 2,0,22000382, 0,-2,22000383} -- º¸½º, º¸½ºÂÌ 3¸¶¸®
local ppattern45 = { 0,0,22000384, -2,0,22000379, 2,0,22000380, 0,-2,22000383} -- º¸½º, º¸½ºÂÌ 3¸¶¸®
local ppattern46 = { 0,0,22000384, -2,0,22000379, 2,0,22000380, 0,-2,22000381, -2,-2,22000382, 2,2,22000383} -- If user has another world belt. Will spawn all monsters. (Webzen)
local ppattern47 = { 0,0,22000370, 0,2,22000369 } -- Room 31 onwards (Webzen)
local ppattern48 = { 0,0,22000370, 0,2,22000403 } -- Room 31 onwards with Yushiva (Webzen)
local xv, yv
if stage <= 25 then
xv = 10
yv = 10
else
xv = 10
yv = 10
end
--cprint("ÆÐÅÏ"..generate_type)
if generate_type==1 then
MMT_add_npc( base_x,base_y,monster_id,ppattern1,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==2 then
MMT_add_npc( base_x,base_y,monster_id,ppattern2,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==3 then
MMT_add_npc( base_x,base_y,monster_id,ppattern3,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==4 then
MMT_add_npc( base_x,base_y,monster_id,ppattern4,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==5 then
MMT_add_npc( base_x,base_y,monster_id,ppattern5,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==6 then
MMT_add_npc( base_x,base_y,monster_id,ppattern6,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==7 then
MMT_add_npc( base_x,base_y,monster_id,ppattern7,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==8 then
MMT_add_npc( base_x,base_y,monster_id,ppattern8,xv,yv,tdir,count,dur,layer,stage)
elseif generate_type==21 then
MMT_add_npc_boss( base_x,base_y,ppattern21,xv,yv,tdir,dur,layer,stage)
elseif generate_type==22 then
MMT_add_npc_boss( base_x,base_y,ppattern22,xv,yv,tdir,dur,layer,stage)
elseif generate_type==23 then
MMT_add_npc_boss( base_x,base_y,ppattern23,xv,yv,tdir,dur,layer,stage)
elseif generate_type==31 then
MMT_add_npc_boss( base_x,base_y,ppattern31,xv,yv,tdir,dur,layer,stage)
elseif generate_type==32 then
MMT_add_npc_boss( base_x,base_y,ppattern32,xv,yv,tdir,dur,layer,stage)
elseif generate_type==41 then
MMT_add_npc_boss( base_x,base_y,ppattern41,xv,yv,tdir,dur,layer,stage)
elseif generate_type==42 then
MMT_add_npc_boss( base_x,base_y,ppattern42,xv,yv,tdir,dur,layer,stage)
elseif generate_type==43 then
MMT_add_npc_boss( base_x,base_y,ppattern44,xv,yv,tdir,dur,layer,stage)
elseif generate_type==44 then
MMT_add_npc_boss( base_x,base_y,ppattern44,xv,yv,tdir,dur,layer,stage)
elseif generate_type==45 then
MMT_add_npc_boss( base_x,base_y,ppattern45,xv,yv,tdir,dur,layer,stage)
elseif generate_type==46 then
MMT_add_npc_boss( base_x,base_y,ppattern46,xv,yv,tdir,dur,layer,stage)
elseif generate_type==47 then -- Webzen only
MMT_add_npc_boss( base_x,base_y,ppattern47,xv,yv,tdir,dur,layer,stage)
elseif generate_type==48 then -- Webzen only
MMT_add_npc_boss( base_x,base_y,ppattern48,xv,yv,tdir,dur,layer,stage)
end
end
function MMT_broadcast_mission( layer,total )
broadcast_mission_title( 1, '@1224', 80000,layer )
broadcast_mission_reward( 1, '@90610864',80000,layer )
broadcast_mission_objective( 1, 0, total, '@1224',80000,layer) -- ¹Ì¼Ç ¸ñÇ¥µµ Ç×»ó '¸ðµç ¸ó½ºÅ͸¦ ¼¶¸êÇ϶ó'¿¡ ÃÖ´ë ¸ó½ºÅÍ ¼ö´Â 6(4ÃþÀÎ °æ¿ì¸¸ 1ÀÌ µÊ)
set_instance_dungeon_flag( 80000, layer, 'total' ,total )
set_instance_dungeon_flag( 80000, layer, 'current' ,0 )
end
function MMT_add_npc( base_x,base_y,monster_id,ppattern,xv,yv,tdir,count,dur,layer,stage)
local total = 0
local cnt = table.getn(ppattern)/2
for i = 1, cnt do
local idx
idx = (i-1)*2+1
local xx = (ppattern[idx]*xv)
idx = (i-1)*2+2
local yy = (ppattern[idx]*yv)
local temp_xx = xx
local temp_yy = yy
if tdir == 0 then -- ahead west
temp_xx = -xx
temp_yy = -yy
elseif tdir == 1 then -- ahead west
temp_xx = yy
temp_yy = -xx
elseif tdir == 2 then -- ahead south
temp_xx = xx
temp_yy = yy
elseif tdir == 3 then -- ahead eash
temp_xx = -yy
temp_yy = xx
end
if stage <= 30 then
monster = math.random(22000185, 22000191) + math.floor( stage / 10 )*11
else
local Marray =
{ 0, 22000315, 22000318, 22000321, 0, 0, 22000324, 22000327, 22000330, 0, -- 31Ãþ
0, 22000333, 22000336, 22000339, 0, 0, 22000342, 22000345, 22000348, 0, -- 41Ãþ
0, 22000351, 22000354, 22000357, 0, 0, 22000360, 22000363, 22000366, 0, -- 51Ãþ
}
local regen_monster = Marray[stage-30]
monster = math.random(regen_monster, regen_monster+2) -- 31Ãþ ÀÌ»ó ÀϹݸ÷...
end
xx = base_x +math.random(0,6) --+ temp_xx
yy = base_y +math.random(0,6) --+ temp_yy
add_npc( xx,yy,monster,count,dur,layer)
total = total + count
--cprint(xx.." "..yy.." "..monster_id.." "..count.." "..dur.." "..layer)
end
MMT_broadcast_mission(layer,total)
end
function MMT_add_npc_boss( base_x,base_y,ppattern,xv,yv,tdir,dur,layer,stage)
local total = 0
local cnt = table.getn(ppattern)/3
for i = 1, cnt do
local idx
idx = (i-1)*3+1
local xx = (ppattern[idx]*xv)
idx = (i-1)*3+2
local yy = (ppattern[idx]*yv)
local temp_xx = xx
local temp_yy = yy
if tdir == 0 then -- ahead west
temp_xx = -xx
temp_yy = -yy
elseif tdir == 1 then -- ahead west
temp_xx = yy
temp_yy = -xx
elseif tdir == 2 then -- ahead south
temp_xx = xx
temp_yy = yy
elseif tdir == 3 then -- ahead eash
temp_xx = -yy
temp_yy = xx
end
local monster_id
if stage <= 30 then
monster_id = ppattern[(i-1)*3+3] + (math.floor( (stage / 10)-0.5 ))*11
elseif stage == 60 then
monster_id = ppattern[(i-1)*3+3]
else
monster_id = ppattern[(i-1)*3+3] + ((stage-35)/5)*2 -- 31Ãþ ÀÌ»ó Áߺ¸ º¸½º...
end
xx = base_x + temp_xx
yy = base_y + temp_yy
add_npc( xx,yy,monster_id,1,dur,layer)
total = total + 1
end
MMT_broadcast_mission(layer,total)
end
------------------------------------------------------------------------------------------------------------
function MMT_on_leave( layer ) -- ÀÌÅ»½ÃÈ£Ãâ
------------------------------------------------------------------------------------------------------------
send_mission_title( '' )
end
------------------------------------------------------------------------------------------------------------
function MMT_on_join( layer ) -- °¢ ¹æ¸¶´Ù È£Ãâ
------------------------------------------------------------------------------------------------------------
local total = get_instance_dungeon_flag( 80000, layer, 'total' )
local current = get_instance_dungeon_flag( 80000, layer, 'current' )
if total ~= nil and total ~= "" then
send_mission_title( '@1224' ) -- ¹Ì¼Ç Á¦¸ñÀº Ç×»ó '¸ðµç ¸ó½ºÅ͸¦ ¼¶¸êÇ϶ó'
send_mission_reward( '@90610864')
send_mission_objective( 0, total, '@1224' ) -- ¹Ì¼Ç ¸ñÇ¥µµ Ç×»ó '¸ðµç ¸ó½ºÅ͸¦ ¼¶¸êÇ϶ó'¿¡ ÃÖ´ë ¸ó½ºÅÍ ¼ö´Â 6(4ÃþÀÎ °æ¿ì¸¸ 1ÀÌ µÊ)
send_mission_objective_progress( 0, current )
end
end
function devildom_count(quest1, parm1, quest2, parm2)
local layer = get_value('layer')
if quest1~=nil then
--cprint( 'quest1:' .. quest1 .. " parm1:".. parm1)
do_each_player_in_instance_dungeon( 80000,layer, 'set_quest_status(' .. quest1 ..','.. parm1 ..',1)', gv('x'), gv('y') )
end
if quest2~=nil then
--cprint( 'quest2:' .. quest2 .. " parm2:".. parm2)
do_each_player_in_instance_dungeon( 80000,layer, 'set_quest_status(' .. quest2 ..','.. parm2 ..',1)', gv('x'), gv('y') )
end
local monster_count = tonumber(get_instance_dungeon_flag( 80000, layer, 'monster_count' )) or 0 --Mohcen, s.a
set_instance_dungeon_flag( 80000, layer, 'monster_count', monster_count+1 )
local current = tonumber(get_instance_dungeon_flag( 80000, layer, 'current' )) or 0 --Mohcen, s.a
current = current + 1;
set_instance_dungeon_flag( 80000, layer , 'current', current )
broadcast_mission_objective_progress( 1, 0, current, 80000,layer )
if get_instance_dungeon_flag( 80000, layer, 'final_count' ) == monster_count then
add_field_prop( 10361, 0, 26748, 54183, gv('layer'), 250, 0, 0, 1.58, 1, 1, 1 )
end
end
function Call_Script_tula_Death()
devildom_count( 4035, 1, 4036, 1 )
end
function Call_Script_Barga_Death()
devildom_count( 4037, 1, 4038, 1 )
end
function Call_Script_Kainen_Death()
devildom_count( 4039, 1, 4040, 1 )
end
function Call_Script_DevilWood_Death()
devildom_count( 4041, 1, 4045, 1 )
end
function Call_Script_Slaughterer_Death()
devildom_count( 4041, 2, 4045, 2 )
end
function Call_Script_StoneGargoyle_Death()
devildom_count( 4042, 1, 4046, 1 )
end
function Call_Script_MagmaGolem_Death()
devildom_count( 4042, 2, 4046, 2)
end
function Call_Script_CrazyHagen_Death()
devildom_count( 4043, 1, 4044, 1 )
end
function Call_Script_DevilReviac_Death()
devildom_count( 4043, 2, 4044, 2 )
local arrDeathGladiator = {22000404,22000406,22000408,22000410}
for i = 1, #arrDeathGladiator do
add_npc(27011, 54164 ,arrDeathGladiator[i],1,0,gv("layer")) --MohcenMaher, S.A
end
end
------------------------------------------------------------------------------------------------------------
function NPC_bulcanus_joinitem_sell()
--------------------------------------------------------------------------------------------------------------------------
dlg_title( "@90605268" )
dlg_text( "@90605790" )
local progress = get_quest_progress(3367)
if progress == 255 then
dlg_menu( "@9811", 'NPC_bulcanus_get_ticket()' ) -- »çÀÚÀÇ È¥À» ¹Þ´Â´Ù
end
dlg_menu( "@90010002", '' )
dlg_show()
end
--------------------------------------------------------------------------------------------------------------------------
function NPC_bulcanus_get_ticket()
--------------------------------------------------------------------------------------------------------------------------
local current_time = get_os_date( "%Y-%m-%d" )
local t_flag = get_flag( "vulcanus_date" )
dlg_title( "@90605268" )
if t_flag == nil or t_flag < current_time then --MohcenMaher, bug fix: nill -> nil
set_flag( "vulcanus_date" , current_time )
--insert_item( 2013889, 1 ) --MohcenMaher
dlg_text( "@90610860" ) -- ¿©±â ÀÖ¾î¿ä!
¼ö·®ÀÌ ºÎÁ·ÇÑ °ü°è·Î 1ÀÏ1°³ ¹Û¿¡´Â µå¸±¼ö ¾ø¾î¿ä.
else
dlg_text( "@90610861" ) -- ¿À´ÃÀº ÀÌ¹Ì ¹ÞÀ¸¼Ì¾î¿ä.
¼ö·®ÀÌ ºÎÁ·ÇÑ °ü°è·Î 1ÀÏ 1°³ ¹Û¿¡´Â µå¸±¼ö ¾ø¾î¿ä.
end
dlg_menu( "@90010002", '' )
dlg_show()
end
--------------------------------------------------------------------------------------------------------------------------
function NPC_bulcanus_best_record()
--------------------------------------------------------------------------------------------------------------------------
local best_vul_record = get_global_variable( "best_vul_record" )
local best_vul_record_name = get_global_variable("best_vul_record_name")
dlg_title( "@90605268" )
if best_vul_record == nil or best_vul_record == "" then
dlg_text( "@90605863" )
else
local country_time = get_os_date("%H",0)
local print_best_vul_record = best_vul_record +(24 -country_time) * 3600
dlg_text( sconv("@90605862", "#@user_name@#", get_global_variable( "best_vul_record_name" ), "#@vul_record@#", get_os_date("%X",print_best_vul_record)) )
end
dlg_menu( "@90010002", '' )
dlg_show()
end
------------------------------------------------------------------------------------------------------------
function vulcanus_get_room_pos( floor, room ) -- °¢Ãþ °¢¹æ x y ÁÂÇ¥
--------------------------------------------------------------------------------------------------------------------------
local pdata={ 197393,28580, 198814,28457, 200543,28458, 202065,28458,
197047,25954, 198661,25929, 200362,25962, 202169,26121,
197303,23750, 198586,23765, 200390,23677, 202114,23701,
206474,27625, 0,0, 0,0, 0,0,
}
local x = pdata[ floor*8-7+room*2 ]
local y = pdata[ floor*8-7+room*2+1]
return x,y
end
------------------------------------------------------------------------------------------------------------
function vulcanus_get_clear_reward( layer, floor ) -- °¢ ¹æ Ŭ¸®¾î º¸»ó Exp,JP,Gold
--------------------------------------------------------------------------------------------------------------------------
local pdata =
{ -- F1, F2, F3 F4 F1, F2, F3 F4
19956, 24454, 29555, 58378, 38548, 44904, 51743, 132405, -- 1 40 ~
57408, 64815, 72956, 214137, 76854, 85198, 94077, 269109, -- 3 60 ~
91139, 99583, 108495, 314787, 113358, 122679, 132349, 427830, -- 5 80 ~
131787, 141445, 151556, 561177, 175584, 187230, 199491, 700102, -- 7 100 ~
237120, 251671, 266785, 988754, 292792, 306274, 320012, 1169043, -- 9 120 ~
377019, 392723, 408832, 1785194, 470027, 527619, 620635, 3387588, -- 11 140 ~
769704, 1541102, 3173438, 6718169, 1219563, 1800319, 3922638, 12356309, -- 13 160 ~
1829344, 2700478, 5883957, 18534463, 2744016, 4050717, 8825935, 27801694, -- 15 180 ~
4116024, 6076075, 13238902, 41702541, 6174036, 9114112, 19858353, 62553811, -- 17 200 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 19 220 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 20 220 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 21 220 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 22 220 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 23 220 ~
9261054, 13671168, 29787529, 93830716, 13891581, 20506752, 44681293, 140746074 , -- 24 220 ~
}
local lvl = get_instance_dungeon_type_id( 20000, layer )
local idx = lvl*4+floor
local exp = pdata[ idx ]
local jp = exp / 8
local gold = 31200 * ( 1+ lvl/3)
if floor==2 then
gold = gold + 2100
elseif floor==3 then
gold = gold + 4200
elseif floor==4 then
gold = (gold + 4200 )*2
end
return exp, jp, gold
end
--------------------------------------------------------------------------------------------------------------------------
function get_vulcanus_room_number(floor) -- ¾ÆÁ÷ Ŭ¸®¾îÇÏÁö ¾ÊÀº ¹æÀ» ã´Â´Ù.
--------------------------------------------------------------------------------------------------------------------------
local layer = get_value('layer')
local room = 0
if floor < 4 then
local room_list = {}
local room_count = 0
local flag = 'Vul' .. tostring( floor )
local fv = get_instance_dungeon_flag( 20000, layer, flag )
if fv == 15 then
return
end
if fv==nil or fv=="" then
fv = 0
end
if fv==0 or fv==2 or fv==4 or fv==8 or fv==6 or fv==10 or fv==12 or fv==14 then
room_list[ room_count + 1 ] = 0
room_count = room_count + 1
end
if fv==0 or fv==1 or fv==4 or fv==8 or fv==5 or fv==9 or fv==12 or fv==13 then
room_list[ room_count + 1 ] = 1
room_count = room_count + 1
end
if fv==0 or fv==1 or fv==2 or fv==8 or fv==3 or fv==9 or fv==10 or fv==11 then
room_list[ room_count + 1 ] = 2
room_count = room_count + 1
end
if fv==0 or fv==1 or fv==2 or fv==4 or fv==3 or fv==5 or fv==6 or fv==7 then
room_list[ room_count + 1 ] = 3
room_count = room_count + 1
end
local select = math.random( 1, room_count )
room = room_list[select]
end
return room
end
--------------------------------------------------------------------------------------------------------------------------
function enter_vulcanus() -- Çʵ忡 ÀÖ´Â ºÒÄ«´©½º ÇÁ¶ø Ŭ¸¯½Ã
--------------------------------------------------------------------------------------------------------------------------
local quest_progress_3367 = get_quest_progress(3367) -- ¹Ýȯ°ª -1 : ¾Æ¹«°Íµµ ¾Æ´Ô / 0 : ¼ö¶ô°¡ / 1 : ¼öÇàÁß / 2 : Á¾·á°¡´É / 100 : ½ÇÆÐ / 255 : À̹ÌÁ¾·á
if quest_progress_3367 == 1 then
set_quest_status( 3367, 1, 1 )
cprint( "@90604746" ) -- <(version:8.1)><#6DD66D>»õ·Î¿î °ÔÀÌÆ®¸¦ ¹ß°ßÇÏ¿´½À´Ï´Ù.
return
end
local lv = get_value( 'level' )
if lv<200 then --MohcenMaher, S.A
cprint( "@9251" ) --<#ff0000>ºÒÄ«´©½º ´øÀüÀº ÃÖ¼Ò ·¹º§ 30 ÀÌ»óºÎÅÍ ÀÔÀå °¡´ÉÇÕ´Ï´Ù.
end
local base_type = math.floor(lv/10) -- -4 --MohcenMaher, S.A
if base_type < 0 then
base_type = 0
end
if base_type > 20 then -- ÀÏ´Ü 13±îÁö ¹Û¿¡ ¾ø±â ¶§¹®¿¡ 10(easy),11(normal),12(hard),13(veryhard)
base_type = 20 --MohcenMaher, S.A
end
local menu1 = '<#FFFFFF>|@9526' --'@9526| (Level' .. (base_type) * 10 ..')'
local menu2 = '<#00FF00>|@9527' --'@9527| (Level' .. (base_type+1) * 10 ..')'
local menu3 = '<#FF0000>|@9528' --'@9528| (Level' .. (base_type+2) * 10 ..')'
--local menu4 = '<@FF8080>|@9528| (Level' .. (base_type+6) * 10 ..')'
local trigger1 = 'enter_vulcanus_confirm(' .. base_type .. ')'
local trigger2 = 'enter_vulcanus_confirm(' .. base_type+1 .. ')'
local trigger3 = 'enter_vulcanus_confirm(' .. base_type+2 .. ')'
--local trigger4 = 'enter_vulcanus_confirm(' .. base_type+3 .. ')'
--dlg_special_menu( '@9525', 'Warp', menu1, trigger1, menu2, trigger2, menu3, trigger3, menu4, trigger4 )
dlg_special_menu( '@9525', 'Warp', menu1, trigger1, menu2, trigger2, menu3, trigger3 )
end
--------------------------------------------------------------------------------------------------------------------------
function enter_vulcanus_confirm(sub_type) -- vulcanus_enter_confirm() À¸·Î º¯°æ
--------------------------------------------------------------------------------------------------------------------------
local party_id = 0 --get_value('party_id') --MohcenMaher, can enter in party (its hard)
if party_id ~= 0 then
cprint( "@9247" ) --ÆÄƼ »óÅ¿¡¼´Â ÀÔÀå ºÒ°¡ÇÔ
return
end
local item_count = find_item( 2013930 ) --MohcenMaher, 2013889->2013929
if item_count < 1 then
cprint( "@9810" )
return
end
warp_to_instance_dungeon(20000,sub_type)
delete_item( get_item_handle(2013930),1) --MohcenMaher, 2013889->2013929
open_title(1) --vulcanus_warp_confirm(1)
end
--------------------------------------------------------------------------------------------------------------------------
function enter_other_indun( dungeon_id, cur_floor, next_floor, cur_item_count, next_item_count )
vulcanus_warp (cur_floor)
end
--------------------------------------------------------------------------------------------------------------------------
function vulcanus_warp (floor) -- ºÒÄ«´©½º ´øÀü ³»ºÎ ÇÁ¶ø Ŭ¸¯,
--------------------------------------------------------------------------------------------------------------------------
local flag = 'Vul' .. tostring(floor )
local floor_flag = get_instance_dungeon_flag( 20000 , gv( 'layer' ), flag )
local cur = floor
local nxt = floor +1
local nxt_flr = floor+1
local menu2 = '@9800\v#@next_floor@#\v' .. nxt
if floor_flag == 15 then
dlg_special_menu( '@170126024', 'Warp',menu2, 'vulcanus_warp_confirm(' .. nxt .. ')' )
else
local menu1 = '@9799\v#@current_floor@#\v' .. cur
dlg_special_menu( '@170126024', 'Warp', menu1, 'vulcanus_warp_confirm(' .. cur .. ')', menu2, 'vulcanus_warp_confirm(' .. nxt .. ')' )
end
end
--------------------------------------------------------------------------------------------------------------------------
function vulcanus_warp_confirm(floor,layer)
--------------------------------------------------------------------------------------------------------------------------
if layer == nil then
layer = get_value('layer')
end
local room = get_vulcanus_room_number(floor)
local x,y = vulcanus_get_room_pos( floor, room )
warp( x, y, layer )
send_mission_title( '@1224' ) -- ¹Ì¼Ç Á¦¸ñÀº Ç×»ó '¸ðµç ¸ó½ºÅ͸¦ ¼¶¸êÇ϶ó'
local exp, jp, gold = vulcanus_get_clear_reward( layer, floor )
local reward_string = '@1225'
reward_string = reward_string .. '\v#@reward_exp@#\v' .. exp
reward_string = reward_string .. '\v#@reward_jp@#\v' .. jp
reward_string = reward_string .. '\v#@reward_gold@#\v' .. gold
send_mission_reward( reward_string )
if floor == 4 then
send_mission_objective( 0, 1, '@1226' ) -- ºÒÄ«´©½º¸¦ óġÇ϶ó
cprint( '@90604914' ) --<(version:7.3)><#6DD66D>³ª´Â.. ºÒÄ«´©½º´Ù. ³ªÀÇ ÀÇÁö¸¦ ±ú¿î ³Ê´Â....³Ê´Â ´©±¸.... Àΰ¡. ¿¼è¸¦ ¼ÒÁöÇÑ ÀÚ.. Àΰ¡?
cprint( '@90604915' ) --<(version:7.3)><#6DD66D>±×·¸´Ù¸é, ³»°¡ ¼û°Ü ³í ±â·ÏÀ»...... µÇãÀº Àڷαº. ½Ã°£ÀÌ ¾øÀ¸´Ï...... ³ÊÀÇ Áö½ÄÀ» º¸°Ú´Ù.
local monster = 22000414
local progress1 = get_quest_progress(4047)
local progress2 = get_quest_progress(4048)
local progress3 = get_quest_progress(4049)
local progress4 = get_quest_progress(4050)
local lvl = get_instance_dungeon_type_id( 20000, layer )
if (progress1 == 1 or progress2 == 1 or progress3 == 1 or progress4 == 1) and lvl >= 14 then
local qcv = get_flag('q_cbk')
if qcv == nil or qcv == "" then
qcv = 0
end
local rnd = math.random(1, 10-qcv)
if rnd == 1 then
add_npc( 205940, 26915, monster, 1, 0, layer )
qcv = 0
elseif qcv < 7 then
qcv = qcv + 1
end
set_flag('q_cbk',qcv)
end
else
send_mission_objective( 0, 6, '@1224' ) -- ¹Ì¼Ç ¸ñÇ¥µµ Ç×»ó '¸ðµç ¸ó½ºÅ͸¦ ¼¶¸êÇ϶ó'¿¡ ÃÖ´ë ¸ó½ºÅÍ ¼ö´Â 6(4ÃþÀÎ °æ¿ì¸¸ 1ÀÌ µÊ)
end
send_mission_objective_progress( 0, 0 )
end
------------------------------------------------------------------------------------------------------------
function on_create_vulcanus_instance( layer ) -- ÃÖÃÊ ´øÀü »ý¼º½Ã È£Ãâ
------------------------------------------------------------------------------------------------------------
set_instance_dungeon_flag( 20000, layer, 'Vul1', 0 )
set_instance_dungeon_flag( 20000, layer, 'Vul2', 0 )
set_instance_dungeon_flag( 20000, layer, 'Vul3', 0 )
set_instance_dungeon_flag( 20000, layer, 'date', get_os_time() )
add_field_prop( 126023, 0, 197460, 28579, layer, 10)
add_field_prop( 126023, 0, 198873, 28457, layer, 10)
add_field_prop( 126023, 0, 200546, 28391, layer, 10)
add_field_prop( 126023, 0, 202068, 28403, layer, 10)
add_field_prop( 126023, 0, 197026, 25926, layer, 10)
add_field_prop( 126023, 0, 198651, 25901, layer, 10)
add_field_prop( 126023, 0, 200339, 25945, layer, 10)
add_field_prop( 126023, 0, 202194, 26114, layer, 10)
add_field_prop( 126023, 0, 197324, 23734, layer, 10)
add_field_prop( 126023, 0, 198566, 23754, layer, 10)
add_field_prop( 126023, 0, 200370, 23657, layer, 10)
add_field_prop( 126023, 0, 202125, 23673, layer, 10)
end
------------------------------------------------------------------------------------------------------------
function on_leave_vulcanus( layer ) -- ÀÌÅ»½ÃÈ£Ãâ
------------------------------------------------------------------------------------------------------------
send_mission_title( '' )
end
------------------------------------------------------------------------------------------------------------
function on_join_vulcanus( layer ) -- °¢ ¹æ¸¶´Ù È£Ãâ
------------------------------------------------------------------------------------------------------------
vulcanus_warp_confirm(1,layer)
--do_each_player_in_instance_dungeon( 20000, layer, "open_title(1)" )
end
------------------------------------------------------------------------------------------------------------
function vulcanus_check_respawn_group_clear( respawn, x, y, layer ) -- ¸ó½ºÅÍ Á×À» ¶§¸¶´Ù È£Ãâ
------------------------------------------------------------------------------------------------------------
local pdata={ --respawn prop z, fl bit monster_count
20001, 126024, 10, 1, 1, 6,
20002, 126024, 10, 1, 2, 6,
20003, 126024, 10, 1, 4, 6,
20004, 126024, 10, 1, 8, 6,
20005, 126025, 10, 2, 1, 6,
20006, 126025, 10, 2, 2, 6,
20007, 126025, 10, 2, 4, 6,
20008, 126025, 10, 2, 8, 6,
20009, 126026, 10, 3, 1, 6,
20010, 126026, 10, 3, 2, 6,
20011, 126026, 10, 3, 4, 6,
20012, 126026, 10, 3, 8, 6,
20013, 126027, 35, 4, 1, 1, }
local idx = 0
local total = table.getn( pdata) / 6
for i = 1, total do
if pdata[i*6-5] == respawn then
idx = i
break
end
end
if idx == 0 then
return
end
local prop = pdata[idx*6-4]
local offset = pdata[idx*6-3]
local floor = pdata[idx*6-2]
local bit = pdata[idx*6-1]
local monster = pdata[idx*6-0]
local left_monster = get_alive_instance_respawn_group_monster_count( 20000, layer, respawn )
broadcast_mission_objective_progress( 1, 0, monster - left_monster, 20000, layer )
if left_monster ~= 0 then
return
end
if floor==4 then
do_each_player_in_instance_dungeon( 20000, layer, "update_title_condition( 9002002, 1 )" ) -- ºÒÄ«´©½º »ç³É ½Ã ȣĪ ºÎ¿©
else
local floor_clear_flag = get_instance_dungeon_flag( 20000, layer, 'Vul' .. floor )
floor_clear_flag = floor_clear_flag + bit
set_instance_dungeon_flag( 20000, layer, 'Vul'..floor, floor_clear_flag )
do_each_player_in_instance_dungeon( 20000, layer, "cprint('@9813');cprint('@9250')" )
end
-- º¸»ó Áö±Þ ½ºÅ©¸³Æ®
local exp, jp, gold = vulcanus_get_clear_reward( layer, floor )
local reward_handler = 'add_exp_jp( ' .. exp .. ', ' .. jp .. ', false, false ); insert_gold( ' .. gold .. ', true )'
do_each_player_in_instance_dungeon( 20000, layer, reward_handler )
broadcast_mission_title( 1, '', 20000, layer ) -- ¹Ì¼Çâ ¼û±è
add_field_prop( prop, 0, x, y, layer, offset ) -- ´ÙÀ½¹æÀ¸·Î °¡´Â ÇÁ¶ø »ý¼º
end
function halloween2018_clear_check( respawn_group, x, y, layer )
--MohcenMaher,
if get_env("game.HW2018")>=2 and math.random(1,10)>=6 then
insert_item(2013843,1) --drop_item( x, y, layer, 2013843, 1 )
end
--MohcenMaher
local left_monster_count = get_alive_instance_respawn_group_monster_count( 90000, layer, respawn_group )
if left_monster_count == 10 then
local bossSpawn = {
90264, 90265, 90266, 90267,
}
if respawn_group == 90020 then
local bossSpawn1 = select_number(bossSpawn)
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90050 then
local bossSpawn1 = select_number(bossSpawn) + 4
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90080 then
local bossSpawn1 = select_number(bossSpawn) + 8
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90110 then
local bossSpawn1 = select_number(bossSpawn) + 12
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90140 then
local bossSpawn1 = select_number(bossSpawn) + 16
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90150 then
local bossSpawn1 = select_number(bossSpawn) + 20
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90160 then
local bossSpawn1 = select_number(bossSpawn) + 24
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90170 then
local bossSpawn1 = select_number(bossSpawn) + 28
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90180 then
local bossSpawn1 = select_number(bossSpawn) + 32
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90190 then
local bossSpawn1 = select_number(bossSpawn) + 36
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
elseif respawn_group == 90200 then
local bossSpawn1 = select_number(bossSpawn) + 40
add_instance_dungeon_monster( bossSpawn1, 90000, layer )
broadcast_notice( 1, '@90610666', 90000, layer )
end
else
message(sconv("@90610667", "#@monster_count@#",tostring(left_monster_count) ))
end
end
function halloween2018_boss_clear( respawn_group, x, y, layer )
local left_monster_count = get_alive_instance_respawn_group_monster_count( 90000, layer, respawn_group )
if left_monster_count == 0 then
add_field_prop( 90001, 600, x, y , layer, -10, 0, 0, 0, 1, 1, 1 )
end
end
function halloween2018_exit()
dlg_special( 'confirm_window', 'exit_indun( 0 )', '@90610665' )
end