Доброго времени. Такое дело, в С++ не очень давно. решил поработать с хуками, взял исход ванганта (интерлюд) решил хукнуть функцию, так для опыта.
Написал хук на адресс функции (0x008257C0, "User::EquipItem()"); cс таким вот содержимым.
При вызове функции в игре, при одевании предмета, условия, написаные мной в моей функции выполняются, мне пишет в систем чат что я одел одежду, но сервер крашится, так как продолжения нет, вот собственно и вопрос, как мне после выполнения моего хука функции, вернутся в стандартную функцию l2servera.
Написал хук на адресс функции (0x008257C0, "User::EquipItem()"); cс таким вот содержимым.
C++:
.header
static bool User_UseItem(User *pUser, CItem *pItem);
.cpp
g_HookManager.WriteCall( 0x008257C0, CAntiExploit::User_UseItem, 0);
bool CAntiExploit::User_UseItem(User *pUser, CItem *pItem)
{
if (pItem->pSID->nItemID > 0)
{
pUser->pSocket->SendSystemMessage(L"You odel odejdu!!!");
}else
{
pUser->pSocket->SendSystemMessage(L"You goliy !!!");
}
typedef bool (*f)(CItem*);
return f(0x008257C0L)(pItem);
}