1064 lines
No EOL
82 KiB
C++
1064 lines
No EOL
82 KiB
C++
#pragma once
|
||
|
||
#include "DnLuaAPIDefine.h"
|
||
// GameServer Script API
|
||
// [4/1/2008 nextome]
|
||
|
||
class CEtTriggerElement;
|
||
class CDNGameRoom;
|
||
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(CDNGameRoom *pRoom, UINT nUserSessionID, UINT nNpcObjectID, const char* szTalkIndex, const char* szTargetFile);
|
||
|
||
/*
|
||
desc : 다음 스크립트로 연결한다.
|
||
param : 유저인덱스, NPC인덱스, 토크인덱스, 토크파일이름
|
||
return : void
|
||
*/
|
||
void api_npc_NextScript(CDNGameRoom *pRoom, UINT nUserSessionID, UINT nNpcObjectID, const char* szTalkIndex, const char* szTargetFile);
|
||
|
||
|
||
/*
|
||
desc : 대사 파라메터를 세팅한다(스트링).
|
||
param : 파라메터키, 파라메터문자의 인덱스
|
||
return : -1 유저를 찾을수 없음, -2 파라메터 갯수가 넘어서서 더이상 세팅할수 없음. 1 이면 성공
|
||
sample :
|
||
저는 {%color} 색을 좋아합니다. 라는 문장을 만들때.
|
||
api_npc_SetParamString("{%color}, math.random(2) ); 이런식으로 만들어준다.
|
||
1은 TalkParamTable.xls 에 1 : 빨강, 2: 파랑 따로 기록 되어있어야한다.
|
||
|
||
주의: api_npc_SetParamString 으로 세팅한 파라메터는 api_npc_NextTalk 호출후 clear 되므로 api_npc_NextTalk 호출전에 세팅한다.
|
||
*/
|
||
int api_npc_SetParamString(CDNGameRoom *pRoom, UINT nUserObjectID, const char* szParamKey, int nParamID);
|
||
|
||
/*
|
||
desc : 대사 파라메터를 세팅한다(정수).
|
||
param : 파라메터키, 정수값
|
||
return : -1 유저를 찾을수 없음, -2 파라메터 갯수가 넘어서서 더이상 세팅할수 없음. 1 이면 성공
|
||
sample :
|
||
저는 {%age} 살쯤에 숨지고 싶어요. 라는 문장을 만들때.
|
||
api_npc_SetParamInt("{%age}, math.random(30)+40 ); 이런식으로 만들어준다.
|
||
|
||
주의: api_npc_SetParamInt 으로 세팅한 파라메터는 api_npc_NextTalk 호출후 clear 되므로 api_npc_NextTalk 호출전에 세팅한다.
|
||
*/
|
||
int api_npc_SetParamInt(CDNGameRoom *pRoom, UINT nUserObjectID, const char* szParamKey, int nValue);
|
||
|
||
|
||
/*
|
||
desc : 로그를 남긴다.
|
||
param : 로그 스트링 줄바꿈을 위해 \n 을 포함할것.
|
||
return : void
|
||
*/
|
||
void api_log_AddLog(CDNGameRoom *pRoom, const char* szLog);
|
||
|
||
/*
|
||
desc : 유저에게 로그를 남긴다. 유저채팅메세지로 전송해줌.
|
||
param : 로그 스트링 줄바꿈을 위해 \n 을 포함할것.
|
||
return : void
|
||
*/
|
||
void api_log_UserLog(CDNGameRoom *pRoom, UINT nUserObjectID, const char* szLog);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 관련 정보를 채팅으로 보내준다.
|
||
param :
|
||
return : void
|
||
*/
|
||
void api_quest_DumpQuest(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트를 부여 한다.
|
||
param : 유저인덱스, 퀘스트인덱스, 퀘스트 타입 QuestType_SubQuest = 1, QuestType_MainQuest = 2,
|
||
return : 1 : 성공, -1 : 유저를 찾을수 없음, -2 : 유저가 퀘스트를 가지고 있지 않음
|
||
*/
|
||
int api_quest_AddHuntingQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nQuestStep, int nJournalStep, int nCountingSlot, int nCountingType, int nCountingIndex, int nTargetCnt);
|
||
int api_quest_AddQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nQuestType);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트를 완료 시킨다.
|
||
param : 유저인덱스, 퀘스트인덱스, 현재 가지고 있는 퀘스트에서 지울것인지 (안지우면 플레이 횟수만 증가 시킨다.)
|
||
return : -1 유저를 찾을수 없음, -2 퀘스트가 진행중이 아님
|
||
*/
|
||
int api_quest_CompleteQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, bool bDelPlayList);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트를 완료목록에 추가 시킨다. ( DB 에 기록!! )
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 유저를 찾을수 없음, -2 퀘스트가 진행중이 아님
|
||
*/
|
||
int api_quest_MarkingCompleteQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
|
||
/*
|
||
desc : 완료목록에 완료마킹이 되어있는 퀘스트인지?
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 유저를 찾을수 없음, 1 이면 완료마킹된 퀘스트, 0 이면 완료마킹 안됨
|
||
*/
|
||
int api_quest_IsMarkingCompleteQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
|
||
|
||
|
||
/*
|
||
desc : 유저가 퀘스트를 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 유저를 찾을수 없음, -2 유저가 퀘스트를 가지고 있지 않음, -1 보다 크면 퀘스트를 가지고 잇음 ( 퀘스트 스텝을 리턴 )
|
||
*/
|
||
int api_quest_UserHasQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저가 몇개의 퀘스트를 진행중인지 확인한다.
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 유저를 찾을수 없음, 그외에 현재 진행중인 퀘스트 갯수 리턴..
|
||
*/
|
||
int api_quest_GetPlayingQuestCnt(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : npc 인덱스를 리턴한다.
|
||
param : 유저인덱스, NpcObjId ( npc 인덱스와 npcobject 인덱스는 다른 것. )
|
||
return : -1 유저를 찾을수 없음, -2 npc 를 찾을수 없음, 그외에는 npc인덱스
|
||
*/
|
||
int api_npc_GetNpcIndex(CDNGameRoom *pRoom, UINT nUserObjectID, UINT nNpcObjID);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 스텝, 저널 스텝을 세팅한다.
|
||
param : 유저인덱스, 퀘스트인덱스, 저널 스텝
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음. -3 저널 스텝 범위를 벗어남. 성공일 경우 1을 리턴
|
||
*/
|
||
int api_quest_SetQuestStepAndJournalStep(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, short nQuestStep, int nJournalStep);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 퀘스트 스텝을 세팅한다.
|
||
param : 유저인덱스, 퀘스트인덱스, 퀘스트 스텝
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음. 성공일 경우 1을 리턴
|
||
*/
|
||
int api_quest_SetQuestStep(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, short nQuestStep);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 퀘스트 스텝을 얻는다.
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음., -1 보다 큰경우 현재 퀘스트의 스텝
|
||
*/
|
||
int api_quest_GetQuestStep(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 저널 스텝을 세팅한다.
|
||
param : 유저인덱스, 퀘스트인덱스, 저널 스텝
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음. -3 저널 스텝 범위를 벗어남. 성공일 경우 1을 리턴
|
||
*/
|
||
int api_quest_SetJournalStep(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nJournalStep);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 저널 스텝을 얻는다.
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음., -1 보다 큰경우 현재 저널 스텝
|
||
*/
|
||
int api_quest_GetJournalStep(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 메모의 특정 인덱스에 값을 세팅한다.
|
||
param : 유저인덱스, 메모인덱스, 메모값
|
||
return : -1 => 유저를 찾을수 없음. -2 => 유저가 퀘스트를 가지고 있지 않음. -3 메모 인덱스 범위를 벗어남. 성공일 경우 1을 리턴
|
||
*/
|
||
int api_quest_SetQuestMemo(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, char nMemoIndex, int iVal);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 메모의 특정 인덱스의 값을 얻는다.
|
||
param : 유저인덱스, 메모인덱스
|
||
return : -1 => 유저를 찾을수 없음. -2 => 유저가 퀘스트를 가지고 있지 않음. -3 메모 인덱스 범위를 벗어남. -1 보다 큰경우 특정 메모 인덱스의 값
|
||
*/
|
||
int api_quest_GetQuestMemo(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, char nMemoIndex);
|
||
|
||
/*
|
||
desc : 몬스터 잡거나, 아이템 얻는 갯수 카운팅 정보를 세팅하는 함수 이다.
|
||
param : 유저인덱스,
|
||
퀘스트인덱스,
|
||
카운팅정보 세팅 슬롯(0부터 4까지 5개의 세팅슬롯이 있음) ,
|
||
카운팅할 타입( CountingType_MyMonsterKill = 1, CountingType_AllMonsterKill = 2, CountingType_Item = 3, CountingType_SymbolItem = 4),
|
||
카운팅할 것의 인덱스,
|
||
카운팅할 갯수
|
||
return : -1 => 유저를 찾을수 없음 -2 => 유저가 퀘스트를 가지고 있지 않음. -3 => 카운팅정보세팅슬롯 범위 초과 -4 => 카운팅타입 or 타겟카운트 범위 초과
|
||
|
||
example:
|
||
|
||
api_quest_SetCountingInfo(유저아이디, 퀘스트아이디, 0, CountingType_MyMonsterKill, 10001, 10);
|
||
api_quest_SetCountingInfo(유저아이디, 퀘스트아이디, 1, CountingType_MyMonsterKill, 10002, 5);
|
||
api_quest_SetCountingInfo(유저아이디, 퀘스트아이디, 2, CountingType_MyMonsterKill, 10003, 20);
|
||
api_quest_SetCountingInfo(유저아이디, 퀘스트아이디, 3, Item, 1001, 5);
|
||
api_quest_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(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nSlot, int nCountingType, int nCountingIndex, int nTargetCnt);
|
||
|
||
|
||
/*
|
||
desc : 세팅된 카운팅 정보를 클리어 한다.
|
||
param : 유저인덱스, 퀘스트 인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 퀘스트를 찾을수 없음,
|
||
*/
|
||
int api_quest_ClearCountingInfo(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
/*
|
||
desc : 세팅된 카운팅들이 모두 완료 되었는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 퀘스트를 찾을수 없음, -3이면 완료 안됨, 1 이면 모두 완료
|
||
*/
|
||
int api_quest_IsAllCompleteCounting(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저에게 아이템을 넣을만한 인벤여유가 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 인벤 부족
|
||
*/
|
||
int api_user_CheckInvenForAddItem(CDNGameRoom *pRoom, 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(CDNGameRoom *pRoom, UINT nUserObjectID, lua_tinker::table ItemTable);
|
||
|
||
/*
|
||
desc : 유저에게 아이템을 지급한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트, 퀘스트 아이디
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 인벤 부족
|
||
*/
|
||
int api_user_AddItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저에게서 아이템을 지운다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트, 퀘스트 아이디
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족
|
||
*/
|
||
int api_user_DelItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저에게서 아이템을 모두 지운다.
|
||
param : 유저인덱스, 아이템인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음
|
||
*/
|
||
int api_user_AllDelItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex);
|
||
|
||
/*
|
||
desc : 유저가 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족, 0 보다 크면 true ( 갯수를 리턴 )
|
||
*/
|
||
int api_user_HasItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt);
|
||
|
||
|
||
/*
|
||
desc : 유저의 클래스 ID 를 얻는다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 ClasssID
|
||
*/
|
||
int api_user_GetUserClassID(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
/*
|
||
desc : 유저의 Job ID 를 얻는다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 Job ID
|
||
*/
|
||
int api_user_GetUserJobID(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
/*
|
||
desc : 유저의 level을 얻는다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 Level
|
||
*/
|
||
int api_user_GetUserLevel(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저 인벤토리의 빈칸수를 얻는다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 빈칸수
|
||
*/
|
||
int api_user_GetUserInvenBlankCount(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저 퀘스트 인벤토리의 빈칸수를 얻는다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 빈칸수
|
||
*/
|
||
int api_quest_GetUserQuestInvenBlankCount(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 경험치를 추가한다.
|
||
param : 유저인덱스, 경험치
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_user_AddExp(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nAddExp);
|
||
|
||
/*
|
||
desc : 유저에게 돈을 추가한다.
|
||
param : 유저인덱스, 돈
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_user_AddCoin(CDNGameRoom *pRoom, UINT nUserObjectID, int nAddCoin, int nQuestID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 동영상을 재생 시킨다.
|
||
param : 유저인덱스, 컷씬테이블ID
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_user_PlayCutScene(CDNGameRoom *pRoom, UINT nUserObjectID, UINT nNpcObjectID, int nCutSceneTableID, bool bIgnoreFadeIn);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 창고를 열라고 알린다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenWareHouse(CDNGameRoom *pRoom, UINT nUserObjectID, int iItemID=0 );
|
||
|
||
/*
|
||
desc : 유저에게 상점를 열라고 알린다.
|
||
param : 유저인덱스, 상점 ID
|
||
return : -1 => 유저를 찾을수 없음, -2 면 샵이 없음. 1이면 성공
|
||
*/
|
||
int api_ui_OpenShop(CDNGameRoom *pRoom, UINT nUserObjectID, int nShopID, Shop::Type::eCode Type = Shop::Type::Normal);
|
||
|
||
/*
|
||
desc : 유저에게 스킬 상점를 열라고 알린다.
|
||
param : 유저인덱스, 스킬 상점 ID
|
||
return : -1 => 유저를 찾을수 없음, -2 면 샵이 없음. 1이면 성공
|
||
*/
|
||
int api_ui_OpenSkillShop(CDNGameRoom *pRoom, UINT nUserObjectID, int nSkillShopID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 무인상점을 열라고 알린다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, -2 면 샵이 없음. 1이면 성공
|
||
*/
|
||
int api_ui_OpenMarket(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 문장보옥 합성 창을 열라고 한다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenCompoundEmblem(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 보옥 업그레이드 창을 열라고 알린다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenUpgradeJewel(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 우편함을 열라고 시킨다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenMailBox(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 분해창을 열라고 시킨다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenDisjointItem(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 아이템 합성창을 열라고 시킨다.
|
||
param : 유저인덱스, 아이템 합성 상점 ID
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenCompoundItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nCompoundShopID);
|
||
|
||
int api_ui_OpenCompound2Item(CDNGameRoom *pRoom, UINT nUserObjectID, int nCompoundShopID, int iItemID/*=0*/ );
|
||
|
||
/*
|
||
desc : 유저에게 캐쉬 아이템 상점을 열라고 시킨다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenCashShop(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 길드 관리 UI 대화상자를 열라고 시킨다.
|
||
param : 유저인덱스, 길드관리번호
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
|
||
길드관리번호>
|
||
0 : 길드창설
|
||
1 : 길드해산
|
||
2 : 길드탈퇴
|
||
3 : 길드포인트
|
||
4 : 길드레벨업
|
||
*/
|
||
int api_ui_OpenGuildMgrBox(CDNGameRoom *pRoom, UINT nUserObjectID, int nGuildMgrNo);
|
||
|
||
/*
|
||
desc : 일본 가챠폰 다이얼로그를 연다.
|
||
param : 사용될 가챠폰 인덱스
|
||
return : -1 => 유저를 찾을수 없음, -2 면 샵이 없음. 1이면 성공, -3 이면 디파인에 걸러짐..
|
||
*/
|
||
int api_ui_OpenGacha_JP(CDNGameRoom *pRoom, UINT nUserObjectID, int nGachaShopID);
|
||
|
||
/*
|
||
desc : NPC 선물하기 다이얼로그를 연다.
|
||
param : 대화중인 Npc ID
|
||
return : -1 => 유저를 찾을수 없음. 1 이면 성공.
|
||
*/
|
||
int api_ui_OpenGiveNpcPresent(CDNGameRoom* pRoom, UINT nUserObjectID, int nNpcID);
|
||
|
||
|
||
/*
|
||
desc : 유저에게 농장창고를 열라고 알린다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenFarmWareHouse(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
|
||
#if defined(PRE_ADD_OPEN_QUEST_TEXTURE_DIALOG)
|
||
/*
|
||
desc : 텍스쳐 다이얼로그를 연다.
|
||
param : 유저인덱스, 파일인덱스, 화면에서의 위치, 보여질 시간, 이미지 중앙점,
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenTextureDialog(CDNGameRoom* pRoom, 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(CDNGameRoom* pRoom, UINT nUserObjectID, int nDlgID);
|
||
#endif
|
||
|
||
|
||
/*
|
||
desc : 유저에게 메세지를 출력하게 한다.
|
||
param : nType 은 메세지 출력 타입,
|
||
CHATTYPE_NORMAL => 1, // 일반적인 대화
|
||
CHATTYPE_PARTY => 2, // 파티 대화
|
||
CHATTYPE_PRIVATE => 3, // 귓속말
|
||
CHATTYPE_GUILD => 4, // 길드 대화
|
||
CHATTYPE_CHANNEL => 5, // 거래/채널 대화
|
||
CHATTYPE_SYSTEM => 6, // 시스템 메세지
|
||
|
||
로그 스트링 줄바꿈을 위해 \n 을 포함할것.
|
||
return : -1 => 유저를 찾을수 없음, -2 타입이 없음 -3 메세지가 너무 김
|
||
*/
|
||
int api_user_UserMessage(CDNGameRoom *pRoom, UINT nUserObjectID, int nType, int nBaseStringIdx, lua_tinker::table ParamTable);
|
||
|
||
/*
|
||
desc : 유저에게 심볼아이템을 추가한다.
|
||
param : 유저인덱스, 심볼아이템아이디, 갯수
|
||
return : -1 => 유저를 찾을수 없음, -2면 실패 1이면 성공
|
||
*/
|
||
int api_quest_AddSymbolItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemID, short wCount);
|
||
|
||
/*
|
||
desc : 유저에게 심볼아이템을 삭제한다.
|
||
param : 유저인덱스, 심볼아이템아이디, 갯수
|
||
return : -1 => 유저를 찾을수 없음, -2 면 실패, 1이면 성공
|
||
*/
|
||
int api_quest_DelSymbolItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemID, short wCount);
|
||
|
||
/*
|
||
desc : 유저가 심볼 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족, 0 보다 크면 true ( 갯수를 리턴 )
|
||
*/
|
||
int api_quest_HasSymbolItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 아이템을 넣을만한 인벤여유가 있는지 확인한다.
|
||
param : 유저인덱스, 퀘스트 아이템 인덱스, 퀘스트 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 인벤 부족
|
||
*/
|
||
int api_quest_CheckQuestInvenForAddItem(CDNGameRoom *pRoom, 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(CDNGameRoom *pRoom, UINT nUserObjectID, lua_tinker::table ItemTable);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 아이템을 추가한다.
|
||
param : 유저인덱스, 퀘스트아이템아이디, 갯수, 퀘스트 아이디
|
||
return : -1 => 유저를 찾을수 없음, -2면 실패 1이면 성공
|
||
*/
|
||
int api_quest_AddQuestItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemID, short wCount, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 아이템을 삭제한다.
|
||
param : 유저인덱스, 퀘스트아이템아이디, 갯수, 퀘스트 아이디
|
||
return : -1 => 유저를 찾을수 없음, -2 면 실패, 1이면 성공
|
||
*/
|
||
int api_quest_DelQuestItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemID, short wCount, int nQuestID);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 아이템을 모두 삭제한다.
|
||
param : 유저인덱스, 퀘스트아이템아이디
|
||
return : -1 => 유저를 찾을수 없음, -2 면 실패, 1이면 성공
|
||
*/
|
||
int api_quest_AllDelQuestItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemID );
|
||
|
||
/*
|
||
desc : 유저가 퀘스트 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족, 0 보다 크면 true ( 갯수를 리턴 )
|
||
*/
|
||
int api_quest_HasQuestItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt);
|
||
|
||
/*
|
||
desc : 유저에게 길드 생성창을 띄우라고 알린다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenGuildCreate(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 보상창을 띄우라고 알린다.
|
||
param : 유저인덱스, 보상테이블, bActivate 가 true 면 고를수 있고 이면 그냥 보는 용도는 false로 쓴다.
|
||
return : -1 => 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenQuestReward(CDNGameRoom *pRoom, UINT nUserObjectID, int nRewardTableIndex, bool bActivate);
|
||
|
||
/*
|
||
desc : 유저에게 퀘스트 보상을 한다.
|
||
param : 유저인덱스, 보상테이블, 퀘스트 아이디, 보상체크번호
|
||
return : -1 => 유저를 찾을수 없음, -2 유저아이템객체 오류, -3 인벤 부족, -4 이면 테이블을 찾을수 없음, -5 보상 조건 체크 오류, 1 이면 성공
|
||
*/
|
||
int api_quest_RewardQuestUser(CDNGameRoom *pRoom, UINT nUserObjectID, int nRewardTableIndext, int nQuestID, int nRewardCheck);
|
||
|
||
/*
|
||
desc : 해당 유저의 파티원수를 리턴한다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 그외는 파티원수 (주의 !!!> 파티에 가입되지 않은 사용자도 1 을 반환)
|
||
*/
|
||
int api_user_GetPartymemberCount(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 해당 유저가 파티에 가입된 상태인지 체크한다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 0 => 파티에 가입 않되어있음, 1 => 파티에 가입 되어있음
|
||
*/
|
||
int api_user_IsPartymember(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저를 이동시킨다.
|
||
param : 유저인덱스, 이동할 맵 인덱스, 이동할 게이트 인덱스
|
||
return : -1 => 유저를 찾을수 없음, -2 없는 맵임
|
||
*/
|
||
void api_user_ChangeMap(CDNGameRoom *pRoom, UINT nUserObjectID, int nMapIndex, int nGateNo);
|
||
|
||
/*
|
||
desc : 해당 유저의 스테이지 난이도를 구함
|
||
param : 유저인덱스
|
||
return : 0 ~ 4 => 던전 난이도 (0:쉬움 / 1:보통 / 2:어려움 / 3:마스터 : 4:어비스), 그 외는 실패 (기본 -1)
|
||
*/
|
||
int api_user_GetStageConstructionLevel(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 해당 유저의 현재 맵번호를 구함
|
||
param : 유저인덱스
|
||
return : 맵번호 (1 이상), 그 외는 실패 ? (0 이하)
|
||
*/
|
||
int api_user_GetMapIndex(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 해당 유저의 최근 스테이지 완료 랭크를 구함
|
||
param : 유저인덱스
|
||
return : 스테이지 완료 랭크 (SSS : 0 / SS : 1 / S : 2 / A : 3 / B : 4 / C : 5 / D : 6), 그 외는 실패 ? (기본 -1)
|
||
*/
|
||
int api_user_GetLastStageClearRank(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저의 현재 소지금을 확인한다.
|
||
param : 유저인덱스, 체크할 값
|
||
return : -1 => 유저를 찾을 수 없음, -2 => 소지금이 부족함, 1 => 소지금이 충분함
|
||
*/
|
||
int api_user_EnoughCoin(CDNGameRoom *pRoom, UINT nUserObjectID, int nCoin );
|
||
|
||
/*
|
||
desc : 유저의 현재 소지금을 확인한다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 0 이상 => 현재 소지금
|
||
*/
|
||
int api_user_GetCoin(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저에게 돈을 감소한다.
|
||
param : 유저인덱스, 돈 (0 초과)
|
||
return : -1 => 유저를 찾을수 없음, 1 => 성공
|
||
*/
|
||
int api_user_DelCoin(CDNGameRoom *pRoom, UINT nUserObjectID, int nDelCoin);
|
||
|
||
/*
|
||
desc : 유저의 특정 미션 취득 여부를 반환
|
||
param : 유저인덱스, 미션인덱스 (MISSIONMAX (현재 5000 → 0 ~ 4999))
|
||
return : -1 => 유저를 찾을수 없음, 0 => 해당 미션 없음, 1 포함 이외 => 해당 미션 존재
|
||
*/
|
||
int api_user_IsMissionGained(CDNGameRoom *pRoom, UINT nUserObjectID, int nMissionIndex);
|
||
|
||
/*
|
||
desc : 유저의 특정 미션 완료 여부를 반환
|
||
param : 유저인덱스, 미션인덱스 (MISSIONMAX (현재 5000 → 0 ~ 4999))
|
||
return : -1 => 유저를 찾을수 없음, 0 => 해당 미션 없음, 1 포함 이외 => 해당 미션 존재
|
||
*/
|
||
int api_user_IsMissionAchieved(CDNGameRoom *pRoom, UINT nUserObjectID, int nMissionIndex);
|
||
|
||
/*
|
||
desc : 유저가 창고에 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족, 0 보다 크면 true ( 갯수를 리턴 )
|
||
*/
|
||
int api_user_HasItemWarehouse(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt);
|
||
|
||
/*
|
||
desc : 유저가 장비에 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 아이템인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, 1 포함 그외 true
|
||
*/
|
||
int api_user_HasItemEquip(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex);
|
||
|
||
/*
|
||
desc : 유저의 현재 길드 직급을 반환
|
||
param : 유저인덱스
|
||
return : 0 : 길드 없음 / 1 : 길드장 / 2 : 부길드장 / 3 : 선임길드원 / 4 : 일반길드원 / 5 : 신입길드원
|
||
*/
|
||
int api_guild_GetGuildMemberRole(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 메모의 특정 인덱스에 값을 1 증가시킴
|
||
param : 유저인덱스, 퀘스트번호, 메모인덱스
|
||
return : 증가된 퀘스트 메모값 (에러일 경우에는 LONG_MIN 반환)
|
||
*/
|
||
int api_quest_IncQuestMemo(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, char nMemoIndex);
|
||
|
||
/*
|
||
desc : 유저가 가지고 있는 퀘스트의 메모의 특정 인덱스에 값을 1 감소시킴
|
||
param : 유저인덱스, 퀘스트번호, 메모인덱스
|
||
return : 증가된 퀘스트 메모값 (에러일 경우에는 LONG_MAX 반환)
|
||
*/
|
||
int api_quest_DecQuestMemo(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, char nMemoIndex);
|
||
|
||
/*
|
||
desc : 유저에게 특정 전직 직업을 지정
|
||
param : 유저인덱스, 변경 전직 직업
|
||
return : -1 : 유저를 찾을수 없음 / -2 : 없는 전직 번호임 / -3 : 전직 불가 조건임 / 0 : 이미 같은 전직 직업임 / 1 : 전직 직업 변경 성공
|
||
*/
|
||
int api_user_SetUserJobID(CDNGameRoom *pRoom, UINT nUserObjectID, int nJobID);
|
||
|
||
/*
|
||
desc : 유저의 전직 직업이 특정 전직 계열에 있는지 확인
|
||
param : 유저인덱스, 선행 전직 직업
|
||
return : -1 : 유저를 찾을수 없음 / 0 : 같은 계열이 아님 / 1 : 같은 계열이 맞음
|
||
*/
|
||
int api_user_IsJobInSameLine(CDNGameRoom *pRoom, UINT nUserObjectID, int nBaseJobID);
|
||
|
||
/*
|
||
desc : 유저가 캐쉬 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 캐쉬아이템인덱스, 아이템 카운트
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, -3 아이템 갯수 부족, 0 보다 크면 true ( 갯수를 리턴 )
|
||
*/
|
||
int api_user_HasCashItem(CDNGameRoom *pRoom, UINT nUserObjectID, int nItemIndex, int nItemCnt);
|
||
|
||
/*
|
||
desc : 유저가 장비에 캐쉬 아이템을 가지고 있는지 확인한다.
|
||
param : 유저인덱스, 캐쉬아이템인덱스
|
||
return : -1 => 유저를 찾을수 없음 -2 => 아이템을 찾을수 없음, 1 포함 그외 true
|
||
*/
|
||
int api_user_HasCashItemEquip(CDNGameRoom *pRoom, 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(CDNGameRoom *pRoom, UINT nUserObjectID, int nCountingType, int nCountingIndex);
|
||
|
||
#if defined(PRE_ADD_DAILYQUESTDATEAPI_01) && defined(PRE_ADD_QUEST_DAILYCHECK_01)
|
||
/*
|
||
desc : 일일 퀘스트 기준으로 현재 날짜를 얻어온다.
|
||
param : 유저인덱스
|
||
return : -1 => 유저를 찾을수 없음, 1 => 성공
|
||
*/
|
||
int api_quest_GetDailyQuestDay(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
#endif // #if defined(PRE_ADD_DAILYQUESTDATEAPI_01) && defined(PRE_ADD_QUEST_DAILYCHECK_01)
|
||
|
||
/*
|
||
desc : 유저가 진행 가능 최대 퀘스트 수에 도달하였는지 여부를 반환한다.
|
||
param : 유저인덱스, 퀘스트인덱스
|
||
return : -1 : 유저를 찾을수 없음, 1 : 최대 퀘스트 수에 도달 함, 그외 : 아님
|
||
*/
|
||
int api_quest_IsPlayingQuestMaximum(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 특정 퀘스트를 강제 완료 시킨다. (진행 중이 아닌 퀘스트는 추가하여 완료)
|
||
param : 유저인덱스, 퀘스트인덱스, 퀘스트 코드 (0:일반 / 1:시간제), 마킹여부 (1:마킹/0:안함), 삭제여부 (1:삭제/0:않함), 반복여부 (1:반복/0:안함)
|
||
return : -1 : 유저를 찾을수 없음, 1 : 최대 퀘스트 수에 도달 함, 그외 : 아님
|
||
*/
|
||
int api_quest_ForceCompleteQuest(CDNGameRoom *pRoom, UINT nUserObjectID, int nQuestID, int nQuestCode, int bDoMark, int bDoDelete, int bDoRepeat);
|
||
|
||
/*
|
||
desc : 특정 사용자의 위치를 이동 시킨다.
|
||
param : 유저인덱스, X 좌표, Y 좌표, Z 좌표
|
||
return : -1 : 유저를 찾을수 없음, 1 성공
|
||
*/
|
||
int api_user_ChangePos(CDNGameRoom *pRoom, UINT nUserObjectID, int nX, int nY, int nZ, int nLookX = 0, int nLookY = 0);
|
||
|
||
int api_ui_OpenUpgradeItem(CDNGameRoom *pRoom, UINT nUserObjectID,int iItemID=0);
|
||
|
||
int api_user_RequestEnterPVP(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : NPC 호의Point 를 얻어온다.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_GetFavorPoint( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 악의Point 를 얻어온다.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_GetMalicePoint( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 호의Percent 를 얻어온다.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_GetFavorPercent( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 악의Percent 를 얻어온다.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_GetMalicePercent( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 호의Point 를 가감한다.
|
||
param : 유저인덱스, NpcID, 가감값(- 넣으면 감소함)
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_AddFavorPoint( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID, int val );
|
||
|
||
/*
|
||
desc : NPC 악의Point 를 가감한다.
|
||
param : 유저인덱스, NpcID, 가감값(- 넣으면 감소함)
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_AddMalicePoint( CDNGameRoom *pRoom, UINT uiUserObjectID, int iNpcID, int val );
|
||
|
||
/*
|
||
desc : NPC 에게 보낼 선물 선택한 정보를 서버로 보내라고 클라이언트에게 요청.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_SendSelectedPresent( CDNGameRoom* pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 에게 보낼 선물 선택한 정보를 서버로 보내라고 클라이언트에게 요청.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_Rage( CDNGameRoom* pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : NPC 에게 보낼 선물 선택한 정보를 서버로 보내라고 클라이언트에게 요청.
|
||
param : 유저인덱스, NpcID
|
||
return : -1 => 유저를 찾을수 없음, -2 => 시스템에러 그외 => 리턴값
|
||
*/
|
||
int api_npc_Disappoint( CDNGameRoom* pRoom, UINT uiUserObjectID, int iNpcID );
|
||
|
||
/*
|
||
desc : 특정 사용자의 전체 스킬을 리셋시킨다.
|
||
param : 유저인덱스
|
||
return : -1 : 유저를 찾을수 없음, 1 : 성공
|
||
*/
|
||
int api_user_ResetSkill(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
/*
|
||
desc : 특정 사용자를 2차 전직 스킬을 사용할 수 있는 상태로 임시로 만들어준다.
|
||
param : 유저인덱스
|
||
return : -1 : 유저를 찾을수 없음, 1 : 성공
|
||
*/
|
||
int api_user_SetSecondJobSkill( CDNGameRoom *pRoom, UINT nUserObjectID, int iSecondChangeJobID );
|
||
|
||
/*
|
||
desc : 임시로 2차 전직을 사용할 수 있는 상태로 만들어둔 유저를 원래 상태로 돌려놓는다.
|
||
이 api 를 호출하지 않아도 맵을 이동해도 리셋된다.
|
||
param : 유저인덱스
|
||
return : -1 : 유저를 찾을수 없음, 1 : 성공
|
||
*/
|
||
int api_user_ClearSecondJobSkill( CDNGameRoom *pRoom, UINT nUserObjectID );
|
||
|
||
/*
|
||
desc : 유저가 가진 장비 아이템을 수리하고, 수리비용을 차감합니다.
|
||
param : 유저인덱스, 전체수리 유무(1-전체수리, 0-장착한아이템)
|
||
return : -1 : 유저를 찾을수 없음 / 0 : 수리할 아이템 없음 / 1 : 소지금 부족 / 2 : 아이템 수리 완료
|
||
*/
|
||
int api_user_RepairItem(CDNGameRoom *pRoom, UINT nUserObjectID, int iAllRepair);
|
||
|
||
|
||
/*
|
||
desc : 아이템의 강화값을 다른 아이템으로 이동시킵니다.
|
||
param : 유저인덱스
|
||
return : -1 : 유저를 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_ui_OpenExchangeEnchant(CDNGameRoom *pRoom, UINT nUserObjectID);
|
||
|
||
//------------------------------------------------------------------------------------------------
|
||
// trigger
|
||
|
||
int api_trigger_GetPartyCount( CDNGameRoom *pRoom );
|
||
int api_trigger_GetPartyActor( CDNGameRoom *pRoom, int nPartyIndex );
|
||
bool api_trigger_IsInsidePlayerToEventArea( CDNGameRoom *pRoom, int nActorHandle, int nEventAreaHandle );
|
||
void api_trigger_SetActionToProp( CDNGameRoom *pRoom, int nPropHandle, const char *szAction );
|
||
void api_trigger_ShowDungeonClear( CDNGameRoom *pRoom, bool bClear = true, bool bIgnoreRewardItem = false );
|
||
void api_trigger_SetPermitGate( CDNGameRoom *pRoom, int nGateIndex, int nOpenClose );
|
||
int api_trigger_GetMonsterAreaLiveCount( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
int api_trigger_GetMonsterAreaTotalCount( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
void api_trigger_RebirthMonster( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
void api_trigger_GenerationMonster( CDNGameRoom *pRoom, int nEventAreaHandle, int nMonsterTableID, int nMin, int nMax, int nTeamSetting );
|
||
void api_trigger_GenerationMonsterGroup( CDNGameRoom *pRoom, int nEventAreaHandle, int nMonsterGroupID, int nMin, int nMax, int nTeamSetting );
|
||
void api_trigger_CmdMoveMonster( CDNGameRoom* pRoom, int nEventAreaHandle, int nTargetEventAreaHandle );
|
||
void api_trigger_CmdRandMoveMonster( CDNGameRoom* pRoom, int nEventAreaHandle, int nTargetEventAreaHandle, UINT uiMoveFrontRate );
|
||
bool api_trigger_CheckMonsterIsInsideArea( CDNGameRoom* pRoom, int nEventAreaHandle, int nTargetEventAreaHandle );
|
||
bool api_trigger_CheckMonsterLessHP( CDNGameRoom* pRoom, int iMonsterID, int iHP );
|
||
bool api_trigger_CheckInsideAreaMonsterLessHP( CDNGameRoom* pRoom, int iAreaUniqueID, int iHP );
|
||
void api_trigger_GenerationMonsterSet( CDNGameRoom *pRoom, int nEventAreaHandle, int nSetID, int nPosID, int nTeamSetting, bool bResetReference );
|
||
void api_trigger_GenerationMonsterSetInEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nChangeSetID, int nChangePosID, int nTeamSetting, bool bResetReference );
|
||
/*
|
||
desc : EventArea 에 NPC 를 생성한다.
|
||
param : 이벤트영역 id , npc id
|
||
return : -1 => 이벤트영역 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_trigger_GenerationNpc(CDNGameRoom *pRoom, int nEventAreaHandle, int nNpcTableID);
|
||
|
||
/*
|
||
desc : EventArea 에 NPC 를 제거한다.
|
||
param : 이벤트영역 id
|
||
return : -1 => 이벤트영역 찾을수 없음, 1이면 성공
|
||
*/
|
||
int api_trigger_DestroyNpc(CDNGameRoom *pRoom, int nEventAreaHandle);
|
||
|
||
void api_trigger_SetGameSpeed( CDNGameRoom *pRoom, float fPlaySpeed, DWORD dwDelay );
|
||
void api_trigger_ShowProp( CDNGameRoom *pRoom, int nPropHandle, bool bShow );
|
||
bool api_trigger_IsAllDieMonster( CDNGameRoom *pRoom, bool bCheckTeam = false );
|
||
int api_trigger_GetLastAimPropHandle( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
bool api_trigger_IsProp( CDNGameRoom *pRoom, int nPropHandle );
|
||
bool api_trigger_IsBrokenProp( CDNGameRoom *pRoom, int nPropHandle );
|
||
void api_trigger_DestroyMonsterArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nDropType );
|
||
void api_trigger_DestroyAllMonster( CDNGameRoom *pRoom, bool bDropItem, int nTeam );
|
||
void api_trigger_SetMonsterAIState( CDNGameRoom *pRoom, int nEventAreaHandle, int nValue );
|
||
void api_trigger_PlayCutSceneByTrigger( CDNGameRoom *pRoom, int nCutSceneTableID, bool bFadeIn, int nQuestIndex , int nQuestStep);
|
||
int api_trigger_GetGameTime( CDNGameRoom *pRoom );
|
||
bool api_trigger_Delay( CDNGameRoom *pRoom, CEtTriggerElement *pElement, int nDelay );
|
||
int api_trigger_GetBattleModeCount( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
char *api_trigger_GetActionToProp( CDNGameRoom *pRoom, int nPropHandle );
|
||
void api_trigger_ChangeMapByTrigger( CDNGameRoom *pRoom, int nMapIndex, int nGateNo );
|
||
int api_trigger_GetTalkNpcClassID( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetTalkNpcActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetTalkNpcTargetActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
void api_trigger_EnableOperatorProp( CDNGameRoom *pRoom, int nPropHandle, int nActorHandle, bool bEnable );
|
||
void api_trigger_AllUserEnableOperatorProp( CDNGameRoom *pRoom, int nPropHandle, bool bEnable );
|
||
void api_trigger_SetActionToPropActor( CDNGameRoom *pRoom, int nPropHandle, int nActorHandle, const char *szAction );
|
||
int api_trigger_GetLastAimPropActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetLastBrokenPropActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
void api_trigger_EnableTriggerElement( CDNGameRoom *pRoom, CEtTriggerElement *pElement, bool bEnable );
|
||
void api_trigger_SetActionToActor( CDNGameRoom *pRoom, int nEventAreaHandle, const char *szAction, int nLoopCount, float fBlendFrame );
|
||
void api_trigger_EnableOperatorNpc( CDNGameRoom *pRoom, int nEventAreaHandle, int nActorHandle, bool bEnable );
|
||
void api_trigger_EnableOperatorNpcFromPropNpc( CDNGameRoom *pRoom, int nPropHandle, int nActorHandle, bool bEnable );
|
||
void api_trigger_EnableTriggerObject( CDNGameRoom *pRoom, const char *szTriggerObjectName, bool bEnable );
|
||
void api_trigger_EnableMonsterNoDamage( CDNGameRoom *pRoom, int nEventAreaHandle, bool bEnable );
|
||
void api_trigger_WarpActor( CDNGameRoom *pRoom, int nActorHandle, int nTargetEventAreaHandle );
|
||
void api_trigger_WarpActorFromEventArea( CDNGameRoom *pRoom, int nMonsterEventAreaHandle, int nTargetEventAreaHandle );
|
||
bool api_trigger_IsInsidePropToEventArea( CDNGameRoom* pRoom, int nPropHandle, int nTargetEventAreaHandle );
|
||
void api_trigger_ChangeTeamFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nTeam );
|
||
bool api_trigger_IsDieActor( CDNGameRoom *pRoom, int nActorHandle );
|
||
int api_trigger_GetUserLevelByTrigger( CDNGameRoom *pRoom, int nActorHandle );
|
||
int api_trigger_GetMonsterActorFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nIndex );
|
||
void api_trigger_DropItemToEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nItemID, int nCount, DWORD dwOwnerActorHandle = 0 );
|
||
void api_trigger_DropItemToActor( CDNGameRoom *pRoom, int nActorHandle, int nItemID, int nCount, DWORD dwOwnerActorHandle = 0 );
|
||
void api_trigger_ShowChatBalloonToMonsterArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nUIStringIndex );
|
||
void api_trigger_ShowChatBalloonToActor( CDNGameRoom *pRoom, int nActorHandle, int nUIStringIndex );
|
||
void api_trigger_ShowChatBalloonToProp( CDNGameRoom *pRoom, int nPropHandle, int nUIStringIndex );
|
||
void api_trigger_HideChatBalloonToMonsterArea( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
void api_trigger_HideChatBalloonToProp( CDNGameRoom *pRoom, int nPropHandle );
|
||
void api_trigger_SetForceAggroToMonsterArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nTargetEventArea, int nValue );
|
||
void api_trigger_SetForceAggroToProp( CDNGameRoom *pRoom, int nEventAreaHandle, int nPropHandle, int nValue );
|
||
void api_trigger_ShowExposureInfo( CDNGameRoom *pRoom, int nEventAreaHandle, bool bShow );
|
||
void api_trigger_DLChangeRound( CDNGameRoom *pRoom, bool bBoss, int iNextTotalRound=0 );
|
||
int api_trigger_DLGetRound( CDNGameRoom *pRoom );
|
||
int api_trigger_DLGetTotalRound( CDNGameRoom *pRoom );
|
||
int api_trigger_DLGetStartFloor( CDNGameRoom* pRoom );
|
||
int api_trigger_DLRequestChallenge( CDNGameRoom* pRoom );
|
||
int api_trigger_DLResponseChallenge( CDNGameRoom* pRoom );
|
||
void api_trigger_DLSetStartRound( CDNGameRoom* pRoom, int iRound );
|
||
void api_trigger_EnableDungeonClearWarpQuestFlag(CDNGameRoom* pRoom);
|
||
bool api_trigger_IsEnableDungeonClearWarp(CDNGameRoom* pRoom);
|
||
bool api_trigger_IsExistNotAchieveMissionPartyActor( CDNGameRoom *pRoom, int nMissionArrayIndex );
|
||
int api_trigger_GetChangeActionPlayerActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
char *api_trigger_GetActionToPlayerActor( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
void api_trigger_EnablePropNoDamage( CDNGameRoom *pRoom, int nPropHandle, bool bEnable );
|
||
int api_trigger_GetTriggerEventSignalEventAreaHandle( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetTriggerEventSignalActorHandle( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetTriggerEventSignalEventID( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
int api_trigger_GetTriggerEventSignalTeam( CDNGameRoom *pRoom, CEtTriggerElement *pElement );
|
||
void api_trigger_HoldPartyDice(CDNGameRoom* pRoom);
|
||
void api_trigger_ReleasePartyDice(CDNGameRoom* pRoom);
|
||
void api_trigger_UpdateNestTryCount(CDNGameRoom *pRoom,int iForceMapIndex=0 );
|
||
void api_trigger_UpdateUserNestTryCount(CDNGameRoom *pRoom, int nActorHandle );
|
||
int api_trigger_GetMonsterClassID( CDNGameRoom *pRoom, int nActorHandle );
|
||
void api_trigger_EnableDungeonClearWarpAlarm( CDNGameRoom *pRoom, bool bEnable );
|
||
void api_trigger_SetHPFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nValue );
|
||
void api_trigger_SetHP( CDNGameRoom *pRoom, int nActorHandle, int nValue );
|
||
void api_trigger_AddHPAbsoluteFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nValue );
|
||
void api_trigger_AddHPRatioFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, float fValue );
|
||
void api_trigger_AddHPAbsolute( CDNGameRoom *pRoom, int nActorHandle, int nValue );
|
||
void api_trigger_AddHPRatio( CDNGameRoom *pRoom, int nActorHandle, float fValue );
|
||
int api_trigger_GetTeamFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle );
|
||
int api_trigger_GetTeam( CDNGameRoom *pRoom, int nActorHandle );
|
||
void api_trigger_SetHPRatioFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, float fValue );
|
||
void api_trigger_SetHPRatio( CDNGameRoom *pRoom, int nActorHandle, float fValue );
|
||
void api_trigger_IgnoreAggroFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nValue );
|
||
int api_trigger_GetPropDurability( CDNGameRoom *pRoom, int nPropHandle );
|
||
int api_trigger_LastAimPropActorMessage( CDNGameRoom *pRoom, int nType, int nActorHandle, int nBaseStringIdx, lua_tinker::table ParamTable );
|
||
void api_trigger_BuffFromEventArea( CDNGameRoom *pRoom, int nActorHandle, int nSkillID, int nSkillLevel, int nDelay);
|
||
bool api_trigger_NoDuplicateBuffFromEventArea( CDNGameRoom *pRoom, int nActorHandle, int nSkillID, int nSkillLevel, int nDelay);
|
||
void api_trigger_Start_DragonNest( CDNGameRoom* pRoom, int nType, int nRebirthCount );
|
||
void api_trigger_SetUsableRebirthCoin( CDNGameRoom* pRoom, int nActorHandle, int nUsableRebirthCoin );
|
||
int api_trigger_GetMonsterHPPercent_FromEventArea( CDNGameRoom* pRoom, int nEventAreaHandle );
|
||
void api_trigger_UseSkillFromEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nSkillID );
|
||
void api_trigger_UseSkill( CDNGameRoom *pRoom, int nActorHandle, int nSkillID );
|
||
void api_trigger_NotUseManaSkill( CDNGameRoom *pRoom, int nActorHandle );
|
||
void api_trigger_AllUser_AddVehicleItem(CDNGameRoom *pRoom, char* pszStr, bool bDBSave );
|
||
void api_trigger_PlayerNameShowBlindCaption( CDNGameRoom *pRoom, int nUIStringIndex, int nDelay, int nActorHandle );
|
||
void api_trigger_InvenToEquip( CDNGameRoom* pRoom, UINT nUserObjectID, int iItemID, bool bShootMode, bool bBackup=false );
|
||
void api_trigger_UnRideVehicle( CDNGameRoom* pRoom, UINT nUserObjectID );
|
||
void api_trigger_ChangeMyBGM( CDNGameRoom * pRoom, int nActorHandle, int nBGM, int nFadeDelta = 0 );
|
||
void api_trigger_FileTableBGMOff( CDNGameRoom * pRoom, int nActorHandle );
|
||
void api_trigger_RadioMsg( CDNGameRoom * pRoom, int nActorHandle, int nRadioID );
|
||
void api_trigger_RadioImage( CDNGameRoom * pRoom, int nActorHandle, int nFileID, DWORD nTime );
|
||
int api_trigger_GetPvPGameModePlayTime( CDNGameRoom * pRoom );
|
||
void api_trigger_DropGroupItemToEventArea( CDNGameRoom *pRoom, int nEventAreaHandle, int nItemID, DWORD dwOwnerActorHandle = 0 );
|
||
void api_trigger_DropGroupItemToActor( CDNGameRoom *pRoom, int nActorHandle, int nItemID, DWORD dwOwnerActorHandle = 0 );
|
||
void api_trigger_TargetActorShowNpc( CDNGameRoom * pRoom, int nActorHandle, int nEventAreaHandle, bool bShow );
|
||
void api_trigger_TargetActorShowProp( CDNGameRoom * pRoom, int nActorHandle, int nPropHandle, bool bShow );
|
||
int api_trigger_TriggerVariableTable( CDNGameRoom * pRoom, int nItemID );
|
||
int api_trigger_GetPvPGameMode( CDNGameRoom * pRoom );
|
||
void api_trigger_CmdKeepOperationProp( CDNGameRoom * pRoom, int nPropHandle, int nActorHandle, int nOperationTime, int nStringID, const char *szAction );
|
||
void api_trigger_ActivateMission( CDNGameRoom * pRoom, int nActorHandle, int nMissionID);
|
||
void api_trigger_SetDungeonClearRound( CDNGameRoom * pRoom, int iRound );
|
||
bool api_trigger_BreakIntoUserCheck( CDNGameRoom* pRoom );
|
||
bool api_trigger_DungeonStartTimeAttack( CDNGameRoom* pRoom, int iMin, int iSec );
|
||
int api_trigger_DungeonCheckTimeAttack( CDNGameRoom* pRoom );
|
||
void api_trigger_DungeonStopTimeAttack( CDNGameRoom* pRoom );
|
||
void api_trigger_RequestDungeonFail( CDNGameRoom* pRoom, bool bTimeOut=false );
|
||
void api_trigger_Special_RebirthItem( CDNGameRoom* pRoom, int nType, int nITemID, int nRebirthItemCount );
|
||
void api_trigger_GameWarpDungeonClearToLeader(CDNGameRoom* pRoom, bool bIgnoreClear = false);
|
||
void api_trigger_ActorBuffFromEventArea( CDNGameRoom *pRoom, int nActorHandle, int nEventAreaHandle, int nSkillID, int nSkillLevel, int nDelay, bool bSummonInclude );
|
||
void api_trigger_console_WriteLine( char * szOutputString, const char * s0, const char * s1, const char * s2, const char * s3, const char * s4, const char * s5,
|
||
const char * s6, const char * s7, const char * s8, const char * s9 );
|
||
int api_trigger_GetPartyCountbyRoom( CDNGameRoom* pRoom );
|
||
int api_trigger_GetPartyActorbyRoom( CDNGameRoom* pRoom, int nFirstPartyIndex );
|
||
|
||
int api_trigger_GetRacingStartTime( CDNGameRoom * pRoom );
|
||
int api_trigger_GetRacingGoalTime( CDNGameRoom * pRoom, const int nActorHandle );
|
||
int api_trigger_GetCurrentWeather( CDNGameRoom* pRoom );
|
||
void api_trigger_StartDungeonGateTime( CDNGameRoom* pRoom, int nGateNumber );
|
||
void api_trigger_EndDungeonGateTime( CDNGameRoom* pRoom, int nGateNumber );
|
||
int api_trigger_StageRemainClearCount( CDNGameRoom* pRoom, UINT nUserObjectID, int nMapIndex );
|
||
void api_trigger_EnableRideVehicle( CDNGameRoom * pRoom, UINT nActorHandle, bool bEnableRide );
|
||
void api_trigger_AllMonsterUseSkill( CDNGameRoom * pRoom, int nSkillID, int nSkillLevel, int nDelay, bool bEternity );
|
||
bool api_trigger_RequireTotalComboCount( CDNGameRoom * pRoom, UINT nActorHandle, int nTotalComboCount );
|
||
void api_trigger_RequireTotalComboReset( CDNGameRoom * pRoom, UINT nActorHandle );
|
||
|
||
/*
|
||
desc : 파티 중 특정 클래스의 인원을 체크
|
||
[Interger1] 유저 클래스의 인원을 반환
|
||
param : 직업(Interger1)1 워리어 2 아쳐, 3 소서리스 4 클래스 5 아카데믹 6 칼리
|
||
return : 파티내 [Interger1] 클래스의 인원
|
||
*/
|
||
int api_trigger_GetPartyInClassCount( CDNGameRoom* pRoom, int nClassID );
|
||
|
||
void api_trigger_Set_AlteiaWorld( CDNGameRoom* pRoom, bool bFlag );
|
||
void api_tirgger_Set_UserHPSP( CDNGameRoom * pRoom, UINT nActorHandle, int nHP_Ratio, int nSP_Ratio );
|
||
|
||
void api_trigger_Set_ItemUseCount( CDNGameRoom* pRoom, int nItemID, int nUseCount ); // 스테이지 아이템 사용횟수 제한
|
||
|
||
//rlkt_test
|
||
bool api_trigger_CheckJobChangeProcess(CDNGameRoom* pRoom, UINT nActorHandle);
|
||
int api_ui_OpenJobChange(CDNGameRoom* pRoom, UINT nUserObjectID);
|
||
int api_trigger_Emergence_GetValue(CDNGameRoom* pRoom, UINT nValueType);
|
||
int api_trigger_Emergence_Begin(CDNGameRoom* pRoom, int nEventAreaHandle);
|
||
bool api_trigger_Emergence_CheckSelectedEvent(CDNGameRoom* pRoom, int nEventAreaHandle);
|
||
bool api_trigger_CheckForceMoveComebackRoom(CDNGameRoom* pRoom); |