#pragma once // VillageServer Script API // [4/1/2008 nextome] class CDNUserBase; int CheckInvenForQuestReward(CDNUserBase* pUser, const TQuestReward& QuestReward, const bool bSelectedArray[]); // ¸ðµç ÇÔ¼ö¸¦ ·ç¾Æ¿¡ µî·ÏÇÑ´Ù. void DefAllAPIFunc(lua_State* pLuaState); /* desc : ´ÙÀ½ ´ë»ç·Î ¿¬°áÇÑ´Ù. param : À¯ÀúÀ妽º, NPCÀ妽º, ÅäÅ©À妽º, ÅäÅ©ÆÄÀÏÀ̸§ return : void */ void api_npc_NextTalk(UINT nUserObjectID, UINT nNpcObjectID, const char* szTalkIndex, const char* szTargetFile); /* desc : ´ÙÀ½ ½ºÅ©¸³Æ®·Î ¿¬°áÇÑ´Ù. param : À¯ÀúÀ妽º, NPCÀ妽º, ÅäÅ©À妽º, ÅäÅ©ÆÄÀÏÀ̸§ return : void */ void api_npc_NextScript(UINT nUserObjectID, UINT nNpcObjectID, const char* szTalkIndex, const char* szTargetFile); /* desc : ´ë»ç ÆÄ¶ó¸ÞÅ͸¦ ¼¼ÆÃÇÑ´Ù(½ºÆ®¸µ). param : ÆÄ¶ó¸ÞÅÍŰ, ÆÄ¶ó¸ÞÅ͹®ÀÚÀÇ À妽º return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ÆÄ¶ó¸ÞÅÍ °¹¼ö°¡ ³Ñ¾î¼­¼­ ´õÀÌ»ó ¼¼ÆÃÇÒ¼ö ¾øÀ½. 1 ÀÌ¸é ¼º°ø sample : Àú´Â {%color} »öÀ» ÁÁ¾ÆÇÕ´Ï´Ù. ¶ó´Â ¹®ÀåÀ» ¸¸µé¶§. api_SetParamString("{%color}, math.random(2) ); ÀÌ·±½ÄÀ¸·Î ¸¸µé¾îÁØ´Ù. 1Àº TalkParamTable.xls ¿¡ 1 : »¡°­, 2: ÆÄ¶û µû·Î ±â·Ï µÇ¾îÀÖ¾î¾ßÇÑ´Ù. ÁÖÀÇ: api_SetParamString À¸·Î ¼¼ÆÃÇÑ ÆÄ¶ó¸ÞÅÍ´Â api_NextTalk È£ÃâÈÄ clear µÇ¹Ç·Î api_NextTalk È£ÃâÀü¿¡ ¼¼ÆÃÇÑ´Ù. */ int api_npc_SetParamString(UINT nUserObjectID, const char* szParamKey, int nParamID); /* desc : ´ë»ç ÆÄ¶ó¸ÞÅ͸¦ ¼¼ÆÃÇÑ´Ù(Á¤¼ö). param : ÆÄ¶ó¸ÞÅÍŰ, Á¤¼ö°ª return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ÆÄ¶ó¸ÞÅÍ °¹¼ö°¡ ³Ñ¾î¼­¼­ ´õÀÌ»ó ¼¼ÆÃÇÒ¼ö ¾øÀ½. 1 ÀÌ¸é ¼º°ø sample : Àú´Â {%age} »ìÂë¿¡ ¼ûÁö°í ½Í¾î¿ä. ¶ó´Â ¹®ÀåÀ» ¸¸µé¶§. api_SetParamInt("{%age}, math.random(30)+40 ); ÀÌ·±½ÄÀ¸·Î ¸¸µé¾îÁØ´Ù. ÁÖÀÇ: api_SetParamInt À¸·Î ¼¼ÆÃÇÑ ÆÄ¶ó¸ÞÅÍ´Â api_NextTalk È£ÃâÈÄ clear µÇ¹Ç·Î api_NextTalk È£ÃâÀü¿¡ ¼¼ÆÃÇÑ´Ù. */ int api_npc_SetParamInt(UINT nUserObjectID, const char* szParamKey, int nValue); /* desc : ·Î±×¸¦ ³²±ä´Ù. param : ·Î±× ½ºÆ®¸µ ÁٹٲÞÀ» À§ÇØ \n À» Æ÷ÇÔÇÒ°Í. return : void */ void api_log_AddLog(const char* szLog); /* desc : À¯Àú¿¡°Ô ·Î±×¸¦ ³²±ä´Ù. À¯ÀúäÆÃ¸Þ¼¼Áö·Î Àü¼ÛÇØÁÜ. param : ·Î±× ½ºÆ®¸µ ÁٹٲÞÀ» À§ÇØ \n À» Æ÷ÇÔÇÒ°Í. return : void */ void api_log_UserLog(UINT nUserObjectID, const char* szLog); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® °ü·Ã Á¤º¸¸¦ äÆÃÀ¸·Î º¸³»ÁØ´Ù. param : return : void */ void api_quest_DumpQuest(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô Äù½ºÆ®¸¦ ºÎ¿© ÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Äù½ºÆ® ŸÀÔ QuestType_SubQuest = 1, QuestType_MainQuest = 2, return : 1 : ¼º°ø, -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 : À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½ */ int api_quest_AddHuntingQuest(UINT nUserObjectID, int nQuestID, int nQuestStep, int nJournalStep, int nCountingSlot, int nCountingType, int nCountingIndex, int nTargetCnt); int api_quest_AddQuest(UINT nUserObjectID, int nQuestID, int nQuestType); /* desc : À¯Àú¿¡°Ô Äù½ºÆ®¸¦ ¿Ï·á ½ÃŲ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, ÇöÀç °¡Áö°í ÀÖ´Â Äù½ºÆ®¿¡¼­ Áö¿ï°ÍÀÎÁö (¾ÈÁö¿ì¸é Ç÷¹ÀÌ È½¼ö¸¸ Áõ°¡ ½ÃŲ´Ù.), ¹Ýº¹ °¡´É ¿©ºÎ return : 1 : ¼º°ø, -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 : À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½ */ int api_quest_CompleteQuest(UINT nUserObjectID, int nQuestID, bool bDelPlayList, bool bRepeat); /* desc : À¯Àú¿¡°Ô Äù½ºÆ®¸¦ ¿Ï·á¸ñ·Ï¿¡ Ãß°¡ ½ÃŲ´Ù. ( DB ¿¡ ±â·Ï!! ) param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 Äù½ºÆ®°¡ ÁøÇàÁßÀÌ ¾Æ´Ô */ int api_quest_MarkingCompleteQuest(UINT nUserObjectID, int nQuestID); /* desc : ¿Ï·á¸ñ·Ï¿¡ ¿Ï·á¸¶Å·ÀÌ µÇ¾îÀÖ´Â Äù½ºÆ®ÀÎÁö? param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 ÀÌ¸é ¿Ï·á¸¶Å·µÈ Äù½ºÆ®, 0 ÀÌ¸é ¿Ï·á¸¶Å· ¾ÈµÊ */ int api_quest_IsMarkingCompleteQuest(UINT nUserObjectID, int nQuestID); /* desc : À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½, -1 º¸´Ù Å©¸é Äù½ºÆ®¸¦ °¡Áö°í ÀÕÀ½ ( Äù½ºÆ® ½ºÅÜÀ» ¸®ÅÏ ) */ int api_quest_UserHasQuest(UINT nUserObjectID, int nQuestID); /* desc : À¯Àú°¡ ¸î°³ÀÇ Äù½ºÆ®¸¦ ÁøÇàÁßÀÎÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü¿¡ ÇöÀç ÁøÇàÁßÀÎ Äù½ºÆ® °¹¼ö ¸®ÅÏ.. */ int api_quest_GetPlayingQuestCnt(UINT nUserObjectID); /* desc : npc À妽º¸¦ ¸®ÅÏÇÑ´Ù. param : À¯ÀúÀ妽º, NpcObjId ( npc À妽º¿Í npcobject À妽º´Â ´Ù¸¥ °Í. ) return : -1 À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 npc ¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü¿¡´Â npcÀ妽º */ int api_npc_GetNpcIndex(UINT nUserObjectID, UINT nNpcObjID); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ ½ºÅÜ, Àú³Î ½ºÅÜÀ» ¼¼ÆÃÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Àú³Î ½ºÅÜ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. -3 Àú³Î ½ºÅÜ ¹üÀ§¸¦ ¹þ¾î³². ¼º°øÀÏ °æ¿ì 1À» ¸®ÅÏ */ int api_quest_SetQuestStepAndJournalStep(UINT nUserObjectID, int nQuestID, short nQuestStep, int nJournalStep); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ Äù½ºÆ® ½ºÅÜÀ» ¼¼ÆÃÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Äù½ºÆ® ½ºÅÜ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. ¼º°øÀÏ °æ¿ì 1À» ¸®ÅÏ */ int api_quest_SetQuestStep(UINT nUserObjectID, int nQuestID, short nQuestStep); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ Äù½ºÆ® ½ºÅÜÀ» ¾ò´Â´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½., -1 º¸´Ù Å«°æ¿ì ÇöÀç Äù½ºÆ®ÀÇ ½ºÅÜ */ int api_quest_GetQuestStep(UINT nUserObjectID, int nQuestID); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ Àú³Î ½ºÅÜÀ» ¼¼ÆÃÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Àú³Î ½ºÅÜ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. -3 Àú³Î ½ºÅÜ ¹üÀ§¸¦ ¹þ¾î³². ¼º°øÀÏ °æ¿ì 1À» ¸®ÅÏ */ int api_quest_SetJournalStep(UINT nUserObjectID, int nQuestID, int nJournalStep); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ Àú³Î ½ºÅÜÀ» ¾ò´Â´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½., -1 º¸´Ù Å«°æ¿ì ÇöÀç Àú³Î ½ºÅÜ */ int api_quest_GetJournalStep(UINT nUserObjectID, int nQuestID); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ ¸Þ¸ðÀÇ Æ¯Á¤ À妽º¿¡ °ªÀ» ¼¼ÆÃÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®¹øÈ£, ¸Þ¸ðÀ妽º, ¸Þ¸ð°ª return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. -3 ¸Þ¸ð À妽º ¹üÀ§¸¦ ¹þ¾î³². ¼º°øÀÏ °æ¿ì 1À» ¸®ÅÏ */ int api_quest_SetQuestMemo(UINT nUserObjectID, int nQuestID, char nMemoIndex, TP_QUESTMEMO nVal); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ ¸Þ¸ðÀÇ Æ¯Á¤ À妽ºÀÇ °ªÀ» ¾ò´Â´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®¹øÈ£, ¸Þ¸ðÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. -3 ¸Þ¸ð À妽º ¹üÀ§¸¦ ¹þ¾î³². -1 º¸´Ù Å«°æ¿ì ƯÁ¤ ¸Þ¸ð À妽ºÀÇ °ª */ int api_quest_GetQuestMemo(UINT nUserObjectID, int nQuestID, char nMemoIndex); /* desc : ¸ó½ºÅÍ Àâ°Å³ª, ¾ÆÀÌÅÛ ¾ò´Â °¹¼ö Ä«¿îÆÃ Á¤º¸¸¦ ¼¼ÆÃÇÏ´Â ÇÔ¼ö ÀÌ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Ä«¿îÆÃÁ¤º¸ ¼¼ÆÃ ½½·Ô(0ºÎÅÍ 49±îÁö 50°³ÀÇ ¼¼ÆÃ½½·ÔÀÌ ÀÖÀ½) , Ä«¿îÆÃÇÒ Å¸ÀÔ( CountingType_MyMonsterKill = 1, CountingType_AllMonsterKill = 2, CountingType_Item = 3), Ä«¿îÆÃÇÒ °ÍÀÇ À妽º 0 ~ 60000 ±îÁöÀÇ ¹üÀ§, Ä«¿îÆÃÇÒ °¹¼ö return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => À¯Àú°¡ Äù½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ½. -3 => Ä«¿îÆÃÁ¤º¸¼¼ÆÃ½½·Ô ¹üÀ§ Ãʰú -4 => Ä«¿îÆÃŸÀÔ or Ÿ°ÙÄ«¿îÆ® ¹üÀ§ Ãʰú example: api_SetCountingInfo(À¯Àú¾ÆÀ̵ð, Äù½ºÆ®¾ÆÀ̵ð, 0, CountingType_MyMonsterKill, 10001, 10); api_SetCountingInfo(À¯Àú¾ÆÀ̵ð, Äù½ºÆ®¾ÆÀ̵ð, 1, CountingType_MyMonsterKill, 10002, 5); api_SetCountingInfo(À¯Àú¾ÆÀ̵ð, Äù½ºÆ®¾ÆÀ̵ð, 2, CountingType_MyMonsterKill, 10003, 20); api_SetCountingInfo(À¯Àú¾ÆÀ̵ð, Äù½ºÆ®¾ÆÀ̵ð, 3, Item, 1001, 5); api_SetCountingInfo(À¯Àú¾ÆÀ̵ð, Äù½ºÆ®¾ÆÀ̵ð, 4, Item, 1002, 1); À§¿Í °°ÀÌ ½ºÅ©¸³Æ®¿¡¼­ È£Ãâ ÇØÁáÀ» °æ¿ì 5°³ÀÇ Ä«¿îÆÃ Á¶°ÇÀÌ ¼¼ÆÃ µÇ°Ô µÈ´Ù. ¸Ç À­ÁÙÀÇ ¶æÀº 0¹ø ½½·Ô¿¡ 10001¹ø ¸ó½ºÅ͸¦ 10¸¶¸® ÀâÀ¸¸é Á¶°ÇÀÌ ¸¸Á·ÇÑ´Ù°í ¼¼ÆÃÇÑ´Ù. À§¿Í°°ÀÌ 5°³ÀÇ ½½·Ô¿¡ 10001¹ø ¸ó½ºÅÍ 10¸¶¸®, 10002¹ø ¸ó½ºÅÍ 5¸¶¸®, 10003¹ø ¸ó½ºÅÍ 20¸¶¸®, 1001¹ø ¾ÆÀÌÅÛ 5°³, 1002¹ø ¾ÆÀÌÅÛ 1°³ ¶ó°í ¼¼ÆÃ ÇÏ¿´°í À§ 5°³ÀÇ Á¶°ÇÀ» ¸¸Á·ÇÏ°Ô µÇ¸é. Äù½ºÆ® ½ºÅ©¸³Æ®ÀÇ OnComplete() ÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µÈ´Ù. *** Ä«¿îÆÃ °¹¼ö´Â ÃÖ´ë 30000 °³ÀÌ´Ù. */ int api_quest_SetCountingInfo(UINT nUserObjectID, int nQuestID, int nSlot, int nCountingType, int nCountingIndex, int nTargetCnt); /* desc : ¼¼ÆÃµÈ Ä«¿îÆÃ Á¤º¸¸¦ Ŭ¸®¾î ÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ® À妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => Äù½ºÆ®¸¦ ãÀ»¼ö ¾øÀ½, */ int api_quest_ClearCountingInfo(UINT nUserObjectID, int nQuestID); /* desc : ¼¼ÆÃµÈ Ä«¿îÆÃµéÀÌ ¸ðµÎ ¿Ï·á µÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => Äù½ºÆ®¸¦ ãÀ»¼ö ¾øÀ½, -3ÀÌ¸é ¿Ï·á ¾ÈµÊ, 1 ÀÌ¸é ¸ðµÎ ¿Ï·á */ int api_quest_IsAllCompleteCounting(UINT nUserObjectID, int nQuestID); /* desc : À¯ÀúÄù½ºÆ®¸¦ ĵ½½½ÃŲ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ® ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2¸é ½ÇÆÐ 1ÀÌ¸é ¼º°ø */ int api_quest_CancelQuest(UINT nUserObjectID, int nQuestID); /* desc : À¯Àú¿¡°Ô ¾ÆÀÌÅÛÀ» ³ÖÀ»¸¸ÇÑ Àκ¥¿©À¯°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 Àκ¥ ºÎÁ· */ int api_user_CheckInvenForAddItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛ ¸ñ·ÏÀ» ³ÖÀ»¸¸ÇÑ Àκ¥¿©À¯°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ® ¾ÆÀÌÅÛ ¸ñ·Ï (·ç¾ÆÅ×À̺í, [<ÃÖ´ë°³¼ö>]{Äù½ºÆ® ¾ÆÀÌÅÛÀ妽º, Äù½ºÆ® ¾ÆÀÌÅÛ Ä«¿îÆ®} °¡ ÇÑ ½ÖÀ¸·Î <ÃÖ´ë°³¼ö (ÇöÀç 10°³)> ¸¸Å­ Á¸Àç) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 Àκ¥ ºÎÁ· example : function grandmother_OnTalk(userObjID, npcObjID, npc_talk_index, npc_talk_target, questID) local TableItem = { { 1001, 10 }, -- ¾ÆÀÌÅÛ À妽º (1001), ¾ÆÀÌÅÛ °³¼ö (10) { 1002, 1 }, -- ¾ÆÀÌÅÛ À妽º (1002), ¾ÆÀÌÅÛ °³¼ö (1) { 1003, 5 }, -- ¾ÆÀÌÅÛ À妽º (1003), ¾ÆÀÌÅÛ °³¼ö (5) }; if (api_user_CheckInvenForAddItemList(userObjID, TableParam) == 1) then -- ¼º°ø else -- ½ÇÆÐ end end */ int api_user_CheckInvenForAddItemList(UINT nUserObjectID, lua_tinker::table ItemTable); /* desc : À¯Àú¿¡°Ô ¾ÆÀÌÅÛÀ» Áö±ÞÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ®, Äù½ºÆ® ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 Àκ¥ ºÎÁ· */ int api_user_AddItem(UINT nUserObjectID, int nItemIndex, int nItemCnt, int nQuestID); /* desc : À¯Àú¿¡°Ô¼­ ¾ÆÀÌÅÛÀ» Áö¿î´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ®, Äù½ºÆ® ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ· */ int api_user_DelItem(UINT nUserObjectID, int nItemIndex, int nItemCnt, int nQuestID); /* desc : À¯Àú¿¡°Ô¼­ ¾ÆÀÌÅÛÀ» ¸ðµÎ Áö¿î´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½ */ int api_user_AllDelItem(UINT nUserObjectID, int nItemIndex); /* desc : À¯Àú°¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ·, 0 º¸´Ù Å©¸é true ( °¹¼ö¸¦ ¸®ÅÏ ) */ int api_user_HasItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯ÀúÀÇ Å¬·¡½º ID ¸¦ ¾ò´Â´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â ClasssID */ int api_user_GetUserClassID(UINT nUserObjectID); /* desc : À¯ÀúÀÇ Job ID ¸¦ ¾ò´Â´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â Job ID */ int api_user_GetUserJobID(UINT nUserObjectID); /* desc : À¯ÀúÀÇ levelÀ» ¾ò´Â´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â Level */ int api_user_GetUserLevel(UINT nUserObjectID); /* desc : À¯Àú Àκ¥Å丮ÀÇ ºóÄ­¼ö¸¦ ¾ò´Â´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â ºóÄ­¼ö */ int api_user_GetUserInvenBlankCount(UINT nUserObjectID); /* desc : À¯Àú Äù½ºÆ® Àκ¥Å丮ÀÇ ºóÄ­¼ö¸¦ ¾ò´Â´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â ºóÄ­¼ö */ int api_quest_GetUserQuestInvenBlankCount(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô °æÇèÄ¡¸¦ Ãß°¡ÇÑ´Ù. param : À¯ÀúÀ妽º, °æÇèÄ¡ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_user_AddExp(UINT nUserObjectID, int nQuestID, int nAddExp); /* desc : À¯Àú¿¡°Ô µ·À» Ãß°¡ÇÑ´Ù. param : À¯ÀúÀ妽º, µ· return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_user_AddCoin(UINT nUserObjectID, int nAddCoin, int nQuestID); /* desc : À¯Àú¿¡°Ô µ¿¿µ»óÀ» Àç»ý ½ÃŲ´Ù. param : À¯ÀúÀ妽º, µ¿¿µ»óÆÄÀÏÀ̸§ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_user_PlayCutScene(UINT nUserObjectID, UINT nNpcObjectID, int nCutSceneTableID, bool bIgnoreFadeIn); /* desc : À¯Àú¿¡°Ô â°í¸¦ ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenWareHouse(UINT nUserObjectID, int iItemID/*=0*/ ); /* desc : À¯Àú¿¡°Ô »óÁ¡¸¦ ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º, »óÁ¡ ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ¼¥ÀÌ ¾øÀ½. 1ÀÌ¸é ¼º°ø */ int api_ui_OpenShop(UINT nUserObjectID, int nShopID, Shop::Type::eCode Type=Shop::Type::Normal ); /* desc : À¯Àú¿¡°Ô ½ºÅ³ »óÁ¡¸¦ ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º, ½ºÅ³ »óÁ¡ ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ¼¥ÀÌ ¾øÀ½. 1ÀÌ¸é ¼º°ø */ int api_ui_OpenSkillShop(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¹«ÀλóÁ¡À» ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ¼¥ÀÌ ¾øÀ½. 1ÀÌ¸é ¼º°ø */ int api_ui_OpenMarket(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¹®À庸¿Á ÇÕ¼º âÀ» ¿­¶ó°í ÇÑ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenCompoundEmblem(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô º¸¿Á ¾÷±×·¹À̵å âÀ» ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenUpgradeJewel(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¿ìÆíÇÔÀ» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenMailBox(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¹®Àå ÇØÁ¦¸¦ À§ÇØ ¹®ÀåÂ÷À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenGlyphLift(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¾ÆÀÌÅÛ °­È­Ã¢À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenUpgradeItem(UINT nUserObjectID,int iItemID=0); #if defined(PRE_ADD_OPEN_QUEST_TEXTURE_DIALOG) /* desc : ÅØ½ºÃÄ ´ÙÀ̾ó·Î±×¸¦ ¿¬´Ù. param : À¯ÀúÀ妽º, ÆÄÀÏÀ妽º, È­¸é¿¡¼­ÀÇ À§Ä¡, º¸¿©Áú ½Ã°£, À̹ÌÁö Áß¾ÓÁ¡, return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenTextureDialog(UINT nUserObjectID, int nFileIndex, float fX, float fY, int nPos, int nTime, int nDialogIndex, bool bAutoCloseDialog); /* desc : ÅØ½ºÃÄ ´ÙÀ̾ó·Î±×¸¦ ´Ý´Â´Ù. param : À¯ÀúÀ妽º, ´ÙÀ̾ó·Î±× ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_CloseTextureDialog(UINT nUserObjectID, int nDlgID); #endif int api_ui_OpenDisjointItem(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¾ÆÀÌÅÛ ÇÕ¼ºÃ¢À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛ ÇÕ¼º »óÁ¡ ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenCompoundItem(UINT nUserObjectID, int nCompoundShopID); /* desc : À¯Àú¿¡°Ô ¾ÆÀÌÅÛ ÇÕ¼ºÃ¢2À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛ ÇÕ¼º »óÁ¡ ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenCompound2Item(UINT nUserObjectID, int nCompoundGroupID, int iItemID/*=0*/ ); /* desc : À¯Àú¿¡°Ô ij½¬ ¾ÆÀÌÅÛ »óÁ¡À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenCashShop(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ±æµå °ü¸® UI ´ëÈ­»óÀÚ¸¦ ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º, ±æµå°ü¸®¹øÈ£ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø ±æµå°ü¸®¹øÈ£> 0 : ±æµåâ¼³ 1 : ±æµåÇØ»ê 2 : ±æµåÅ»Åð 3 : ±æµåÆ÷ÀÎÆ® 4 : ±æµå·¹º§¾÷ */ int api_ui_OpenGuildMgrBox(UINT nUserObjectID, int nGuildMgrNo); /* desc : ÀϺ» °¡Ã­Æù ´ÙÀ̾ó·Î±×¸¦ ¿¬´Ù. param : »ç¿ëµÉ °¡Ã­Æù À妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ¼¥ÀÌ ¾øÀ½. 1ÀÌ¸é ¼º°ø, -3 ÀÌ¸é µðÆÄÀο¡ °É·¯Áü.. */ int api_ui_OpenGacha_JP( UINT nUserObjectID, int nGachaShopID ); /* desc : NPC ¼±¹°Çϱ⠴ÙÀ̾ó·Î±×¸¦ ¿¬´Ù. param : ´ëÈ­ÁßÀÎ Npc ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. 1 ÀÌ¸é ¼º°ø. */ int api_ui_OpenGiveNpcPresent( UINT nUserObjectID, int nNpcID ); /* desc : ´ÙÅ©·¹¾î·©Å·°Ô½ÃÆÇ ´ÙÀ̾ó·Î±×¸¦ ¿¬´Ù. param : ´ëÈ­ÁßÀÎ Npc ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. 1 ÀÌ¸é ¼º°ø. */ int api_ui_OpenDarkLairRankBoard( UINT nUserObjectID, int nNpcID, int iMapIndex, int iPlayerCount ); /* desc : PvP·¡´õ·©Å·°Ô½ÃÆÇ ´ÙÀ̾ó·Î±×¸¦ ¿¬´Ù. param : ´ëÈ­ÁßÀÎ Npc ID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. 1 ÀÌ¸é ¼º°ø. */ int api_ui_OpenPvPLadderRankBoard( UINT nUserObjectID, int nNpcID, int iPvPLadderCode ); /* desc : À¯Àú¿¡°Ô ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÏ°Ô ÇÑ´Ù. param : nType Àº ¸Þ¼¼Áö Ãâ·Â ŸÀÔ, CHATTYPE_NORMAL => 1, // ÀϹÝÀûÀÎ ´ëÈ­ CHATTYPE_PARTY => 2, // ÆÄƼ ´ëÈ­ CHATTYPE_PRIVATE => 3, // ±Ó¼Ó¸» CHATTYPE_GUILD => 4, // ±æµå ´ëÈ­ CHATTYPE_CHANNEL => 5, // °Å·¡/ä³Î ´ëÈ­ CHATTYPE_SYSTEM => 6, // ½Ã½ºÅÛ ¸Þ¼¼Áö nBaseStringIdx ´Â ±âº» ½ºÆ®¸µ ParamTable Àº °¢ Ű¿öµåÀÇ Ä¡È¯ Á¤º¸°¡ ´ã°ÜÀÖ´Â ·ç¾Æ Å×À̺í return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ŸÀÔÀÌ ¾øÀ½ -3 ¸Þ¼¼Áö°¡ ³Ê¹« ±è example : {%Hitter} °¡ {item:2}¸¦ ÀåÂøÇÑä {%Target}¸¦ ¶§·È½À´Ï´Ù. <-- uistring 6000¹ø "È÷ÅÍ_»ç¶÷" <-- uistring 6001¹ø "Ÿ°Ù_»ç¸¶±Í"<-- uistring 6002¹ø function grandmother_OnTalk(userObjID, npcObjID, npc_talk_index, npc_talk_target, questID) local TableParam = { // ¾Æ·¡¿Í °°ÀÌ {%Hitter} ¶ó´Â Ű¿öµå´Â uistring.xml ÀÇ 6001¹øÀ¸·Î ġȯ µÈ´Ù. { "{%Hitter}", 1, 6001 }, { "{%Target}", 1, 6002 }, }; // ¸¸¾à { "{%Hitter}", 2, 6001 }, ¶ó¸é 6001 À̶õ Á¤¼ö°¡ ¹®ÀÚ¿­ "6001" ·Î µÇ¾î ġȯµÈ´Ù. api_UserMessage(userObjID, 1, 6000, TableParam); end */ int api_user_UserMessage(UINT nUserObjectID, int nType, int nBaseStringIdx, lua_tinker::table ParamTable); /* desc : À¯Àú¿¡°Ô ½Éº¼¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù. param : À¯ÀúÀ妽º, ½Éº¼¾ÆÀÌÅÛ¾ÆÀ̵ð, °¹¼ö return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2¸é ½ÇÆÐ 1ÀÌ¸é ¼º°ø */ int api_quest_AddSymbolItem(UINT nUserObjectID, int nItemID, short wCount); /* desc : À¯Àú¿¡°Ô ½Éº¼¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù. param : À¯ÀúÀ妽º, ½Éº¼¾ÆÀÌÅÛ¾ÆÀ̵ð, °¹¼ö return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ½ÇÆÐ, 1ÀÌ¸é ¼º°ø */ int api_quest_DelSymbolItem(UINT nUserObjectID, int nItemID, short wCount); /* desc : À¯Àú°¡ ½Éº¼ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ·, 0 º¸´Ù Å©¸é true ( °¹¼ö¸¦ ¸®ÅÏ ) */ int api_quest_HasSymbolItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛÀ» ³ÖÀ»¸¸ÇÑ Àκ¥¿©À¯°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ® ¾ÆÀÌÅÛ À妽º, Äù½ºÆ® ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 Àκ¥ ºÎÁ· */ int api_quest_CheckQuestInvenForAddItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛ ¸ñ·ÏÀ» ³ÖÀ»¸¸ÇÑ Àκ¥¿©À¯°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ® ¾ÆÀÌÅÛ ¸ñ·Ï (·ç¾ÆÅ×À̺í, [<ÃÖ´ë°³¼ö>]{Äù½ºÆ® ¾ÆÀÌÅÛÀ妽º, Äù½ºÆ® ¾ÆÀÌÅÛ Ä«¿îÆ®} °¡ ÇÑ ½ÖÀ¸·Î <ÃÖ´ë°³¼ö (ÇöÀç 10°³)> ¸¸Å­ Á¸Àç) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 Àκ¥ ºÎÁ· example : function grandmother_OnTalk(userObjID, npcObjID, npc_talk_index, npc_talk_target, questID) local TableItem = { { 1001, 10 }, -- ¾ÆÀÌÅÛ À妽º (1001), ¾ÆÀÌÅÛ °³¼ö (10) { 1002, 1 }, -- ¾ÆÀÌÅÛ À妽º (1002), ¾ÆÀÌÅÛ °³¼ö (1) { 1003, 5 }, -- ¾ÆÀÌÅÛ À妽º (1003), ¾ÆÀÌÅÛ °³¼ö (5) }; if (api_quest_CheckQuestInvenForAddItemList(userObjID, TableParam) == 1) then -- ¼º°ø else -- ½ÇÆÐ end end */ int api_quest_CheckQuestInvenForAddItemList(UINT nUserObjectID, lua_tinker::table ItemTable); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®¾ÆÀÌÅÛ¾ÆÀ̵ð, °¹¼ö, Äù½ºÆ® ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2¸é ½ÇÆÐ 1ÀÌ¸é ¼º°ø */ int api_quest_AddQuestItem(UINT nUserObjectID, int nItemID, short wCount, int nQuestID); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®¾ÆÀÌÅÛ¾ÆÀ̵ð, °¹¼ö, Äù½ºÆ® ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ½ÇÆÐ, 1ÀÌ¸é ¼º°ø */ int api_quest_DelQuestItem(UINT nUserObjectID, int nItemID, short wCount, int nQuestID); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® ¾ÆÀÌÅÛÀ» ¸ðµÎ »èÁ¦ÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®¾ÆÀÌÅÛ¾ÆÀ̵ð return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¸é ½ÇÆÐ, 1ÀÌ¸é ¼º°ø */ int api_quest_AllDelQuestItem(UINT nUserObjectID, int nItemID); /* desc : À¯Àú°¡ Äù½ºÆ® ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ·, 0 º¸´Ù Å©¸é true ( °¹¼ö¸¦ ¸®ÅÏ ) */ int api_quest_HasQuestItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú¿¡°Ô ±æµå »ý¼ºÃ¢À» ¶ç¿ì¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenGuildCreate(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® º¸»óâÀ» ¶ç¿ì¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º, º¸»óÅ×À̺í, bActivate °¡ true ¸é °í¸¦¼ö ÀÖ°í ÀÌ¸é ±×³É º¸´Â ¿ëµµ´Â false·Î ¾´´Ù. return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenQuestReward(UINT nUserObjectID, int nRewardTableIndex, bool bActivate); /* desc : À¯Àú¿¡°Ô Äù½ºÆ® º¸»óÀ» ÇÑ´Ù. param : À¯ÀúÀ妽º, º¸»óÅ×À̺í, Äù½ºÆ® ¾ÆÀ̵ð, º¸»óüũ¹øÈ£ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 À¯Àú¾ÆÀÌÅÛ°´Ã¼ ¿À·ù, -3 Àκ¥ ºÎÁ·, -4 À̸é Å×À̺íÀ» ãÀ»¼ö ¾øÀ½, -5 º¸»ó Á¶°Ç üũ ¿À·ù, 1 ÀÌ¸é ¼º°ø */ int api_quest_RewardQuestUser(UINT nUserObjectID, int nRewardTableIndext, int nQuestID, int nRewardCheck); /* desc : À¯Àú¸¦ ä³ÎÀ̵¿½ÃŲ´Ù. param : À¯ÀúÀ妽º, ä³ÎŸÀÔ return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¾ø´Â ä³ÎŸÀÔ -3 ¾ø´Â ä³Î */ int api_user_ChangeChannel(UINT nUserObjectID, int ChannelType ); /* desc : À¯Àú¸¦ À̵¿½ÃŲ´Ù. param : À¯ÀúÀ妽º, À̵¿ÇÒ ¸Ê À妽º, À̵¿ÇÒ °ÔÀÌÆ® À妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 ¾ø´Â ¸ÊÀÓ */ int api_user_ChangeMap(UINT nUserObjectID, int nMapIndex, int nGateNo); /* desc : ÇØ´ç À¯ÀúÀÇ ÆÄƼ¿ø¼ö¸¦ ¸®ÅÏÇÑ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, ±×¿Ü´Â ÆÄƼ¿ø¼ö (ÁÖÀÇ !!!> ÆÄƼ¿¡ °¡ÀÔµÇÁö ¾ÊÀº »ç¿ëÀÚµµ 1 À» ¹Ýȯ) */ int api_user_GetPartymemberCount(UINT nUserObjectID); /* desc : ÇØ´ç À¯Àú°¡ ÆÄƼ¿¡ °¡ÀÔµÈ »óÅÂÀÎÁö üũÇÑ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 => ÆÄƼ¿¡ °¡ÀÔ ¾ÊµÇ¾îÀÖÀ½, 1 => ÆÄƼ¿¡ °¡ÀÔ µÇ¾îÀÖÀ½ */ int api_user_IsPartymember(UINT nUserObjectID); //blondy /* desc : ÇØ´çÀ¯Àú¸¦ PVP·Îºñ¿À ¾È³». param : À¯ÀúÀ妽º return : 1 ¼º°ø -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ */ int api_user_RequestEnterPVP( UINT nUserObjectID ); /* desc : ÇØ´ç À¯ÀúÀÇ ½ºÅ×ÀÌÁö ³­À̵µ¸¦ ±¸ÇÔ param : À¯ÀúÀ妽º return : 0 ~ 4 => ´øÀü ³­À̵µ (0:½¬¿ò / 1:º¸Åë / 2:¾î·Á¿ò / 3:¸¶½ºÅÍ : 4:¾îºñ½º), ±× ¿Ü´Â ½ÇÆÐ (±âº» -1) */ int api_user_GetStageConstructionLevel(UINT nUserObjectID); /* desc : ÇØ´ç À¯ÀúÀÇ ÇöÀç ¸Ê¹øÈ£¸¦ ±¸ÇÔ param : À¯ÀúÀ妽º return : ¸Ê¹øÈ£ (1 ÀÌ»ó), ±× ¿Ü´Â ½ÇÆÐ ? (0 ÀÌÇÏ) */ int api_user_GetMapIndex(UINT nUserObjectID); /* desc : ÇØ´ç À¯ÀúÀÇ ÃÖ±Ù ½ºÅ×ÀÌÁö ¿Ï·á ·©Å©¸¦ ±¸ÇÔ param : À¯ÀúÀ妽º return : ½ºÅ×ÀÌÁö ¿Ï·á ·©Å© (SSS : 0 / SS : 1 / S : 2 / A : 3 / B : 4 / C : 5 / D : 6), ±× ¿Ü´Â ½ÇÆÐ ? (±âº» -1) */ int api_user_GetLastStageClearRank(UINT nUserObjectID); /* desc : À¯ÀúÀÇ ÇöÀç ¼ÒÁö±ÝÀ» È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, üũÇÒ °ª return : -1 => À¯Àú¸¦ ãÀ» ¼ö ¾øÀ½, -2 => ¼ÒÁö±ÝÀÌ ºÎÁ·ÇÔ, 1 => ¼ÒÁö±ÝÀÌ ÃæºÐÇÔ */ int api_user_EnoughCoin(UINT nUserObjectID, int nCoin ); /* desc : À¯ÀúÀÇ ÇöÀç ¼ÒÁö±ÝÀ» È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 ÀÌ»ó => ÇöÀç ¼ÒÁö±Ý */ int api_user_GetCoin(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô µ·À» °¨¼ÒÇÑ´Ù. param : À¯ÀúÀ妽º, µ· return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 => ¼º°ø */ int api_user_DelCoin(UINT nUserObjectID, int nDelCoin); /* desc : À¯ÀúÀÇ Æ¯Á¤ ¹Ì¼Ç Ãëµæ ¿©ºÎ¸¦ ¹Ýȯ param : À¯ÀúÀ妽º, ¹Ì¼ÇÀ妽º (MISSIONMAX (ÇöÀç 5000 ¡æ 0 ~ 4999)) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 => ÇØ´ç ¹Ì¼Ç ¾øÀ½, 1 Æ÷ÇÔ ÀÌ¿Ü => ÇØ´ç ¹Ì¼Ç Á¸Àç */ int api_user_IsMissionGained(UINT nUserObjectID, int nMissionIndex); /* desc : À¯ÀúÀÇ Æ¯Á¤ ¹Ì¼Ç ¿Ï·á ¿©ºÎ¸¦ ¹Ýȯ param : À¯ÀúÀ妽º, ¹Ì¼ÇÀ妽º (MISSIONMAX (ÇöÀç 5000 ¡æ 0 ~ 4999)) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 => ÇØ´ç ¹Ì¼Ç ¾øÀ½, 1 Æ÷ÇÔ ÀÌ¿Ü => ÇØ´ç ¹Ì¼Ç Á¸Àç */ int api_user_IsMissionAchieved(UINT nUserObjectID, int nMissionIndex); /* desc : À¯Àú°¡ â°í¿¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ·, 0 º¸´Ù Å©¸é true ( °¹¼ö¸¦ ¸®ÅÏ ) */ int api_user_HasItemWarehouse(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú°¡ Àåºñ¿¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, 1 Æ÷ÇÔ ±×¿Ü true */ int api_user_HasItemEquip(UINT nUserObjectID, int nItemIndex); /* desc : À¯ÀúÀÇ ÇöÀç ±æµå Á÷±ÞÀ» ¹Ýȯ param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / 0 : ±æµå ¾øÀ½ / 1 : ±æµåÀå / 2 : ºÎ±æµåÀå / 3 : ¼±ÀÓ±æµå¿ø / 4 : ÀϹݱæµå¿ø / 5 : ½ÅÀÔ±æµå¿ø */ int api_guild_GetGuildMemberRole(UINT nUserObjectID); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ ¸Þ¸ðÀÇ Æ¯Á¤ À妽º¿¡ °ªÀ» 1 Áõ°¡½ÃÅ´ param : À¯ÀúÀ妽º, Äù½ºÆ®¹øÈ£, ¸Þ¸ðÀ妽º return : Áõ°¡µÈ Äù½ºÆ® ¸Þ¸ð°ª (¿¡·¯ÀÏ °æ¿ì¿¡´Â LONG_MIN ¹Ýȯ) */ int api_quest_IncQuestMemo(UINT nUserObjectID, int nQuestID, char nMemoIndex); /* desc : À¯Àú°¡ °¡Áö°í ÀÖ´Â Äù½ºÆ®ÀÇ ¸Þ¸ðÀÇ Æ¯Á¤ À妽º¿¡ °ªÀ» 1 °¨¼Ò½ÃÅ´ param : À¯ÀúÀ妽º, Äù½ºÆ®¹øÈ£, ¸Þ¸ðÀ妽º return : °¨¼ÒµÈ Äù½ºÆ® ¸Þ¸ð°ª (¿¡·¯ÀÏ °æ¿ì¿¡´Â LONG_MAX ¹Ýȯ) */ int api_quest_DecQuestMemo(UINT nUserObjectID, int nQuestID, char nMemoIndex); /* desc : À¯Àú¿¡°Ô ƯÁ¤ ÀüÁ÷ Á÷¾÷À» ÁöÁ¤ param : À¯ÀúÀ妽º, º¯°æ ÀüÁ÷ Á÷¾÷ return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / -2 : ¾ø´Â ÀüÁ÷ ¹øÈ£ÀÓ / -3 : ÀüÁ÷ ºÒ°¡ Á¶°ÇÀÓ / 0 : ÀÌ¹Ì °°Àº ÀüÁ÷ Á÷¾÷ÀÓ / 1 : ÀüÁ÷ Á÷¾÷ º¯°æ ¼º°ø */ int api_user_SetUserJobID(UINT nUserObjectID, int nJobID); /* desc : À¯ÀúÀÇ ÀüÁ÷ Á÷¾÷ÀÌ Æ¯Á¤ ÀüÁ÷ °è¿­¿¡ ÀÖ´ÂÁö È®ÀÎ param : À¯ÀúÀ妽º, ¼±Çà ÀüÁ÷ Á÷¾÷ return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / 0 : °°Àº °è¿­ÀÌ ¾Æ´Ô / 1 : °°Àº °è¿­ÀÌ ¸ÂÀ½ */ int api_user_IsJobInSameLine(UINT nUserObjectID, int nBaseJobID); /* desc : À¯Àú°¡ ij½¬ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º, ¾ÆÀÌÅÛ Ä«¿îÆ® return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, -3 ¾ÆÀÌÅÛ °¹¼ö ºÎÁ·, 0 º¸´Ù Å©¸é true ( °¹¼ö¸¦ ¸®ÅÏ ) */ int api_user_HasCashItem(UINT nUserObjectID, int nItemIndex, int nItemCnt); /* desc : À¯Àú°¡ Àåºñ¿¡ ij½¬ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯ÀúÀ妽º, ¾ÆÀÌÅÛÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ -2 => ¾ÆÀÌÅÛÀ» ãÀ»¼ö ¾øÀ½, 1 Æ÷ÇÔ ±×¿Ü true */ int api_user_HasCashItemEquip(UINT nUserObjectID, int nItemIndex); /* desc : ƯÁ¤ Ä«¿îÆÃ ŸÀÔ, ID ¿¡ ´ëÇØ¼­ ÀÓÀÇ·Î Ä«¿îÆÃÀ» Áõ°¡½ÃŲ´Ù. param : À¯ÀúÀ妽º, Ä«¿îÆÃÇÒ Å¸ÀÔ (CountingType_MyMonsterKill = 1, CountingType_AllMonsterKill = 2, CountingType_Item = 3), Ä«¿îÆÃÇÒ °ÍÀÇ À妽º (¾ÆÀÌÅÛ ID, ¸ó½ºÅÍ ID µîµî) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 => ¼º°ø */ int api_quest_IncCounting(UINT nUserObjectID, int nCountingType, int nCountingIndex); /* desc : À¯Àú°¡ ÁøÇà °¡´É ÃÖ´ë Äù½ºÆ® ¼ö¿¡ µµ´ÞÇÏ¿´´ÂÁö ¿©ºÎ¸¦ ¹ÝȯÇÑ´Ù. param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 : ÃÖ´ë Äù½ºÆ® ¼ö¿¡ µµ´Þ ÇÔ, ±×¿Ü : ¾Æ´Ô */ int api_quest_IsPlayingQuestMaximum(UINT nUserObjectID); /* desc : ƯÁ¤ Äù½ºÆ®¸¦ °­Á¦ ¿Ï·á ½ÃŲ´Ù. (ÁøÇà ÁßÀÌ ¾Æ´Ñ Äù½ºÆ®´Â Ãß°¡ÇÏ¿© ¿Ï·á) param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, Äù½ºÆ® ÄÚµå (0:ÀÏ¹Ý / 1:½Ã°£Á¦), ¸¶Å·¿©ºÎ (1:¸¶Å·/0:¾ÈÇÔ), »èÁ¦¿©ºÎ (1:»èÁ¦/0:¾ÊÇÔ), ¹Ýº¹¿©ºÎ (1:¹Ýº¹/0:¾ÈÇÔ) return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 : ÃÖ´ë Äù½ºÆ® ¼ö¿¡ µµ´Þ ÇÔ, ±×¿Ü : ¾Æ´Ô */ int api_quest_ForceCompleteQuest(UINT nUserObjectID, int nQuestID, int nQuestCode, int bDoMark, int bDoDelete, int bDoRepeat); /* desc : ½ºÅ³À» ÃʱâÈ­ÇÑ´Ù param : À¯ÀúÀ妽º, Äù½ºÆ®À妽º, return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 : Äù½ºÆ®¸¦ ãÀ»¼ö ¾øÀ½, -3: ÀÌ¹Ì ¿Ï·áÇÑ Äù½ºÆ®ÀÓ, 1 : ½ºÅ³ÃʱâÈ­ ¼º°ø */ int api_quest_ResetSkill(UINT nUserObjectID, int nQuestID); /* desc : ¿ùµåÀ̺¥Æ® ¿Ï·á½ºÅÜ ¾Ë·ÁÁØ´Ù. param : À¯ÀúÀ妽º, ½ºÄÉÁìID return : -1 : ¿¡·¯, 0: ¿Ï·á, 1 : ½ÃÀ۾ȳ», 2: ¼öÁý±â°£, 3: º¸»ó¾È³», 4: º¸»ó±â°£ */ int api_quest_GetWorldEventStep(UINT nUserObjectID, int nScheduleID); /* desc : ¿ùµåÀ̺¥Æ® ¿Ï·áȽ¼ö ¾Ë·ÁÁØ´Ù. param : À¯ÀúÀ妽º, ½ºÄÉÁìID return : -1 : ¿¡·¯, ±×¿Ü ÇöÀç Ä«¿îÆ® */ int api_quest_GetWorldEventCount (UINT nUserObjectID, int nScheduleID); /* desc : ¾ÆÀÌÅÛÀ» NPC¿¡°Ô ¹Ý³³ÇÑÈÄ Ä«¿îÆ®¸¦ Äù½ºÆ®¿¡ ´©ÀûÇÑ´Ù. param : À¯ÀúÀ妽º, ½ºÄÉÁìID return : -1 : ¿¡·¯, ±×¿Ü ¹Ý³³µÈ Ä«¿îÆ® */ int api_quest_ReturnItemToNpc (UINT nUserObjectID, int nScheduleID); /* desc : ¾ÆÀÌÅÛÀ» NPC¿¡°Ô ¹Ý³³ÇÑ ÇöÀç Ä«¿îÆ® »óȲÀ» ¾Ë·ÁÁØ´Ù. param : À¯ÀúÀ妽º, ½ºÄÉÁìID */ void api_quest_OpenScoreWorldEvent (UINT nUserObjectID, int nScheduleID); /* desc : ƯÁ¤ »ç¿ëÀÚ¿¡°Ô ³óÀ屸¿ª ¸®½ºÆ®¸¦ º¸¿©ÁØ´Ù param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 ¼º°ø */ int api_quest_OpenFarmAreaList (UINT nUserObjectID); /* desc : ƯÁ¤ »ç¿ëÀÚÀÇ À§Ä¡¸¦ À̵¿ ½ÃŲ´Ù. param : À¯ÀúÀ妽º, X ÁÂÇ¥, Y ÁÂÇ¥, Z ÁÂÇ¥ return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 ¼º°ø */ int api_user_ChangePos(UINT nUserObjectID, int nX, int nY, int nZ , int nLookX = 0, int nLookY = 0); /* desc : NPC È£ÀÇPoint ¸¦ ¾ò¾î¿Â´Ù. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_GetFavorPoint( UINT uiUserObjectID, int iNpcID ); /* desc : NPC ¾ÇÀÇPoint ¸¦ ¾ò¾î¿Â´Ù. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_GetMalicePoint( UINT uiUserObjectID, int iNpcID ); /* desc : NPC È£ÀÇPercent ¸¦ ¾ò¾î¿Â´Ù. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_GetFavorPercent( UINT uiUserObjectID, int iNpcID ); /* desc : NPC ¾ÇÀÇPercent ¸¦ ¾ò¾î¿Â´Ù. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_GetMalicePercent( UINT uiUserObjectID, int iNpcID ); /* desc : NPC È£ÀÇPoint ¸¦ °¡°¨ÇÑ´Ù. param : À¯ÀúÀ妽º, NpcID, °¡°¨°ª(- ³ÖÀ¸¸é °¨¼ÒÇÔ) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_AddFavorPoint( UINT uiUserObjectID, int iNpcID, int val ); /* desc : NPC ¾ÇÀÇPoint ¸¦ °¡°¨ÇÑ´Ù. param : À¯ÀúÀ妽º, NpcID, °¡°¨°ª(- ³ÖÀ¸¸é °¨¼ÒÇÔ) return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_AddMalicePoint( UINT uiUserObjectID, int iNpcID, int val ); /* desc : NPC ¿¡°Ô º¸³¾ ¼±¹° ¼±ÅÃÇÑ Á¤º¸¸¦ ¼­¹ö·Î º¸³»¶ó°í Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¿äû. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_SendSelectedPresent( UINT uiUserObjectID, int iNpcID ); /* desc : NPC °¡ ºÐ³ë ÀÌÆåÆ®¸¦ Ãâ·ÂÇϵµ·Ï Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¿äû. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_Rage( UINT uiUserObjectID, int iNpcID ); /* desc : NPC °¡ ½Ç¸Á ÀÌÆåÆ®¸¦ Ãâ·ÂÇϵµ·Ï Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¿äû. param : À¯ÀúÀ妽º, NpcID return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ½Ã½ºÅÛ¿¡·¯ ±×¿Ü => ¸®Åϰª */ int api_npc_Disappoint( UINT uiUserObjectID, int iNpcID ); /* desc : ƯÁ¤ »ç¿ëÀÚÀÇ Àüü ½ºÅ³À» ¸®¼Â½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 : ¼º°ø */ int api_user_ResetSkill(UINT nUserObjectID); /* desc : ƯÁ¤ »ç¿ëÀÚ°¡ º¸Á¶ ½ºÅ³À» »õ·Ó°Ô ¹è¿î´Ù. param : À¯ÀúÀ妽º, º¸Á¶½ºÅ³ID return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 : ¼º°ø, 0 : ½ÇÆÐ */ int api_npc_CreateSecondarySkill( UINT uiObjectUserID, int iSkillID ); /* desc : ƯÁ¤ »ç¿ëÀÚ°¡ º¸Á¶ ½ºÅ³À» ¹è¿ü´ÂÁö üũ param : À¯ÀúÀ妽º, º¸Á¶½ºÅ³ID return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1 : ¼º°ø, 0 : ½ÇÆÐ */ int api_npc_CheckSecondarySkill( UINT uiObjectUserID, int iSkillID ); /* desc : À¯Àú¿¡°Ô ±æµåâ°í¸¦ ¿­¶ó°í ¾Ë¸°´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ» ¼ö ¾øÀ½, -2=>±æµå¿øÀÌ ¾Æ´Ô, 1=>¼º°ø */ int api_ui_OpenGuildWareHouse (UINT nUserObjectID); /* desc : À¯ÀúÀÇ ÇöÀç±æµåÀÇ Ã¢°í¼ÒÀ¯¿©ºÎ¸¦ ¾Ë·ÁÁØ´Ù. param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦Ã£À»¼ö¾øÀ½/ 0 : ±æµåâ°í¾øÀ½/ 1 : ±æµåâ°íÀÖÀ½ */ int api_guild_HasGuildWare(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ¹«ºñ Ŭ¸³ ºê¶ó¿ìÀú¸¦ ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenMovieBrowser(UINT nUserObjectID); /* desc : ±æµåÀü ½Åû ¿©ºÎ¸¦ ¾Ë·ÁÁØ´Ù. param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / 0 : ±æµåÀü ½ÅûºÒ°¡´É / 1 : ±æµåÀü ½Åû°¡´É */ int api_guildwar_IsPreparation(UINT nUserObjectID); /* desc : ±æµåÀü ±â°£ üũ. param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / eGuildWarStepType / 0 : ±æµåÀü ±â°£ ¾Æ´Ô / 1 : ±æµåÀü ½Åû ±â°£ / 2 : ±æµåÀü ¿¹¼± ±â°£ / 3 : º»¼± ¹× º¸»ó±â°£ */ int api_guildwar_GetStep(UINT nUserObjectID); /* desc : ±æµåÀü ¿¹¼± ÁøÇà ÇöȲ º¸±â param : À¯ÀúÀ妽º return : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => ¿¹¼±Àü ±â°£ÀÌ ¾Æ´Ô, 0 : ¼º°ø */ int api_guildwar_GetTrialCurrentState(UINT nUserObjectID); /* desc : ±æµåÀü ¿¹¼± °á°ú param : À¯ÀúÀ妽º return : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => º»¼± ¹× º¸»ó±â°£ÀÌ ¾Æ´Ô, -3 => ¾ÆÁ÷ ¿¹¼±°á°ú Áý°è°¡ ¿Ï·áµÇÁö ¾ÊÀ½, 0 : ¼º°ø */ int api_guildWar_GetTrialStats(UINT nUserObjectID); /* desc : ±æµåÀü °á½Â ´ëÁøÇ¥ º¸±â param : À¯ÀúÀ妽º return : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => º»¼± ¹× º¸»ó±â°£ÀÌ ¾Æ´Ô, -3 => ´ëÁøÇ¥°¡ ¼ÂÆÃµÇÁö ¾Ê¾ÒÀ½, 0: ¼º°ø */ int api_guildWar_GetMatchList(UINT nUserObjectID); /* desc : ±æµåÀü Àαâ ÅõÇ¥ °á°ú param : À¯ÀúÀ妽º return : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, -2 => Áö³­ Àαâ ÅõÇ¥ °á°ú ¾øÀ½, -3 => ±æµåÀüÀÌ ÁøÇàÁßÀÓ, 0: ¼º°ø */ int api_guildWar_GetPopularityVote(UINT nUserObjectID); /* desc : ±æµåÀü º»¼± À¯¹« üũ. param : À¯ÀúÀ妽º return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / 0 : º»¼± ÁøÇà ¾ÈÇÔ / 1 : º»¼± ÁøÇàÇÔ */ int api_guildWar_GetFinalProgress(UINT nUserObjectID); /* desc : À¯Àú¿¡°Ô ºê¶ó¿ìÀú¸¦ ¿­¶ó°í ½ÃŲ´Ù. param : À¯ÀúÀ妽º return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenBrowser(UINT nUserObjectID, const char* szUrl, int nX, int nY, int nWidth, int nHeight); /* desc : ±âºÎ âÀ» ¿¬´Ù. param : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. 1ÀÌ¸é ¼º°ø. */ int api_ui_OpenDonation(UINT nUserObjectID); /* desc : Àκ¥Å丮 âÀ» ¿¬´Ù. param : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½. 1ÀÌ¸é ¼º°ø. */ int api_ui_OpenInventory(UINT nUserObjectID); /* desc : À¯ÀúÀÇ PC Cafeµî±Þ param : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 => PC¹æÀÌ ¾Æ´Ô. ³ª¸ÓÁö PC¹æ µî±Þ. */ int api_user_GetPCCafe(UINT nUserObjectID); /* desc : PC¹æ À¯Àú¿¡°Ô ¹«±â, Å»°Í°ú °°Àº ´ë¿©¾ÆÀÌÅÛÀ» ¸¸µé¾î¼­ ³Ö¾îÁØ´Ù. param : return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 0 => ¼º°ø, 1 => Àκ¥ÀÌ ¸ðÀÚ¸§, 2 => ÀÌ¹Ì ´ë¿©¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖÀ½ 3 => */ int api_user_SetPCCafeItem(UINT nUserObjectID); /* desc : À¯Àú°¡ °¡Áø Àåºñ ¾ÆÀÌÅÛÀ» ¼ö¸®Çϰí, ¼ö¸®ºñ¿ëÀ» Â÷°¨ÇÕ´Ï´Ù. param : À¯Àú, Àüü¼ö¸® À¯¹«(1-Àüü¼ö¸®, 0-ÀåÂøÇѾÆÀÌÅÛ) return : -1 : À¯Àú¸¦ ãÀ»¼ö ¾øÀ½ / 0 : ¼ö¸®ÇÒ ¾ÆÀÌÅÛ ¾øÀ½ / 1 : ¼ÒÁö±Ý ºÎÁ· / 2 : ¾ÆÀÌÅÛ ¼ö¸® ¿Ï·á */ int api_user_RepairItem(UINT nUserObjectID, int iAllRepair); /* desc : À¯Àú¿¡°Ô °­È­À̵¿Ã¢À» ¿­¶ó°í ½ÃŲ´Ù. param : À¯Àú return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenExchangeEnchant(UINT nUserObjectID); /* desc : ÇØ´ç ¸ÊÀÌ ´ÝÇôÀÖ´ÂÁö È®ÀÎÇÑ´Ù. param : À¯Àú, ¸Ê À妽º return : 1 ÀÌ¸é ¿ÀÇÂ, 0 À̸é Ŭ·ÎÁî */ int api_env_CheckCloseGateByTime(int iMapIndex); /* desc : ÄÚ½ºÆ¬ ·£´ý ÇÕ¼ºÃ¢À» ¿¬´Ù param : À¯Àú return : -1 => À¯Àú¸¦ ãÀ»¼ö ¾øÀ½, 1ÀÌ¸é ¼º°ø */ int api_ui_OpenCostumeRandomMix(UINT nUserObjectID); /* desc : ¿ùµå¹öÇÁ ÁÙ¼ö ÀÖ´ÂÁö üũ param : ¹öÇÁ ¾ÆÀÌÅÛ¾ÆÀ̵ð return : -1 => ½ÇÆÐ, 1ÀÌ¸é ¼º°ø */ int api_quest_WorldBuffCheck(int nItemID); /* desc : ¿ùµå¹öÇÁ¸¦ ÁÜ param : ¹öÇÁ ¾ÆÀÌÅÛ¾ÆÀ̵ð return : */ int api_quest_ApplyWorldBuff(UINT nUserObjectID, int nItemID, int nMapIdx); #if defined(PRE_ADD_DWC) /* desc : DWC ÆÀ »ý¼º DLg¸¦ ¿¬´Ù param : À¯ÀúÀ妽º return : */ void api_ui_OpenCreateDwcTeamDlg(UINT nUserObjectID); #endif // PRE_ADD_DWC int api_ui_OpenJobChange(UINT nUserObjectID);