PHP Code:
#include <amxmodx> // set_task(0.1, "Hns_Multijump", 0, 1, "ab", 1) // Cant find a place for it
#include <fakemeta>
#define FLAG_ADMIN ADMIN_LEVEL_A
new g_iJumpCount[33], bool:g_bJumped[33];
new g_pMaxJumps, g_pAdminOnly;
new bool:moving[512] = true
public plugin_init()
{
register_plugin("hns_MultiJump", "0.1", "TitANious (port to FM by hleV)");
g_pMaxJumps = register_cvar("mj_maxjumps", "1"); // 1 normal jump + amount in CVAR
g_pAdminOnly = register_cvar("mj_adminonly", "0");
register_forward(FM_PlayerPreThink, "fwPreThink");
register_forward(FM_PlayerPostThink, "fwPostThink");
register_logevent("fwPreThink", 2, "1=Round_Start")
}
public client_disconnect(id)
{
g_iJumpCount[id] = 0;
g_bJumped[id] = false;
}
public fwPreThink(id)
{
if (!is_user_alive(id) || (get_pcvar_num(g_pAdminOnly) && !(get_user_flags(id) & FLAG_ADMIN)))
return; // forgot a ) at the if()
static iButton, iOldButton, iFlags; // the code above wasn't aligned properly, should work now...
iButton = pev(id, pev_button);
iOldButton = pev(id, pev_oldbuttons);
iFlags = pev(id, pev_flags);
if ((iButton & IN_JUMP) && !(iFlags & FL_ONGROUND) && !(iOldButton & IN_JUMP))
if (g_iJumpCount[id] < get_pcvar_num(g_pMaxJumps))
{
g_iJumpCount[id]++;
g_bJumped[id] = true;
return;
}
if ((iButton & IN_JUMP) && (iFlags & FL_ONGROUND))
g_iJumpCount[id] = 0;
set_task(0.1,"reset",id,"",0,"ab", 1) // SET TASKKKK
}
public fwPostThink(id)
{
if (!is_user_alive(id) || (get_pcvar_num(g_pAdminOnly) && !(get_user_flags(id) & FLAG_ADMIN)))
return;
if (g_bJumped[id])
{
static Float:fVel[3];
pev(id, pev_velocity, fVel);
fVel[2] = random_float(265.0, 285.0); // IMO it should be lesser
set_pev(id, pev_velocity, fVel);
g_bJumped[id] = false;
}
set_task(0.1,"reset",id,"",0,"ab", 1) // SET TASKKKK
}
public reset(id)
{
moving[id] = false;
}
Code:
Should only be used once each round
PHP Code:
set_task(0.1,"reset",id,"",0,"ab", 1)
__________________
I dislike this.
"A sneeze never comes alone!" <-- Important to remember.