L. Duke
05-11-2005, 18:41
I'm trying to hook the FireEvent from IGameEventManager2 so I can run code on "round_start"
In meta_hooks.hSH_DECL_HOOK2(IGameEventManager2, FireEvent, SH_NOATTRIB, 0, bool, IGameEvent *, bool);
In Hostitron::Loadm_GameEventManager = (IGameEventManager2 *)((ismm->engineFactory())(INTERFACEVERSION_GAMEEVENTSM ANAGER2, NULL));
SH_ADD_HOOK_MEMFUNC(IGameEventManager2, FireEvent, m_GameEventManager, &g_Hostitron, &Hostitron::FireEvent, true);
Hostitron::FireEventbool Hostitron::FireEvent(IGameEvent *event, bool bDontBroadcast)
{
const char *name = event->GetName();
META_LOG(g_PLAPI, "Hostitron::FireEvent received event: %s", name);
RETURN_META_VALUE(MRES_IGNORED, true);
}
The event->GetName() always crashes the server. If I take out that line, I can log every time an event is received but I don't know which event it is. I'm probably missing something simple again, any ideas?
http://img2.uploadimages.net/246081temp.jpg
In meta_hooks.hSH_DECL_HOOK2(IGameEventManager2, FireEvent, SH_NOATTRIB, 0, bool, IGameEvent *, bool);
In Hostitron::Loadm_GameEventManager = (IGameEventManager2 *)((ismm->engineFactory())(INTERFACEVERSION_GAMEEVENTSM ANAGER2, NULL));
SH_ADD_HOOK_MEMFUNC(IGameEventManager2, FireEvent, m_GameEventManager, &g_Hostitron, &Hostitron::FireEvent, true);
Hostitron::FireEventbool Hostitron::FireEvent(IGameEvent *event, bool bDontBroadcast)
{
const char *name = event->GetName();
META_LOG(g_PLAPI, "Hostitron::FireEvent received event: %s", name);
RETURN_META_VALUE(MRES_IGNORED, true);
}
The event->GetName() always crashes the server. If I take out that line, I can log every time an event is received but I don't know which event it is. I'm probably missing something simple again, any ideas?
http://img2.uploadimages.net/246081temp.jpg