diff --git a/dlls/engine/engine.cpp b/dlls/engine/engine.cpp index bef57149..907c43e9 100755 --- a/dlls/engine/engine.cpp +++ b/dlls/engine/engine.cpp @@ -46,7 +46,7 @@ static cell AMX_NATIVE_CALL register_impulse(AMX *amx, cell *params) Impulse *p = new Impulse; p->Check = params[1]; - p->Forward = MF_RegisterSPForwardByName(amx, MF_GetAmxString(amx, params[2], 0, &len), FP_CELL, FP_DONE); + p->Forward = MF_RegisterSPForwardByName(amx, MF_GetAmxString(amx, params[2], 0, &len), FP_CELL, FP_CELL, FP_DONE); Impulses.push_back(p); diff --git a/dlls/engine/forwards.cpp b/dlls/engine/forwards.cpp index cd7eb318..51acd6d1 100755 --- a/dlls/engine/forwards.cpp +++ b/dlls/engine/forwards.cpp @@ -129,7 +129,7 @@ void CmdStart(const edict_t *player, const struct usercmd_s *_cmd, unsigned int { if (Impulses[i]->Check == g_cmd->impulse) { - retVal = MF_ExecuteForward(Impulses[i]->Forward, ENTINDEX(pEntity)); + retVal = MF_ExecuteForward(Impulses[i]->Forward, ENTINDEX(pEntity),origImpulse); if (retVal & 2 /*PLUGIN_HANDLED_MAIN*/) { g_cmd->impulse=0;