Kobra написа: ↑21 Юни 2022, 11:02
Can someone add flag support or is there any other multijump plugin with flag support?
Try it. You can change flag
ADMIN_LEVEL_A . Now shoud be only people with flag "m" can use jumps
Код за потвърждение: Избери целия код
ADMIN_ALL 0 /* everyone */
ADMIN_IMMUNITY (1<<0) /* flag "a" */
ADMIN_RESERVATION (1<<1) /* flag "b" */
ADMIN_KICK (1<<2) /* flag "c" */
ADMIN_BAN (1<<3) /* flag "d" */
ADMIN_SLAY (1<<4) /* flag "e" */
ADMIN_MAP (1<<5) /* flag "f" */
ADMIN_CVAR (1<<6) /* flag "g" */
ADMIN_CFG (1<<7) /* flag "h" */
ADMIN_CHAT (1<<8) /* flag "i" */
ADMIN_VOTE (1<<9) /* flag "j" */
ADMIN_PASSWORD (1<<10) /* flag "k" */
ADMIN_RCON (1<<11) /* flag "l" */
ADMIN_LEVEL_A (1<<12) /* flag "m" */
ADMIN_LEVEL_B (1<<13) /* flag "n" */
ADMIN_LEVEL_C (1<<14) /* flag "o" */
ADMIN_LEVEL_D (1<<15) /* flag "p" */
ADMIN_LEVEL_E (1<<16) /* flag "q" */
ADMIN_LEVEL_F (1<<17) /* flag "r" */
ADMIN_LEVEL_G (1<<18) /* flag "s" */
ADMIN_LEVEL_H (1<<19) /* flag "t" */
ADMIN_MENU (1<<20) /* flag "u" */
ADMIN_BAN_TEMP (1<<21) /* flag "v" */
ADMIN_ADMIN (1<<24) /* flag "y" */
ADMIN_USER (1<<25) /* flag "z" */
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <reapi>
#define FLAG ADMIN_LEVEL_A
new iJumps[33], bool:bGiveMultiJump[33]
new cvar_enable_multijump, cvar_multijumps
public plugin_init()
{
register_plugin("Multi-Jumps [ReAPI]", "0.1", "Nikolow")
RegisterHookChain(RG_CBasePlayer_Jump, "Fw_PlayerJump_Pre", 0)
cvar_enable_multijump = register_cvar("mj_give_all_multijump", "1")
cvar_multijumps = register_cvar("mj_extra_jumps", "1")
}
public plugin_natives()
{
register_native("give_user_multijump", "native_give_user_multijump", 1)
register_native("remove_user_multijump", "native_remove_user_multijump", 1)
}
public native_give_user_multijump(id) bGiveMultiJump[id] = true
public native_remove_user_multijump(id) bGiveMultiJump[id] = false
public Fw_PlayerJump_Pre(id)
{
if (!is_user_alive(id))
return HC_SUPERCEDE
new iFlags = get_entvar(id, var_flags)
if (iFlags & FL_WATERJUMP || get_entvar(id, var_waterlevel) >= 2 || !(get_member(id, m_afButtonPressed) & IN_JUMP))
return HC_CONTINUE
if (iFlags & FL_ONGROUND)
{
iJumps[id] = 0
return HC_CONTINUE
}
if(get_user_flags(id) & FLAG){
if (get_pcvar_num(cvar_enable_multijump) || bGiveMultiJump[id] )
{
if (++iJumps[id] <= get_pcvar_num(cvar_multijumps))
{
new Float:fVelocity[3]
get_entvar(id, var_velocity, fVelocity)
fVelocity[2] = 268.328157
set_entvar(id, var_velocity, fVelocity)
return HC_SUPERCEDE
}
}
}
return HC_CONTINUE
}