Imput_main.cpp (tutorial)// 1) Search:
case HEADER_CG_DRAGON_SOUL_REFINE:
{
TPacketCGDragonSoulRefine* p = reinterpret_cast <TPacketCGDragonSoulRefine*>((void*)c_pData);
switch(p->bSubType)
{
case DS_SUB_HEADER_CLOSE:
ch->DragonSoul_RefineWindow_Close();
break;
case DS_SUB_HEADER_DO_REFINE_GRADE:
{
DSManager::instance().DoRefineGrade(ch, p->ItemGrid);
}
break;
case DS_SUB_HEADER_DO_REFINE_STEP:
{
DSManager::instance().DoRefineStep(ch, p->ItemGrid);
}
break;
case DS_SUB_HEADER_DO_REFINE_STRENGTH:
{
DSManager::instance().DoRefineStrength(ch, p->ItemGrid);
}
break;
}
}
break;
// 2) After this make a new line and paste:
#ifdef __TITLE_SYSTEM__
case HEADER_CG_TITLE_CHOOSE:
{
TPacketGGTitleInfo* p = reinterpret_cast <TPacketGGTitleInfo*>((void*)c_pData);
if (ch)
ch->pChooseTitle(p->iTitle);
}
break;
#endif
Imput_main.cpp cum am facut
HEADER_CG_DRAGON_SOUL_REFINE:
{
TPacketCGDragonSoulRefine* p = reinterpret_cast <TPacketCGDragonSoulRefine*>((void*)c_pData);
switch(p->bSubType)
{
case DS_SUB_HEADER_CLOSE:
ch->DragonSoul_RefineWindow_Close();
break;
case DS_SUB_HEADER_DO_REFINE_GRADE:
{
DSManager::instance().DoRefineGrade(ch, p->ItemGrid);
}
break;
case DS_SUB_HEADER_DO_REFINE_STEP:
{
DSManager::instance().DoRefineStep(ch, p->ItemGrid);
}
break;
case DS_SUB_HEADER_DO_REFINE_STRENGTH:
{
DSManager::instance().DoRefineStrength(ch, p->ItemGrid);
}
break;
}
}
break;
#ifdef __TITLE_SYSTEM__
case HEADER_CG_TITLE_CHOOSE:
{
TPacketGGTitleInfo* p = reinterpret_cast <TPacketGGTitleInfo*>((void*)c_pData);
if (ch)
ch->pChooseTitle(p->iTitle);
}
break;
#endif
}
return (iExtraLen);
}[/python]
questlua_pc.cpp (tutorial) // 1) Search: void RegisterPCFunctionTable()
// 2) Before this make a new line and paste:
#ifdef __TITLE_SYSTEM__
int pc_set_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
_to_return = true;
int iTitle = (int)lua_tonumber(L, 1);
BYTE bValue = (BYTE)lua_tonumber(L, 2);
ch->SetTitle(iTitle, bValue);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_get_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
int iTitle = (int)lua_tonumber(L, 1);
_to_return = ch->GetTitle(iTitle);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_choose_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
int iTitle = (int)lua_tonumber(L, 1);
_to_return = ch->ChooseTitle(iTitle);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_choosed_title(lua_State * L)
{
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushnumber(L, 0);
return 1;
}
int _to_return = ch->ChoosedTitle();
lua_pushnumber(L, _to_return);
return 1;
}
#endif
// 1) Search: {NULL, NULL}
// 2) Before this make a new line and paste:
#ifdef __TITLE_SYSTEM__
{"set_title", pc_set_title}, // Use (return true or false >> player will learn/unlearn this title): pc.set_title(title number, 0 to unlearn or 1 to learn) >> in length.h check: enum ETitles.
{"get_title", pc_get_title}, // Use (return true or false >> true in case player can have this title): pc.get_title(title number) >> in length.h check: enum ETitles.
{"choose_title", pc_choose_title}, // Use (return true or false >> true in case player can want to set this title and can): pc.choose_title(title number) >> in length.h check: enum ETitles.
{"choosed_title", pc_choosed_title}, // Use (return number of title choosed or 0): pc.choosed_title() >> in length.h check: enum ETitles.
#endif
questlua_pc.lua cum am facut
#ifdef __TITLE_SYSTEM__
int pc_set_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
_to_return = true;
int iTitle = (int)lua_tonumber(L, 1);
BYTE bValue = (BYTE)lua_tonumber(L, 2);
ch->SetTitle(iTitle, bValue);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_get_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
int iTitle = (int)lua_tonumber(L, 1);
_to_return = ch->GetTitle(iTitle);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_choose_title(lua_State * L)
{
bool _to_return = false;
if (!lua_isnumber(L, 1))
{
sys_err("Invalid argument.");
lua_pushboolean(L, _to_return);
return 1;
}
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushboolean(L, _to_return);
return 1;
}
int iTitle = (int)lua_tonumber(L, 1);
_to_return = ch->ChooseTitle(iTitle);
lua_pushboolean(L, _to_return);
return 1;
}
int pc_choosed_title(lua_State * L)
{
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
if (!ch)
{
lua_pushnumber(L, 0);
return 1;
}
int _to_return = ch->ChoosedTitle();
lua_pushnumber(L, _to_return);
return 1;
}
#endif
void RegisterPCFunctionTable()
#ifdef __TITLE_SYSTEM__
{ "set_title", pc_set_title}, // Use (return true or false >> player will learn/unlearn this title): pc.set_title(title number, 0 to unlearn or 1 to learn) >> in length.h check: enum ETitles.
{ "get_title", pc_get_title}, // Use (return true or false >> true in case player can have this title): pc.get_title(title number) >> in length.h check: enum ETitles.
{ "choose_title", pc_choose_title }, // Use (return true or false >> true in case player can want to set this title and can): pc.choose_title(title number) >> in length.h check: enum ETitles.
{ "choosed_title", pc_choosed_title}, // Use (return number of title choosed or 0): pc.choosed_title() >> in length.h check: enum ETitles.
#endif
{ NULL, NULL }