quest main_quest_lv98 begin state start begin end state state0 begin when login or levelup or enter with pc.level >= 98 begin set_state (state1_1) end end ----------------------------------¸í½ÃÁø Àç°Ç 1-1---------------------------------- state state1_1 begin when letter begin send_letter(gameforge.main_quest_lv98._010_sendLetter) local v = find_npc_by_vnum(20378) if 0 != v then target.vid("__TARGET__", v, mob_name(20378)) end end when button or info begin say_title(gameforge.main_quest_lv98._010_sendLetter) say(gameforge.main_quest_lv98._020_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20378)) say(gameforge.main_quest_lv98._030_say) say("") wait() say_title(mob_name(20378)) say(gameforge.main_quest_lv98._040_say) say("") wait() say_title(pc.getname()) say(gameforge.main_quest_lv98._050_say) say("") wait() say_title(mob_name(20378)) say(gameforge.main_quest_lv98._060_say) say("") set_state (state1_2) end end --²®Áú ¸ðÀ¸±â Äù½ºÆ® ¼öÇà-- state state1_2 begin when letter begin send_letter(gameforge.main_quest_lv98._010_sendLetter) q.set_counter_name(gameforge.main_quest_lv98._660_counterName) end when button or info begin -- if pc.get_map_index() == 1 then -- addmapsignal(500 * 100, 500 * 100) -- addmapsignal(600 * 100, 500 * 100) -- addmapsignal(700 * 100, 300 * 100) -- end say_title(gameforge.main_quest_lv98._540_sayTitle) say(gameforge.main_quest_lv98._550_say) say("") say_item_vnum(31026) say_title(gameforge.main_quest_lv98._660_counterName) local remain = 100 - pc.count_item(31026) if remain < 0 then remain = 0 end q.set_counter_value(remain) say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(31026),remain)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end --Ŭ¸®¾î Àü¿¡ µ¹¾Æ¿Ô´Ù.-- when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin say_title(mob_name(20378)) say(gameforge.main_quest_lv98._070_say) say("") end when 3601.kill or 3602.kill or 3603.kill or 3604.kill or 3605.kill or 3690.kill or 3691.kill begin if number (1,50) == 1 then if pc.count_item(31026) < 100 then pc.give_item2 ( 31026, 1 ) local remain = 100 - pc.count_item(31026) if remain < 0 then remain = 0 end q.set_counter_value(remain) if pc.count_item(31026) >= 100 then notice_multiline(gameforge.main_quest_lv98._080_1_notice, notice) notice_multiline(gameforge.main_quest_lv98._080_2_notice,notice) set_state (state1_3) end end end end end state state1_3 begin when letter begin send_letter(gameforge.main_quest_lv98._010_sendLetter) local v = find_npc_by_vnum(20378) if 0 != v then target.vid("__TARGET__", v, mob_name(20378)) end q.set_counter_name("") end when button or info begin say_title(gameforge.main_quest_lv98._010_sendLetter) say(gameforge.main_quest_lv98._560_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end -- Áß°£¿¡ Äù½ºÆ® ¾ÆÀÌÅÛÀ» ¹ö¸± °æ¿ì¸¦ ´ëºñÇÑ ºÎºÐ. when 3601.kill or 3602.kill or 3603.kill or 3604.kill or 3605.kill or 3690.kill or 3691.kill begin if number (1,50) == 1 then if pc.count_item(31026) < 100 then pc.give_item2 ( 31026, 1 ) if pc.count_item(31026) >= 100 then notice_multiline(gameforge.main_quest_lv98._080_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._080_2_notice,notice) end end end end when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin target.delete("__TARGET__") if pc.count_item(31026) >= 100 then pc.remove_item ( 31026, pc.count_item(31026)) say_title(mob_name(20378)) say(gameforge.main_quest_lv98._090_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 40898550)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 346000)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(72308),1,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(76011),1,locale.count_postfix)) say("") pc.give_exp2(40898550) pc.change_money(346000) pc.give_item2(72308, 1) pc.give_item2_select(76011) item.set_socket(2, 120) set_state (state2_1) else --Áß°£¿¡ ¾ÆÀÌÅÛÀ» »©³õ°í ¿Ô´Ù. say_title(mob_name(20378)) say(gameforge.main_quest_lv98._070_say) say("") set_state (state1_2) end end end ---------------------------------- ¸í½ÃÁø Àç°Ç 1-2 ---------------------------------- state state2_1 begin when letter begin send_letter(gameforge.main_quest_lv98._130_sendLetter) local v = find_npc_by_vnum(20378) if 0 != v then target.vid("__TARGET__", v, mob_name(20378)) end end when button or info begin say_title(gameforge.main_quest_lv98._130_sendLetter) say(gameforge.main_quest_lv98._140_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20378)) say(gameforge.main_quest_lv98._150_say) say("") wait() say_title(pc.getname()) say(gameforge.main_quest_lv98._160_say) say("") set_state (state2_2) end end state state2_2 begin when letter begin send_letter(gameforge.main_quest_lv98._130_sendLetter) q.set_counter_name(gameforge.main_quest_lv98._660_counterName) end when button or info begin -- if pc.get_map_index() == 1 then -- addmapsignal(500 * 100, 500 * 100) -- addmapsignal(600 * 100, 500 * 100) -- addmapsignal(700 * 100, 300 * 100) -- end say_title(gameforge.main_quest_lv98._130_sendLetter) say(gameforge.main_quest_lv98._590_say) say("") say_item_vnum(31042) say_title(gameforge.main_quest_lv98._660_counterName) local remain = 100 - pc.count_item(31042) if remain < 0 then remain = 0 end q.set_counter_value(remain) say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(31042),remain)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end --Ŭ¸®¾î Àü-- when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin say_title(mob_name(20378)) say(gameforge.main_quest_lv98._170_say) say("") end when 3401.kill or 3402.kill or 3403.kill or 3404.kill or 3405.kill or 3490.kill or 3491.kill begin if number (1,50) == 1 then if pc.count_item(31042) < 100 then pc.give_item2 ( 31042, 1 ) local remain = 100 - pc.count_item(31042) if remain < 0 then remain = 0 end q.set_counter_value(remain) if pc.count_item(31042) >= 100 then notice_multiline(gameforge.main_quest_lv98._180_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._180_2_notice,notice) set_state (state2_3) end end end end end state state2_3 begin when letter begin send_letter(gameforge.main_quest_lv98._130_sendLetter) local v = find_npc_by_vnum(20378) if 0 != v then target.vid("__TARGET__", v, mob_name(20378)) end q.set_counter_name("") end when button or info begin say_title(gameforge.main_quest_lv98._130_sendLetter) say(gameforge.main_quest_lv98._600_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end -- Áß°£¿¡ Äù½ºÆ® ¾ÆÀÌÅÛÀ» ¹ö¸± °æ¿ì¸¦ ´ëºñÇÑ ºÎºÐ. when 3401.kill or 3402.kill or 3403.kill or 3404.kill or 3405.kill or 3490.kill or 3491.kill begin if number (1,50) == 1 then if pc.count_item(31042) < 100 then pc.give_item2 ( 31042, 1 ) if pc.count_item(31042) >= 100 then notice_multiline(gameforge.main_quest_lv98._180_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._180_2_notice,notice) end end end end when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin target.delete("__TARGET__") if pc.count_item(31042) >= 100 then pc.remove_item ( 31042, pc.count_item(31042)) say_title(mob_name(20378)) say(gameforge.main_quest_lv98._190_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 42646751)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 357000)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(71026),1,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(71025),2,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70102),5,locale.count_postfix)) say("") pc.give_exp2(42646751) pc.change_money(357000) pc.give_item2(71026, 1) pc.give_item2(71025, 1) pc.give_item2(71025, 1) pc.give_item2(70102, 1) pc.give_item2(70102, 1) pc.give_item2(70102, 1) pc.give_item2(70102, 1) pc.give_item2(70102, 1) set_state (state3_1) else -- Áß°£¿¡ ¾ÆÀÌÅÛÀ» ºü¶ß·È´Ù. say_title(mob_name(20378)) say(gameforge.main_quest_lv98._170_say) say("") set_state (state2_2) end end end ---------------------------------- »ýÈ° ¾ÈÁ¤---------------------------------- state state3_1 begin when letter begin send_letter(gameforge.main_quest_lv98._200_sendLetter) local v = find_npc_by_vnum(20377) if 0 != v then target.vid("__TARGET__", v, mob_name(20377)) end end when button or info begin say_title(gameforge.main_quest_lv98._200_sendLetter) say(gameforge.main_quest_lv98._210_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._220_say) say("") wait() say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._260_say) say("") wait() say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._280_say) say("") set_state (state3_2) end end state state3_2 begin when letter begin send_letter(gameforge.main_quest_lv98._200_sendLetter) q.set_counter_name(gameforge.main_quest_lv98._680_counterName) end when button or info begin -- if pc.get_map_index() == 1 then -- addmapsignal(500 * 100, 500 * 100) -- addmapsignal(600 * 100, 500 * 100) -- addmapsignal(700 * 100, 300 * 100) -- end say_title(gameforge.main_quest_lv98._610_sayTitle) say(gameforge.main_quest_lv98._620_say) say("") say(gameforge.main_quest_lv98._680_counterName) local remain1 = 50 - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = 1 - pc.getqf("mob3_2_kill") if remain2 < 0 then remain2 = 0 end q.set_counter_value(remain1 + remain2) say_reward(string.format(gameforge.main_quest_lv98._690_sayReward,mob_name(3805),remain1,mob_name(3890),remain2)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._300_say) say("") end when 3805.kill begin local mob3_1_kill = pc.getqf("mob3_1_kill") if mob3_1_kill < 50 then pc.setqf("mob3_1_kill",mob3_1_kill +1) local remain1 = 50 - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = 1 - pc.getqf("mob3_2_kill") if remain2 < 0 then remain2 = 0 end q.set_counter_value(remain1 + remain2) end if pc.getqf("mob3_1_kill") >= 50 and pc.getqf("mob3_2_kill") >= 1 then notice_multiline(gameforge.main_quest_lv98._310_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._310_2_notice,notice) set_state (state3_3) end end when 3890.kill begin local mob3_2_kill = pc.getqf("mob3_2_kill") if mob3_2_kill < 1 then pc.setqf("mob3_2_kill",1) local remain1 = 50 - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = 1 - pc.getqf("mob3_2_kill") if remain2 < 0 then remain2 = 0 end q.set_counter_value(remain1 + remain2) end if pc.getqf("mob3_1_kill") >= 50 and pc.getqf("mob3_2_kill") >= 1 then notice_multiline(gameforge.main_quest_lv98._310_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._310_2_notice,notice) set_state (state3_3) end end end state state3_3 begin when letter begin send_letter(gameforge.main_quest_lv98._200_sendLetter) local v = find_npc_by_vnum(20377) if 0 != v then target.vid("__TARGET__", v, mob_name(20377)) end q.set_counter_name("") end when button or info begin say_title(gameforge.main_quest_lv98._200_sendLetter) say(gameforge.main_quest_lv98._630_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._320_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 48584941)) --say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, 0)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30021),1,locale.count_postfix)) say("") pc.give_exp2(48584941) --pc.change_money(0) pc.give_item2(30021, 1) set_state (state4_1) end end ---------------------------------- ¸¶Áö¸· Àλç---------------------------------- state state4_1 begin when letter begin send_letter(gameforge.main_quest_lv98._330_sendLetter) local v = find_npc_by_vnum(20377) if 0 != v then target.vid("__TARGET__", v, mob_name(20377)) end end when button or info begin say_title(gameforge.main_quest_lv98._330_sendLetter) say(gameforge.main_quest_lv98._340_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._350_say) say("") wait() say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._360_say) say("") wait() say_title(pc.getname()) say(gameforge.main_quest_lv98._380_say) say("") set_state (state4_2) end end -- Àλç Äù½ºÆ® ÁøÇà -- state state4_2 begin when letter begin send_letter(gameforge.main_quest_lv98._330_sendLetter) q.set_counter_name(gameforge.main_quest_lv98._700_counterName) local v_npc1 = find_npc_by_vnum(20381) local v_npc2 = find_npc_by_vnum(9002) local v_npc3 = find_npc_by_vnum(9003) local v_npc4 = find_npc_by_vnum(9001) if 0 != v_npc1 and pc.getqf("click_npc1") ~= 1 then target.vid("__target_npc1__", v_npc1, mob_name(20381)) end if 0 != v_npc2 and pc.getqf("click_npc2") ~= 1 then target.vid("__target_npc2__", v_npc2, mob_name(9002)) end if 0 != v_npc3 and pc.getqf("click_npc3") ~= 1 then target.vid("__target_npc3__", v_npc3, mob_name(9003)) end if 0 != v_npc4 and pc.getqf("click_npc4") ~= 1 then target.vid("__target_npc4__", v_npc4, mob_name(9001)) end end when button or info begin say_title(gameforge.main_quest_lv98._640_sayTitle) say(gameforge.main_quest_lv98._650_say) say("") say_title(gameforge.main_quest_lv98._700_counterName) local npc1 = " " if pc.getqf("click_npc1") == 1 then npc1 = "O" end local npc2 = " " if pc.getqf("click_npc2") == 1 then npc2 = "O" end local npc3 = " " if pc.getqf("click_npc3") == 1 then npc3 = "O" end local npc4 = " " if pc.getqf("click_npc4") == 1 then npc4 = "O" end local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4") q.set_counter_value(remain) say(string.format(gameforge.main_quest_lv98._710_say,npc1,npc2)) say(string.format(gameforge.main_quest_lv98._720_say,npc3,npc4)) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end -- Ŭ¸®¾î Àü¿¡ Ŭ¸¯ -- when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._390_say) say("") wait() end when __target_npc1__.target.click or 20381.click with pc.getqf("click_npc1") ~= 1 begin -- ÃÌÀå target.delete("__target_npc1__") pc.setqf("click_npc1",1) say_title(mob_name(20381)) say(gameforge.main_quest_lv98._400_say) say("") local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4") q.set_counter_value(remain) if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice) set_state (state4_3) end end when __target_npc2__.target.click or 9002.click with pc.getqf("click_npc2") ~= 1 begin -- ¹æ¾î±¸ target.delete("__target_npc2__") pc.setqf("click_npc2",1) say_title(mob_name(9002)) say(gameforge.main_quest_lv98._410_say) say("") local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4") q.set_counter_value(remain) if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice) set_state (state4_3) end end when __target_npc3__.target.click or 9003.click with pc.getqf("click_npc3") ~= 1 begin -- ÀâÈ­»óÁ¡ target.delete("__target_npc3__") pc.setqf("click_npc3",1) say_title(mob_name(9003)) say(gameforge.main_quest_lv98._430_say) say("") local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4") q.set_counter_value(remain) if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice) set_state (state4_3) end end when __target_npc4__.target.click or 9001.click with pc.getqf("click_npc4") ~= 1 begin -- ¹«±â»óÁ¡ target.delete("__target_npc4__") pc.setqf("click_npc4",1) say_title(mob_name(9001)) say(gameforge.main_quest_lv98._420_say) say("") local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4") q.set_counter_value(remain) if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice) notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice) set_state (state4_3) end end end state state4_3 begin when letter begin send_letter(gameforge.main_quest_lv98._330_sendLetter) local v = find_npc_by_vnum(20377) if 0 != v then target.vid("__TARGET__", v, mob_name(20377)) end end when button or info begin say_title(gameforge.main_quest_lv98._330_sendLetter) say(gameforge.main_quest_lv98._630_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20377 )) say(gameforge.main_quest_lv98._450_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 32033398)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 379000)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30015),2,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70043),1,locale.count_postfix)) say("") pc.give_exp2(32033398) pc.change_money(379000) pc.give_item2(30015, 2) pc.give_item2_select(70043) item.set_socket(2, 60) set_state (state5_1) end end ----------------------------------´Ù½Ã ´ë·úÀ¸·Î---------------------------------- state state5_1 begin when letter begin send_letter(gameforge.main_quest_lv98._480_sendLetter) local v = find_npc_by_vnum(20378) if 0 != v then target.vid("__TARGET__", v, mob_name(20378)) end end when button or info begin say_title(gameforge.main_quest_lv98._480_sendLetter) say(gameforge.main_quest_lv98._490_say) say("") say_reward(gameforge.main_quest_lv98._570_sayReward) say("") end when 20378.chat.gameforge.main_quest_lv98._480_sendLetter begin target.delete("__TARGET__") say_title(mob_name(20378)) say(gameforge.main_quest_lv98._500_say) say("") wait() say_title(mob_name(20378)) say(gameforge.main_quest_lv98._520_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 38739560)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 390000)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30006),1,locale.count_postfix)) say("") pc.give_exp2(38739560) pc.change_money(390000) pc.give_item2(30006, 1) clear_letter() set_state (__COMPLETE__) end end state __COMPLETE__ begin when enter begin q.done() end end end