Страница 1 от 1
MultiJumps [ReAPI]
Публикувано на: 07 Фев 2018, 18:00
от Nikolow
Автор:
Описание:
Добавя extra jumps при скок, използвайки ReAPI.
Добре познатият ни multijumps плъгин.
Формула:
Нормален скок + mj_extra_jumps = брой скоци
API:
give_user_multijump(index) - дава на играч mutli jump
remove_user_multijump(index) - премахва на играча multi jump
Смятам излишно правенето на цял .inc файл заради 2 натива, така че добавете най-отгоре в плъгина, в който ще го ползвате следното:
Код за потвърждение: Избери целия код
native give_user_multijump(index);
native remove_user_multijump(index);
Изисквания:
Cvars:
- mj_give_all_multijump "1" ; 1/0 - дали да дава на всички multijump
- mj_extra_jumps "1" ; брой допълнителни скоци
MultiJumps [ReAPI]
Публикувано на: 21 Юни 2022, 11:02
от Kobra
Can someone add flag support or is there any other multijump plugin with flag support?
MultiJumps [ReAPI]
Публикувано на: 22 Юни 2022, 15:46
от Radeon
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
}
MultiJumps [ReAPI]
Публикувано на: 22 Юни 2022, 20:25
от Lethality
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <reapi>
new g_iJumps[MAX_PLAYERS + 1], bool:bGiveMultiJump[MAX_PLAYERS + 1];
enum _:Cvars
{
MJ_ENABLE,
MJ_COUNT,
MJ_FLAG[2]
};
new g_pCvar[Cvars];
public plugin_init()
{
register_plugin("Multi-Jumps [ReAPI]", "0.1", "Nikolow")
RegisterHookChain(RG_CBasePlayer_Jump, "Fw_PlayerJump_Pre", .post = false)
bind_pcvar_num(create_cvar("mj_give_all_multijump", "1"), g_pCvar[MJ_ENABLE]);
bind_pcvar_num(create_cvar("mj_extra_jumps", "1"), g_pCvar[MJ_COUNT]);
bind_pcvar_string(create_cvar("mj_flag", "c"), g_pCvar[MJ_FLAG], charsmax(g_pCvar[MJ_FLAG]));
}
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
if(!has_flag(id, g_pCvar[MJ_FLAG]))
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)
{
g_iJumps[id] = 0
return HC_CONTINUE
}
if (get_pcvar_num(g_pCvar[MJ_ENABLE]) || bGiveMultiJump[id])
{
if (++g_iJumps[id] <= get_pcvar_num(g_pCvar[MJ_COUNT]))
{
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
}
mj_flag "c" (ADMIN_KICK) Change the flag letter if you want, by default now is "c"