public plugin_init()
{
register_plugin("Wp knockback","1.0","unknow")
register_event("CurWeapon","client_WeapThink","be","1=1")
register_cvar("amx_awp_force","200")
register_cvar("amx_deagle_force","200")
register_cvar("amx_g3sg1_force","200")
register_cvar("amx_m3_force","200")
register_cvar("amx_sg550_force","200")
register_cvar("amx_xm1014_force","200")
// Start knockback cvars for specific weaps
register_cvar("amx_awp_kb","1")
register_cvar("amx_deagle_kb","1")
register_cvar("amx_g3sg1_kb","1")
register_cvar("amx_m3_kb","1")
register_cvar("amx_sg550_kb","1")
register_cvar("amx_xm1014_kb","1")
register_menucmd(register_menuid("\yKnockback Config Menu:"), 1023, "cmd_config_menu")
register_clcmd("amx_kbmenu","show_config_menu",ACCESS_LEVEL,"- Config Menu for knockback")
register_clcmd("kbmodmenu","show_config_menu",ACCESS_LEVEL,"- Config Menu for knockback")
}
public plugin_modules() require_module("Engine")
public client_WeapThink(id)
{
new temp[2]
new usersweapon = get_user_weapon(id, temp[0], temp[1])
if(is_user_alive(id))
{
if(get_user_button(id)&IN_ATTACK) {
switch(usersweapon)
{
case CSW_AWP:
{
// Check if knockback is enabled for awp
if(get_cvar_num("amx_awp_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_awp_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
case CSW_DEAGLE:
{
// Check if knockback is enabled for deagle
if(get_cvar_num("amx_deagle_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_deagle_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
case CSW_G3SG1:
{
// Check if knockback is enabled for g3sg1
if(get_cvar_num("amx_g3sg1_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_g3sg1_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
case CSW_M3:
{
// Check if knockback is enabled for m3
if(get_cvar_num("amx_m3_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_m3_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
case CSW_SG550:
{
// Check if knockback is enabled for sg550
if(get_cvar_num("amx_sg550_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_sg550_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
case CSW_XM1014:
{
// Check if knockback is enabled for xm1014
if(get_cvar_num("amx_xm1014_kb"))
{
new Float:PlayerVelocity[3]
VelocityByAim(id, -get_cvar_num("amx_xm1014_force"), PlayerVelocity)
entity_set_vector(id, EV_VEC_velocity, PlayerVelocity)
}
}
}
}
}
return PLUGIN_CONTINUE
}
public show_config_menu(id)
{
if(!(get_user_flags(id)&ACCESS_LEVEL))
return PLUGIN_HANDLED
new szMenuBody[256]
new keys
new len = format(szMenuBody,255,"\yKnockback Config Menu:^n")
len += format(szMenuBody[len],255-len,"^n\w1. AWP \R\r%s",(get_cvar_num("amx_awp_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n\w2. Deagle \R\r%s",(get_cvar_num("amx_deagle_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n\w3. G3SG1 \R\r%s",(get_cvar_num("amx_g3sg1_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n\w4. M3 \R\r%s",(get_cvar_num("amx_m3_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n\w5. SG550 \R\r%s",(get_cvar_num("amx_sg550_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n\w6. XM1014 \R\r%s",(get_cvar_num("amx_xm1014_kb")==1) ? "ON" : "OFF")
len += format(szMenuBody[len],255-len,"^n^n\w0. Exit")
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<9)
show_menu(id,keys,szMenuBody,-1)
return PLUGIN_HANDLED
}
public cmd_config_menu(id,key)
{
switch(key)
{
case 0:
{
set_cvar_num("amx_awp_kb",(get_cvar_num("amx_awp_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
case 1:
{
set_cvar_num("amx_deagle_kb",(get_cvar_num("amx_deagle_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
case 2:
{
set_cvar_num("amx_g3sg1_kb",(get_cvar_num("amx_g3sg1_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
case 3:
{
set_cvar_num("amx_m3_kb",(get_cvar_num("amx_m3_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
case 4:
{
set_cvar_num("amx_sg550_kb",(get_cvar_num("amx_sg550_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
case 5:
{
set_cvar_num("amx_xm1014_kb",(get_cvar_num("amx_xm1014_kb") == 1) ? 0 : 1)
show_config_menu(id)
}
}
return PLUGIN_HANDLED
}