--2012.08 ±è¿ë¿í --¸í½ÃÁø Àç°Ç --Äù½ºÆ® ÁøÇà npc define GUARD 20378 -- °æºñ´ëÀå ¾Ç¹«¸£ define ICHUNG 20369 -- ÀÌÃæ define TELEPORT 9012 -- °ø°£À̵¿¼ú»ç define YACKHWAN 20377 -- ¾à·ÉµµÀå ¾àȯ define SCHOLAR 20380 -- ÇÐÀÚ define OCKGU 20008 -- ¿Á±¸ define ALCHEMIST 20001 -- ¿¬±Ý¼ú»ç define UNDERLING 20379 -- ¾Ç¹«¸£ÀÇ ºÎÇÏ -- ¸í½ÃÁø Àç°Ç1-1 -- define ITEM1_1 31026 --°©°¢Á¾ÀÇ ²®Áú define ITEM1_1_NEEDED 100 -- ÇÊ¿äÇÑ °¹¼ö define ITEM1_1_PCT_GET 50 -- ȹµæ È®·ü (1/n) define MOB1_1 3601 define MOB1_2 3602 define MOB1_3 3603 define MOB1_4 3604 define MOB1_5 3605 define MOB1_6 3690 define MOB1_7 3691 define MAP_INDEX1 1 -- ¸ó½ºÅÍ°¡ ³ª¿À´Â ¸Ê ¹øÈ£ define MAP_POS1_1_X 500 -- ¸Ê¿¡ ¹Ý¦À̵µ·Ï º¸ÀÌ´Â ÁÂÇ¥. define MAP_POS1_1_Y 500 define MAP_POS1_2_X 600 define MAP_POS1_2_Y 500 define MAP_POS1_3_X 700 define MAP_POS1_3_Y 300 define REWARD1_EXP 40898550 -- º¸»ó : °æÇèÄ¡ define REWARD1_GOLD 346000 -- º¸»ó : °ñµå define REWARD1_ITEM1 72308 -- º¸»ó : ¸¸³âÇÑö define REWARD1_ITEM1_COUNT 1 -- º¸»ó °¹¼ö define REWARD1_ITEM2 76011 -- º¸»ó : À°µµ define REWARD1_ITEM2_COUNT 1 -- º¸»ó °¹¼ö -- ¸í½ÃÁø Àç°Ç1-2 -- define ITEM2_1 31042 --³¯Ä«·Î¿î ÀÛ»ì define ITEM2_1_NEEDED 100 -- ÇÊ¿äÇÑ °¹¼ö define ITEM2_1_PCT_GET 50 -- ȹµæ È®·ü (1/n) define MOB2_1 3401 define MOB2_2 3402 define MOB2_3 3403 define MOB2_4 3404 define MOB2_5 3405 define MOB2_6 3490 define MOB2_7 3491 define MAP_INDEX2 1 -- ¸ó½ºÅÍ°¡ ³ª¿À´Â ¸Ê ¹øÈ£ define MAP_POS2_1_X 500 -- ¸Ê¿¡ ¹Ý¦À̵µ·Ï º¸ÀÌ´Â ÁÂÇ¥. define MAP_POS2_1_Y 500 define MAP_POS2_2_X 600 define MAP_POS2_2_Y 500 define MAP_POS2_3_X 700 define MAP_POS2_3_Y 300 define REWARD2_EXP 42646751 -- º¸»ó : °æÇèÄ¡ define REWARD2_GOLD 357000 -- º¸»ó : °ñµå define REWARD2_ITEM1 71026 -- º¸»ó : Çöö define REWARD2_ITEM1_COUNT 1 -- º¸»ó °¹¼ö define REWARD2_ITEM2 71025 -- º¸»ó : ¾ß°ø¼® define REWARD2_ITEM2_COUNT 2 -- º¸»ó °¹¼ö define REWARD2_ITEM3 70102 -- º¸»ó : ¼±µÎ define REWARD2_ITEM3_COUNT 5 -- º¸»ó °¹¼ö -- »ýÈ° ¾ÈÁ¤ -- define MOB3_1 3805 define MOB3_1_COUNT 50 define MOB3_2 3890 define MOB3_2_COUNT 1 define MAP_INDEX3 1 -- ¸ó½ºÅÍ°¡ ³ª¿À´Â ¸Ê ¹øÈ£ define MAP_POS3_1_X 500 -- ¸Ê¿¡ ¹Ý¦À̵µ·Ï º¸ÀÌ´Â ÁÂÇ¥. define MAP_POS3_1_Y 500 define MAP_POS3_2_X 600 define MAP_POS3_2_Y 500 define MAP_POS3_3_X 700 define MAP_POS3_3_Y 300 define REWARD3_EXP 48584941 -- º¸»ó : °æÇèÄ¡ define REWARD3_GOLD 0 -- º¸»ó : °ñµå define REWARD3_ITEM1 30021 -- º¸»ó : ±úÁø º¸¼®Á¶°¢ define REWARD3_ITEM1_COUNT 1 -- º¸»ó °¹¼ö -- ¸¶Áö¸· Àλç -- define NPC4_1 20381 -- ÃÌÀå define NPC4_2 9002 -- ¹æ¾î±¸ »óÀÎ define NPC4_3 9003 -- ÀâÈ­ »óÀÎ define NPC4_4 9001 -- ¹«±â »óÀÎ define REWARD4_EXP 32033398 -- º¸»ó : °æÇèÄ¡ define REWARD4_GOLD 379000 -- º¸»ó : °ñµå define REWARD4_ITEM1 30015 -- º¸»ó : »ç±ÍÀÇ À¯Ç° define REWARD4_ITEM1_COUNT 2 -- º¸»ó °¹¼ö define REWARD4_ITEM2 70043 -- º¸»ó : µµµÏÀÇ Àå°© define REWARD4_ITEM2_COUNT 1 -- º¸»ó °¹¼ö --´Ù½Ã ´ë·úÀ¸·Î -- define REWARD5_EXP 38739560 -- º¸»ó : °æÇèÄ¡ define REWARD5_GOLD 390000 -- º¸»ó : °ñµå define REWARD5_ITEM1 30006 -- º¸»ó : ¿õ±ÍÀÇ ¾î±Ý´Ï define REWARD5_ITEM1_COUNT 1 -- º¸»ó °¹¼ö 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(GUARD) if 0 != v then target.vid("__TARGET__", v, mob_name(GUARD)) 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 GUARD.chat.gameforge.main_quest_lv98._010_sendLetter begin target.delete("__TARGET__") say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._030_say) say("") wait() say_title(mob_name(GUARD)) 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(GUARD)) 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() == MAP_INDEX1 then -- addmapsignal(MAP_POS1_1_X * 100, MAP_POS1_1_Y * 100) -- addmapsignal(MAP_POS1_2_X * 100, MAP_POS1_2_Y * 100) -- addmapsignal(MAP_POS1_3_X * 100, MAP_POS1_3_Y * 100) -- end say_title(gameforge.main_quest_lv98._540_sayTitle) say(gameforge.main_quest_lv98._550_say) say("") say_item_vnum(ITEM1_1) say_title(gameforge.main_quest_lv98._660_counterName) local remain = ITEM1_1_NEEDED - pc.count_item(ITEM1_1) if remain < 0 then remain = 0 end q.set_counter_value(remain) say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(ITEM1_1),remain)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end --Ŭ¸®¾î Àü¿¡ µ¹¾Æ¿Ô´Ù.-- when GUARD.chat.gameforge.main_quest_lv98._010_sendLetter begin say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._070_say) say("") end when MOB1_1.kill or MOB1_2.kill or MOB1_3.kill or MOB1_4.kill or MOB1_5.kill or MOB1_6.kill or MOB1_7.kill begin if number (1,ITEM1_1_PCT_GET) == 1 then if pc.count_item(ITEM1_1) < ITEM1_1_NEEDED then pc.give_item2 ( ITEM1_1, 1 ) local remain = ITEM1_1_NEEDED - pc.count_item(ITEM1_1) if remain < 0 then remain = 0 end q.set_counter_value(remain) if pc.count_item(ITEM1_1) >= ITEM1_1_NEEDED 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(GUARD) if 0 != v then target.vid("__TARGET__", v, mob_name(GUARD)) 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 MOB1_1.kill or MOB1_2.kill or MOB1_3.kill or MOB1_4.kill or MOB1_5.kill or MOB1_6.kill or MOB1_7.kill begin if number (1,ITEM1_1_PCT_GET) == 1 then if pc.count_item(ITEM1_1) < ITEM1_1_NEEDED then pc.give_item2 ( ITEM1_1, 1 ) if pc.count_item(ITEM1_1) >= ITEM1_1_NEEDED 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 GUARD.chat.gameforge.main_quest_lv98._010_sendLetter begin target.delete("__TARGET__") if pc.count_item(ITEM1_1) >= ITEM1_1_NEEDED then pc.remove_item ( ITEM1_1, pc.count_item(ITEM1_1)) say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._090_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD1_EXP)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD1_GOLD)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD1_ITEM1),REWARD1_ITEM1_COUNT,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD1_ITEM2),REWARD1_ITEM2_COUNT,locale.count_postfix)) say("") pc.give_exp2(REWARD1_EXP) pc.change_money(REWARD1_GOLD) pc.give_item2(REWARD1_ITEM1, REWARD1_ITEM1_COUNT) pc.give_item2_select(REWARD1_ITEM2) item.set_socket(2, 120) set_state (state2_1) else --Áß°£¿¡ ¾ÆÀÌÅÛÀ» »©³õ°í ¿Ô´Ù. say_title(mob_name(GUARD)) 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(GUARD) if 0 != v then target.vid("__TARGET__", v, mob_name(GUARD)) 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 GUARD.chat.gameforge.main_quest_lv98._130_sendLetter begin target.delete("__TARGET__") say_title(mob_name(GUARD)) 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() == MAP_INDEX2 then -- addmapsignal(MAP_POS2_1_X * 100, MAP_POS2_1_Y * 100) -- addmapsignal(MAP_POS2_2_X * 100, MAP_POS2_2_Y * 100) -- addmapsignal(MAP_POS2_3_X * 100, MAP_POS2_3_Y * 100) -- end say_title(gameforge.main_quest_lv98._130_sendLetter) say(gameforge.main_quest_lv98._590_say) say("") say_item_vnum(ITEM2_1) say_title(gameforge.main_quest_lv98._660_counterName) local remain = ITEM2_1_NEEDED - pc.count_item(ITEM2_1) if remain < 0 then remain = 0 end q.set_counter_value(remain) say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(ITEM2_1),remain)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end --Ŭ¸®¾î Àü-- when GUARD.chat.gameforge.main_quest_lv98._130_sendLetter begin say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._170_say) say("") end when MOB2_1.kill or MOB2_2.kill or MOB2_3.kill or MOB2_4.kill or MOB2_5.kill or MOB2_6.kill or MOB2_7.kill begin if number (1,ITEM2_1_PCT_GET) == 1 then if pc.count_item(ITEM2_1) < ITEM2_1_NEEDED then pc.give_item2 ( ITEM2_1, 1 ) local remain = ITEM2_1_NEEDED - pc.count_item(ITEM2_1) if remain < 0 then remain = 0 end q.set_counter_value(remain) if pc.count_item(ITEM2_1) >= ITEM2_1_NEEDED 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(GUARD) if 0 != v then target.vid("__TARGET__", v, mob_name(GUARD)) 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 MOB2_1.kill or MOB2_2.kill or MOB2_3.kill or MOB2_4.kill or MOB2_5.kill or MOB2_6.kill or MOB2_7.kill begin if number (1,ITEM2_1_PCT_GET) == 1 then if pc.count_item(ITEM2_1) < ITEM2_1_NEEDED then pc.give_item2 ( ITEM2_1, 1 ) if pc.count_item(ITEM2_1) >= ITEM2_1_NEEDED 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 GUARD.chat.gameforge.main_quest_lv98._130_sendLetter begin target.delete("__TARGET__") if pc.count_item(ITEM2_1) >= ITEM2_1_NEEDED then pc.remove_item ( ITEM2_1, pc.count_item(ITEM2_1)) say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._190_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD2_EXP)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD2_GOLD)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD2_ITEM1),REWARD2_ITEM1_COUNT,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD2_ITEM2),REWARD2_ITEM2_COUNT,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD2_ITEM3),REWARD2_ITEM3_COUNT,locale.count_postfix)) say("") pc.give_exp2(REWARD2_EXP) pc.change_money(REWARD2_GOLD) pc.give_item2(REWARD2_ITEM1, REWARD2_ITEM1_COUNT) pc.give_item2(REWARD2_ITEM2, 1) pc.give_item2(REWARD2_ITEM2, 1) pc.give_item2(REWARD2_ITEM3, 1) pc.give_item2(REWARD2_ITEM3, 1) pc.give_item2(REWARD2_ITEM3, 1) pc.give_item2(REWARD2_ITEM3, 1) pc.give_item2(REWARD2_ITEM3, 1) set_state (state3_1) else -- Áß°£¿¡ ¾ÆÀÌÅÛÀ» ºü¶ß·È´Ù. say_title(mob_name(GUARD)) 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(YACKHWAN) if 0 != v then target.vid("__TARGET__", v, mob_name(YACKHWAN)) 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 YACKHWAN.chat.gameforge.main_quest_lv98._200_sendLetter begin target.delete("__TARGET__") say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._220_say) say("") wait() say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._260_say) say("") wait() say_title(mob_name(YACKHWAN )) 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() == MAP_INDEX3 then -- addmapsignal(MAP_POS3_1_X * 100, MAP_POS3_1_Y * 100) -- addmapsignal(MAP_POS3_2_X * 100, MAP_POS3_2_Y * 100) -- addmapsignal(MAP_POS3_3_X * 100, MAP_POS3_3_Y * 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 = MOB3_1_COUNT - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = MOB3_2_COUNT - 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(MOB3_1),remain1,mob_name(MOB3_2),remain2)) -- say() -- say_reward(locale.main_quest_lv98.pos_info) -- select(gameforge.main_quest_lv90._950_say) -- setskin(NOWINDOW) -- clearmapsignal() end when YACKHWAN.chat.gameforge.main_quest_lv98._200_sendLetter begin say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._300_say) say("") end when MOB3_1.kill begin local mob3_1_kill = pc.getqf("mob3_1_kill") if mob3_1_kill < MOB3_1_COUNT then pc.setqf("mob3_1_kill",mob3_1_kill +1) local remain1 = MOB3_1_COUNT - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = MOB3_2_COUNT - 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") >= MOB3_1_COUNT and pc.getqf("mob3_2_kill") >= MOB3_2_COUNT 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 MOB3_2.kill begin local mob3_2_kill = pc.getqf("mob3_2_kill") if mob3_2_kill < MOB3_2_COUNT then pc.setqf("mob3_2_kill",1) local remain1 = MOB3_1_COUNT - pc.getqf("mob3_1_kill") if remain1 < 0 then remain1 = 0 end local remain2 = MOB3_2_COUNT - 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") >= MOB3_1_COUNT and pc.getqf("mob3_2_kill") >= MOB3_2_COUNT 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(YACKHWAN) if 0 != v then target.vid("__TARGET__", v, mob_name(YACKHWAN)) 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 YACKHWAN.chat.gameforge.main_quest_lv98._200_sendLetter begin target.delete("__TARGET__") say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._320_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, REWARD3_EXP)) --say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, REWARD3_GOLD)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD3_ITEM1),REWARD3_ITEM1_COUNT,locale.count_postfix)) say("") pc.give_exp2(REWARD3_EXP) --pc.change_money(REWARD3_GOLD) pc.give_item2(REWARD3_ITEM1, REWARD3_ITEM1_COUNT) 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(YACKHWAN) if 0 != v then target.vid("__TARGET__", v, mob_name(YACKHWAN)) 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 YACKHWAN.chat.gameforge.main_quest_lv98._330_sendLetter begin target.delete("__TARGET__") say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._350_say) say("") wait() say_title(mob_name(YACKHWAN )) 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(NPC4_1) local v_npc2 = find_npc_by_vnum(NPC4_2) local v_npc3 = find_npc_by_vnum(NPC4_3) local v_npc4 = find_npc_by_vnum(NPC4_4) if 0 != v_npc1 and pc.getqf("click_npc1") ~= 1 then target.vid("__target_npc1__", v_npc1, mob_name(NPC4_1)) end if 0 != v_npc2 and pc.getqf("click_npc2") ~= 1 then target.vid("__target_npc2__", v_npc2, mob_name(NPC4_2)) end if 0 != v_npc3 and pc.getqf("click_npc3") ~= 1 then target.vid("__target_npc3__", v_npc3, mob_name(NPC4_3)) end if 0 != v_npc4 and pc.getqf("click_npc4") ~= 1 then target.vid("__target_npc4__", v_npc4, mob_name(NPC4_4)) 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 YACKHWAN.chat.gameforge.main_quest_lv98._330_sendLetter begin say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._390_say) say("") wait() end when __target_npc1__.target.click or NPC4_1.click with pc.getqf("click_npc1") ~= 1 begin -- ÃÌÀå target.delete("__target_npc1__") pc.setqf("click_npc1",1) say_title(mob_name(NPC4_1)) 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 NPC4_2.click with pc.getqf("click_npc2") ~= 1 begin -- ¹æ¾î±¸ target.delete("__target_npc2__") pc.setqf("click_npc2",1) say_title(mob_name(NPC4_2)) 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 NPC4_3.click with pc.getqf("click_npc3") ~= 1 begin -- ÀâÈ­»óÁ¡ target.delete("__target_npc3__") pc.setqf("click_npc3",1) say_title(mob_name(NPC4_3)) 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 NPC4_4.click with pc.getqf("click_npc4") ~= 1 begin -- ¹«±â»óÁ¡ target.delete("__target_npc4__") pc.setqf("click_npc4",1) say_title(mob_name(NPC4_4)) 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(YACKHWAN) if 0 != v then target.vid("__TARGET__", v, mob_name(YACKHWAN)) 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 YACKHWAN.chat.gameforge.main_quest_lv98._330_sendLetter begin target.delete("__TARGET__") say_title(mob_name(YACKHWAN )) say(gameforge.main_quest_lv98._450_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD4_EXP)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD4_GOLD)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM1),REWARD4_ITEM1_COUNT,locale.count_postfix)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM2),REWARD4_ITEM2_COUNT,locale.count_postfix)) say("") pc.give_exp2(REWARD4_EXP) pc.change_money(REWARD4_GOLD) pc.give_item2(REWARD4_ITEM1, REWARD4_ITEM1_COUNT) pc.give_item2_select(REWARD4_ITEM2) 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(GUARD) if 0 != v then target.vid("__TARGET__", v, mob_name(GUARD)) 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 GUARD.chat.gameforge.main_quest_lv98._480_sendLetter begin target.delete("__TARGET__") say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._500_say) say("") wait() say_title(mob_name(GUARD)) say(gameforge.main_quest_lv98._520_say) say("") wait() --º¸»ó say_title(locale.reward) say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD5_EXP)) say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD5_GOLD)) say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD5_ITEM1),REWARD5_ITEM1_COUNT,locale.count_postfix)) say("") pc.give_exp2(REWARD5_EXP) pc.change_money(REWARD5_GOLD) pc.give_item2(REWARD5_ITEM1, REWARD5_ITEM1_COUNT) clear_letter() set_state (__COMPLETE__) end end state __COMPLETE__ begin when enter begin q.done() end end end