--[[ cDebugLog("nil") Ãâ·Â cPlayerExist(HeroHandle, CenterNPCHandle, 500) HeroHandleÀÎ »ç¶÷ÀÌ °ÔÀÓ¿¡ Àִ°¡? cMobRegen_Obj("MushRoom", CenterNPCHandle) CenterNPCHandle À§Ä¡¿¡ ½½¶óÀÓ ¸®Á¨ cNPCVanish(EnemyMobHandle) NPCÀÎ EnemyMobHandleÀ» ¾ø¾Ú cCurSec() ÇöÀç ÃÊ(Tick / 10) ¸®ÅÏ cGetNPCHandle("Rou", "E_PromMaster") ·ç¸à¸Ê¿¡¼­ "E_PromMaster"ÀÎ ¸÷À» ã¾Æ ÇÚµé ¸®ÅÏ cGetQuestHero_NPC(11234, CenterNPCHandle, 300) 11234¹ø Äù½ºÆ®¸¦ °¡Áö°í ÀÖ´Â »ç¶÷µé Áß CenterNPCHandle¿¡¼­ 300±×¸®µå ³»¿¡ ÀÖ´Â »ç¶÷ cNPCChat(EnemyMobHandle, towhom, "¾È³ç") EnemyMobHandleÀÌ "¾È³ç"À̶õ äÆÃÀ» ÇÔ cGetPlayerName(HeroHandle) HeroHandleÀÇ Ä³¸¯ÅÍ ID ¾ò¾î¿È cAggroSet(EnemyMobHandle, HeroHandle) EnemyMobHandle°¡ HeroHandle¸¦ °ø°ÝÇϵµ·Ï ¸¸µê cObjectDead(EnemyMobHandle) EnemyMobHandle°¡ Á×¾úÀ¸¸é true, ¾ÈÁ·¾úÀ¸¸é false cObjectHP(EnemyMobHandle) EnemyMobHandleÀÇ ÇöÀç HP ¾òÀ½ cSetAbstate(EnemyMobHandle, "StaImmortal", 1, 100) EnemyMobHandle¿¡°Ô StaImmortal °É¾îÁÜ(°­µµ 1, Áö¼Ó½Ã°£ 100ÃÊ) cDropItem("FKORDevilsS", EnemyMobHandle, HeroHandle, 1000000) ¾ÆÀÌÅÛ FKORDevilsSÀ» EnemyMobHandleÀÇ ¹ß¹Ø¿¡ ·çÆÃ±ÇÇÑ HeroHandle·Î ¶³±À(È®·ü 1¹é¸¸ºÐÀ²) cDistanceSquar(HeroHandle, CenterNPCHandle) °Å¸®Ã¼Å© ]] -- ÀÏÁ¤À§Ä¡(NPC)¿¡ ´Ù°¡°¡¸é ½½¶óÀÓ ¸®Á¨, ½½¶óÀÓÀ» ÀâÀ¸¸é ¸Ó½¬·ë ¸®Á¨, ¸Ó½¬·ë HP ¹ÝÀ¸·Î ±ðÀ¸¸é ¾ÆÀÌÅÛ ÁÖ°í »ç¶óÁü function QuestEventRoutine() if HeroHandle ~= nil then if not cPlayerExist(HeroHandle) then cDebugLog("Hero Out!!!!!!!!!!!!!!!!!!!!!!") QuestFinish() end if cDistanceSquar(HeroHandle, CenterNPCHandle) > 500 * 500 then cDebugLog("Hero Run out!!!!!!!!!!!!!!!!!!!!!!") QuestFinish() end end StepFunc() end function QuestFinish() cDebugLog("QuestFinish")------------------------------------------------------------------------- HeroHandle = nil if EnemyMobHandle ~= nil then cNPCVanish(EnemyMobHandle) end WaitUntil = 0 StepFunc = HeroFind end function InWait() return cCurSec() < WaitUntil end function NPCInit() cDebugLog("NPCInit")------------------------------------------------------------------------- CenterNPCHandle = cGetNPCHandle("Rou", "E_PromMaster") if CenterNPCHandle ~= nil then --cDebugLog("E_PromMaster Handle : " .. CenterNPCHandle)------------------------------------------------------------------------- StepFunc = HeroFind end end function HeroFind() --cDebugLog("HeroFind")------------------------------------------------------------------------- local party; HeroHandle, party = cGetQuestHero_NPC(11234, CenterNPCHandle, 300) -- 11234¹ø Äù½ºÆ®¸¦ °¡Áö°í ÀÖ´Â »ç¶÷µé Áß CenterNPCHandle¿¡¼­ 300±×¸®µå ³»¿¡ ÀÖ´Â »ç¶÷ if HeroHandle == nil then -- ´ë»óÀ» ¸øÃ£¾ÒÀ½ return end cDebugLog("Quester Handle : " .. HeroHandle .. " Party : " .. party)------------------------------------------------------------------------- StepFunc = FirstMobRegen -- HeroHandleÀ» ´ë»óÀ¸·Î Äù½ºÆ®À̺¥Æ® ½ÃÀÛ end function FirstMobRegen() cDebugLog("FirstMobRegen")------------------------------------------------------------------------- EnemyMobHandle = cMobRegen_Obj("Slime", CenterNPCHandle) -- CenterNPCHandle À§Ä¡¿¡ ½½¶óÀÓ ¸®Á¨ if EnemyMobHandle ~= nil then cDebugLog("FirstMobRegen Handle : " .. EnemyMobHandle)------------------------------------------------------------------------- WaitUntil = cCurSec() + 2 -- FirstMobChat()¿¡¼­ 2Ãʰ£ ±â´Ù¸®´Â ½Ã°£ StepFunc = FirstMobChat end end function FirstMobChat() cDebugLog("FirstMobChat")------------------------------------------------------------------------- if not InWait() then cNPCChat(EnemyMobHandle, -1, cGetPlayerName(HeroHandle) .. ", Á×À½ÀÇ ¶¥¿¡ ¿Â °ÍÀ» ȯ¿µÇÑ´Ù") cAggroSet(EnemyMobHandle, HeroHandle) StepFunc = WaitSlimeDead end end function WaitSlimeDead() cDebugLog("WaitSlimeDead")------------------------------------------------------------------------- if cObjectDead(EnemyMobHandle) then cDebugLog("Dead"); EnemyMobHandle = cMobRegen_Obj("MushRoom", CenterNPCHandle) -- CenterNPCHandle À§Ä¡¿¡ ½½¶óÀÓ ¸®Á¨ WaitUntil = cCurSec() + 2 -- FirstMobChat()¿¡¼­ 2Ãʰ£ ±â´Ù¸®´Â ½Ã°£ StepFunc = SecondMobChat else cAggroSet(EnemyMobHandle, HeroHandle) end end function SecondMobChat() cDebugLog("SecondMobChat")------------------------------------------------------------------------- if not InWait() then cNPCChat(EnemyMobHandle, -1, cGetPlayerName(HeroHandle) .. ", ³× Á×À½ÀÌ ¸ÖÁö ¾Ê¾Ò´Ù!") cAggroSet(EnemyMobHandle, HeroHandle) StepFunc = WaitMushRoomSurrender end end function WaitMushRoomSurrender() cDebugLog("WaitMushRoomSurrender")------------------------------------------------------------------------- if cObjectHP(EnemyMobHandle) < 30 then MushRoomSurrender() end end function MushRoomSurrender() cDebugLog("MushRoomSurrender")------------------------------------------------------------------------- cSetAbstate(EnemyMobHandle, "StaImmortal", 1, 100) cNPCChat(EnemyMobHandle, HeroHandle, "±×¸¸, ÀÌ°É µå¸±Å×´Ï Á¦¹ß ¿ë¼­ÇØ ÁÖ¼¼¿ä...¤Ì¤Ì") WaitUntil = cCurSec() + 2 -- FirstMobChat()¿¡¼­ 2Ãʰ£ ±â´Ù¸®´Â ½Ã°£ StepFunc = MushRoomSurrenderChat end function MushRoomSurrenderChat() cDebugLog("MushRoomSurrenderChat")------------------------------------------------------------------------- if not InWait() then cDropItem("FKORDevilsA", EnemyMobHandle, HeroHandle, 1000000) cDropItem("FKORDevilsP", EnemyMobHandle, HeroHandle, 1000000) cDropItem("FKORDevilsS", EnemyMobHandle, HeroHandle, 1000000) QuestFinish() end end CenterNPCHandle = nil -- Äù½ºÆ®À§Ä¡¿¡ ÀÖ´Â NPC E_PromMaster ÇÚµé HeroHandle = nil -- ÀÌ À̺¥Æ®¸¦ ÇÏ´Â Ç÷¹À̾î ÇÚµé EnemyMobHandle = nil StepFunc = NPCInit WaitUntil = 0 -- ±â´Ù¸®´Â ½Ã°£