Raised This Month: $32 Target: $400
 8% 

[REQ] Need help with ZP Knife Menu plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
stekiwnl
Junior Member
Join Date: May 2022
Old 07-06-2022 , 05:07   [REQ] Need help with ZP Knife Menu plugin
Reply With Quote #1

Hello,
Can you help me with knife menu, i like to disable knockback and whatever it is:
When i hit zombie with knife it bounce in the air, i like to remove that, can you help me?
Check the video to see what im talking about example
Code:
#include <amxmodx>

#include <fakemeta>

#include <fun> 

#include <engine> 

#include <hamsandwich>

#include <zombieplague>




#define PLUGIN    "ZP knife menu"

#define VERSION    "1.0"

#define AUTHOR    "Mohamed"


#define VIP ADMIN_LEVEL_H
#define ADMIN_FLAG ADMIN_BAN

#define SVIP ADMIN_LEVEL_G
#define BOSS ADMIN_PASSWORD
#define MAXPLAYERS 32

#define ID_FBURN1	(taskid - 100)

#define ID_FBURN2	(taskid - 100)

#define ID_FBURN3	(taskid - 100)

#define ID_FBURN4	(taskid - 100)

#define ID_FBURN5	(taskid - 100)

#define ID_FBURN6	(taskid - 100)

#define ID_FBURN7	(taskid - 100)



new			g_burning1[33],
			g_burning2[33],
                        g_burning3[33],
                        g_burning4[33],
                        g_burning5[33],
                        g_burning6[33],
                        g_burning7[33],
			g_sprite1,
			g_sprite2,
                        g_sprite3,
                        g_sprite4,
                        g_sprite5,
                        g_sprite6,
                        g_sprite7
   


new combat_v_model[] = "models/zp_knife_menu/v_combat_knife.mdl"

new combat_p_model[] = "models/zp_knife_menu/p_combat_knife.mdl"



new strong_v_model[] = "models/zp_knife_menu/v_strong_knife.mdl"

new strong_p_model[] = "models/zp_knife_menu/p_strong_knife.mdl"



new axe_v_model[] = "models/zp_knife_menu/v_axe_knife.mdl"	

new axe_p_model[] = "models/zp_knife_menu/p_axe_knife.mdl"	



new katana_v_model[] = "models/zp_knife_menu/v_warhammer.mdl"	

new katana_p_model[] = "models/zp_knife_menu/p_warhammer.mdl"



new hammer_v_model[] = "models/zp_knife_menu/v_warhammer_storm.mdl"	

new hammer_p_model[] = "models/zp_knife_menu/p_warhammer_storm.mdl"	



new thanatos_v_model[] = "models/zp_knife_menu/v_warhammer_ice.mdl"	

new thanatos_p_model[] = "models/zp_knife_menu/p_warhammer_ice.mdl"



new boss_v_model[] = "models/zp_knife_menu/v_boss_hammer.mdl"	

new boss_p_model[] = "models/zp_knife_menu/p_boss_hammer.mdl"



new sur_v_model[] = "models/zp_knife_menu/v_sur_hammer.mdl"	

new sur_p_model[] = "models/zp_knife_menu/p_sur_hammer.mdl"




const m_pPlayer = 41 

const m_flNextPrimaryAttack = 46 

const m_flNextSecondaryAttack = 47 

const m_flTimeWeaponIdle = 48 



new g_hasSpeed[33], SayText

new bool:g_WasShowed[MAXPLAYERS + 1]

new g_knife_combat[33], cvar_knife_combat_jump, cvar_knife_combat_spd, cvar_knife_combat_dmg, cvar_knife_combat_knock, cvar_knife_combat_spd_attack2

new g_knife_strong[33], cvar_knife_strong_jump, cvar_knife_strong_spd, cvar_knife_strong_dmg, cvar_knife_strong_knock, cvar_knife_strong_spd_attack2

new g_knife_axe[33], cvar_knife_axe_jump, cvar_knife_axe_spd, cvar_knife_axe_dmg, cvar_knife_axe_knock, cvar_knife_axe_spd_attack2

new g_knife_katana[33], cvar_knife_katana_jump, cvar_knife_katana_spd, cvar_knife_katana_dmg, cvar_knife_katana_knock, cvar_knife_katana_spd_attack2

new g_knife_hammer[33], cvar_knife_hammer_jump, cvar_knife_hammer_spd, cvar_knife_hammer_dmg, cvar_knife_hammer_knock, cvar_hammer_spd_attack2

new g_knife_thanatos[33], cvar_knife_thanatos_jump, cvar_knife_thanatos_spd, cvar_knife_thanatos_dmg, cvar_knife_thanatos_knock, cvar_thanatos_spd_attack2

new g_knife_boss[33], cvar_knife_boss_jump, cvar_knife_boss_spd, cvar_knife_boss_dmg, cvar_knife_boss_knock, cvar_boss_spd_attack2

new g_knife_sur[33], cvar_knife_sur_jump, cvar_knife_sur_spd, cvar_knife_sur_dmg, cvar_knife_sur_knock, cvar_sur_spd_attack2



new const g_sound_knife[] = { "items/gunpickup2.wav" }



new const combat_sounds[][] =

{

	"zp_knife_menu/cabret_deploy.wav",

	"zp_knife_menu/cabret_hit.wav"	,

	"zp_knife_menu/cabret_hit.wav"	,

	"zp_knife_menu/cabret_hitwall.wav",

	"zp_knife_menu/cabret_slash.wav",

	"zp_knife_menu/cabret_stab.wav"

}



new const strong_sounds[][] =

{

	"zp_knife_menu/katana_deploy.wav",

	"zp_knife_menu/katana_hit.wav",

	"zp_knife_menu/katana_hit.wav",

	"zp_knife_menu/katana_hitwall.wav",

	"zp_knife_menu/katana_slash.wav",

	"zp_knife_menu/katana_stab.wav"

}



new const axe_sounds[][] =

{

	"zp_knife_menu/thanatos_deploy.wav",

	"zp_knife_menu/thanatos_hit.wav",

	"zp_knife_menu/thanatos_hit.wav",

	"zp_knife_menu/thanatos_hitwall.wav",

	"zp_knife_menu/thanatos_slash.wav",

	"zp_knife_menu/thanatos_stab.wav"

}



new const katana_sounds[][] =

{

	"zp_knife_menu/hammer_deploy.wav",

	"zp_knife_menu/hammer_hit.wav",

	"zp_knife_menu/hammer_hit.wav",

	"zp_knife_menu/hammer_hitwall.wav",

	"zp_knife_menu/hammer_slash.wav",

	"zp_knife_menu/hammer_stab.wav"

}



new const hammer_sounds[][] =

{

	"zp_knife_menu/warhammer_deploy.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hitwall.wav",

	"zp_knife_menu/warhammer_slash.wav",

	"zp_knife_menu/warhammer_stab.wav"

}



new const thanatos_sounds[][] =

{

	"zp_knife_menu/warhammer_deploy.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hitwall.wav",

	"zp_knife_menu/warhammer_slash.wav",

	"zp_knife_menu/warhammer_stab.wav"

}


new const boss_sounds[][] =

{

	"zp_knife_menu/warhammer_deploy.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hitwall.wav",

	"zp_knife_menu/warhammer_slash.wav",

	"zp_knife_menu/warhammer_stab.wav"

}

new const sur_sounds[][] =

{

	"zp_knife_menu/warhammer_deploy.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hit.wav",

	"zp_knife_menu/warhammer_hitwall.wav",

	"zp_knife_menu/warhammer_slash.wav",

	"zp_knife_menu/warhammer_stab.wav"

}


public plugin_init()

{

	register_plugin(PLUGIN , VERSION , AUTHOR);

	register_cvar("zp_addon_knife", VERSION, FCVAR_SERVER);

        SayText = get_user_msgid("SayText")   



 	register_clcmd("say /knife","knife_menu",ADMIN_ALL,"knife_menu")

 	register_clcmd("/knife","knife_menu",ADMIN_ALL,"knife_menu")

	register_clcmd("combat", "give_combat")

	register_clcmd("strong", "give_strong")

	register_clcmd("axe", "give_axe")

	register_clcmd("katana", "give_katana")

	register_clcmd("hammer", "give_hammer")

	register_clcmd("thanatos", "give_thanatos")

        register_clcmd("boss", "give_boss")

        register_clcmd("sur", "give_sur")


	register_event("CurWeapon","checkWeapon","be","1=1");

	register_event("Damage" , "event_Damage" , "b" , "2>0");



	register_forward(FM_PlayerPreThink, "fw_PlayerPreThink");

        register_forward(FM_EmitSound, "CEntity__EmitSound");



	register_message(get_user_msgid("DeathMsg"), "message_DeathMsg");



	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage");

        RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fw_Knife_SecondaryAttack_Post", 1) 



	cvar_knife_combat_jump= register_cvar("zp_knife_combat_jump", "270.0");

	cvar_knife_combat_spd = register_cvar("zp_knife_combat_spd", "310.0");

	cvar_knife_combat_dmg = register_cvar("zp_knife_combat_dmg" , "4.0");

	cvar_knife_combat_knock = register_cvar("zp_knife_combat_knock" , "6.0");

	cvar_knife_combat_spd_attack2 = register_cvar("zp_knife_combat_spd_attack2" , "1.2");



	cvar_knife_strong_jump= register_cvar("zp_knife_strong_jump", "265.0");

	cvar_knife_strong_spd = register_cvar("zp_knife_strong_spd", "255.0");

	cvar_knife_strong_dmg = register_cvar("zp_knife_strong_dmg" , "12.0");

	cvar_knife_strong_knock = register_cvar("zp_knife_strong_knock" , "7.0");

	cvar_knife_strong_spd_attack2 = register_cvar("zp_knife_strong_spd_attack2" , "1.6");



	cvar_knife_axe_jump= register_cvar("zp_knife_axe_jump", "335.0");

	cvar_knife_axe_spd = register_cvar("zp_knife_axe_spd", "250.0");

	cvar_knife_axe_dmg = register_cvar("zp_knife_axe_dmg" , "5.0");

	cvar_knife_axe_knock = register_cvar("zp_knife_axe_knock" , "6.0");

	cvar_knife_axe_spd_attack2 = register_cvar("zp_knife_axe_spd_attack2" , "1.4");



	cvar_knife_katana_jump= register_cvar("zp_knife_katana_jump", "275.0");

	cvar_knife_katana_spd = register_cvar("zp_knife_katana_spd", "265.0");

	cvar_knife_katana_dmg = register_cvar("zp_knife_katana_dmg" , "5.0");

	cvar_knife_katana_knock = register_cvar("zp_knife_katana_knock" , "15.0");

	cvar_knife_katana_spd_attack2 = register_cvar("zp_knife_katana_spd_attack2" , "1.2");



	cvar_knife_hammer_jump= register_cvar("zp_knife_hammer_jump", "335.0");

	cvar_knife_hammer_spd= register_cvar("zp_knife_hammer_spd", "315.0");

	cvar_knife_hammer_dmg = register_cvar("zp_knife_hammer_dmg" , "15.0");

	cvar_knife_hammer_knock = register_cvar("zp_knife_hammer_knock" , "15.0");

	cvar_hammer_spd_attack2 = register_cvar("zp_knife_hammer_spd_attack2" , "1.8");



	cvar_knife_thanatos_jump= register_cvar("zp_knife_thanatos_jump", "385.0");

	cvar_knife_thanatos_spd= register_cvar("zp_knife_thanatos_spd", "320.0");

	cvar_knife_thanatos_dmg = register_cvar("zp_knife_thanatos_dmg" , "17.0");

	cvar_knife_thanatos_knock = register_cvar("zp_knife_thanatos_knock" , "17.0");

	cvar_thanatos_spd_attack2 = register_cvar("zp_knife_thanatos_spd_attack2" , "1.8");


        cvar_knife_boss_jump= register_cvar("zp_knife_boss_jump", "400.0");

 	cvar_knife_boss_spd= register_cvar("zp_knife_boss_spd", "350.0");

	cvar_knife_boss_dmg = register_cvar("zp_knife_boss_dmg" , "20.0");

	cvar_knife_boss_knock = register_cvar("zp_knife_boss_knock" , "120.0");

	cvar_boss_spd_attack2 = register_cvar("zp_knife_boss_spd_attack2" , "2.0");
	

        cvar_knife_sur_jump= register_cvar("zp_knife_sur_jump", "380.0");

 	cvar_knife_sur_spd= register_cvar("zp_knife_sur_spd", "370.0");

	cvar_knife_sur_dmg = register_cvar("zp_knife_sur_dmg" , "22.0");

	cvar_knife_sur_knock = register_cvar("zp_knife_sur_knock" , "100.0");

	cvar_sur_spd_attack2 = register_cvar("zp_knife_sur_spd_attack2" , "2.2");


    	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

}


public zp_round_started()
{
    for(new id = 1; id <=get_maxplayers(); id++)
    {
        if(zp_get_user_survivor(id))
        set_task(1.0, "task_give", id+45634)
    }
}

public task_give(id)
{
    id -= 45634
    if(zp_get_user_survivor(id) && is_user_alive(id))
    {
		give_sur(id)
    }
}  


public zp_round_ended()
{
    for(new id = 1; id <=get_maxplayers(); id++)
    {
        if(zp_get_user_survivor(id))
        set_task(1.0, "task_remove", id-45634)
    }
}

public task_remove(id)
{
    id -= -45634
    if(zp_get_user_survivor(id))
    {
		remove_sur(id)
    }
}  

public client_connect(id)

{

	g_knife_combat[id] = false

	g_knife_strong[id] = false

	g_knife_axe[id] = false

	g_knife_katana[id] = false

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false

        g_knife_boss[id] = false

        g_knife_sur[id] = false

	g_hasSpeed[id] = false

}



public client_disconnect(id)

{

	g_knife_combat[id] = false

	g_knife_strong[id] = false

	g_knife_axe[id] = false

	g_knife_katana[id] = false

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false

        g_knife_boss[id] = false

        g_knife_sur[id] = false

	g_hasSpeed[id] = false

}



public plugin_precache()

{

	precache_model(combat_v_model)

	precache_model(combat_p_model)

	precache_model(strong_v_model)

	precache_model(strong_p_model)

	precache_model(axe_v_model)

	precache_model(axe_p_model)

	precache_model(katana_v_model)

	precache_model(katana_p_model)

	precache_model(hammer_v_model)

	precache_model(hammer_p_model)

	precache_model(thanatos_p_model)

	precache_model(thanatos_v_model)

        precache_model(boss_p_model)

	precache_model(boss_v_model)

        precache_model(sur_p_model)

	precache_model(sur_v_model)


	precache_sound(g_sound_knife)



	for(new i = 0; i < sizeof combat_sounds; i++)

		precache_sound(combat_sounds[i])



	for(new i = 0; i < sizeof strong_sounds; i++)

		precache_sound(strong_sounds[i])



	for(new i = 0; i < sizeof axe_sounds; i++)

		precache_sound(axe_sounds[i])  



	for(new i = 0; i < sizeof katana_sounds; i++)

		precache_sound(katana_sounds[i])



	for(new i = 0; i < sizeof hammer_sounds; i++)

		precache_sound(hammer_sounds[i])



	for(new i = 0; i < sizeof thanatos_sounds; i++)

		precache_sound(thanatos_sounds[i])


        for(new i = 0; i < sizeof boss_sounds; i++)

		precache_sound(boss_sounds[i])

        for(new i = 0; i < sizeof sur_sounds; i++)

		precache_sound(sur_sounds[i])


        g_sprite1 = precache_model("sprites/zp_knife_menu/1.spr")
	
	g_sprite2 = precache_model("sprites/zp_knife_menu/2.spr")

        g_sprite3 = precache_model("sprites/zp_knife_menu/3.spr")

        g_sprite4 = precache_model("sprites/zp_knife_menu/4.spr")

        g_sprite5 = precache_model("sprites/zp_knife_menu/5.spr")

        g_sprite6 = precache_model("sprites/zp_knife_menu/6.spr") 

        g_sprite7 = precache_model("sprites/zp_knife_menu/7.spr") 


}



public event_round_start(id)

{

    	for (new i; i < MAXPLAYERS + 1; i++)

        	g_WasShowed[i] = false

}



public knife_menu(id)

{


	if(is_user_alive(id) && !zp_get_user_zombie(id) && !zp_get_user_survivor(id))

	{

		my_menu(id)

	}



	return PLUGIN_HANDLED

}



public my_menu(id)

{

	new menu = menu_create("\w|\r**\w[ZP] \rNEW Knife \yMenu\r**\w|^n\w|\r**\wBy \yMohamed :D\r**\w|^n", "menu_handler");

	menu_additem(menu, "\r|\wCombat \dKnife\r| \w[\wSpeed]", "1", 0);

	menu_additem(menu, "\r|\wStrong \dKnife\r| \w[\wDamage]", "2", 0);

	menu_additem(menu, "\r|\wAxe \dKnife\r| \w[\wJump]^n", "3", 0);


        if(get_user_flags(id) & VIP)
	menu_additem(menu, "\r|\wWar \dHammer\r| \r[\wVip \yx2\r]", "4", 0);

        else
        menu_additem(menu, "\r|\wWar \dHammer\r| \r[\wVIP \yCost - 2 boost\r]", "4", 0);
 
        if(get_user_flags(id) & SVIP)
	menu_additem(menu, "\r|\wStorm \dHammer\r| \r[\wSvip \yx4\r]", "5", 0);

        else
        menu_additem(menu, "\r|\wStorm \dHammer\r| \r[\wSVIP \yCost - 4 boost\r]", "5", 0);

        if(get_user_flags(id) & ADMIN_FLAG)
	menu_additem(menu, "\r|\wIce \dHammer\r| \r[\wADMIN \yx6\r]^n", "6", 0);

        else
        menu_additem(menu, "\r|\wIce \dHammer\r| \r[\wAdmin \yCost - 6 boost\r]", "6", 0);   

        if(get_user_flags(id) & BOSS)
	menu_additem(menu, "\r|\wBoss \dHammer\r| \r[\wOwner \yFull Skill xXx\r]", "7", 0);
        
        else
        menu_additem(menu, "\r|\wBoss \dHammer\r| \r[\wOWNER \yCost - 20 Euro\r]", "7", 0);   
 
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

    

	menu_display(id, menu, 0);    

} 



public menu_handler(id, menu, item)

{

	if( item == MENU_EXIT )

	{

       		menu_destroy(menu);

        	return PLUGIN_HANDLED;    

	}

    

	new data[7], iName[64];

	new access, callback;

    

	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

    

	new key = str_to_num(data);

    

	switch(key)

	{

        	case 1:

        	{

			give_combat(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

		case 2:

		{

			give_strong(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

		case 3:

		{

			give_axe(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

		case 4:

		{

			give_katana(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

		case 5:

		{

			give_hammer(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

		case 6:

		{

			give_thanatos(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

                case 7:

		{

			give_boss(id)

			menu_destroy(menu);

			return PLUGIN_HANDLED

		}

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED

}



public give_combat(id)

{

	g_knife_combat[id] = true	

	g_knife_strong[id] = false

	g_knife_axe[id] = false	

	g_knife_katana[id] = false	

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false

        g_knife_boss[id] = false

        g_knife_sur[id] = false

	g_hasSpeed[id] =  true

	g_WasShowed[id] = true



	engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_strong(id)

{

	g_knife_combat[id] = false	

	g_knife_strong[id] = true	

	g_knife_axe[id] = false

	g_knife_katana[id] = false	

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false

        g_knife_boss[id] = false
    
        g_knife_sur[id] = false

	g_hasSpeed[id] = true

	g_WasShowed[id] = true



	engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_axe(id)

{

	g_knife_combat[id] = false	

	g_knife_strong[id] = false	

	g_knife_axe[id] = true

	g_knife_katana[id] = false	

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false
        
        g_knife_sur[id] = false

        g_knife_boss[id] = false

	g_hasSpeed[id] = true

	g_WasShowed[id] = true



	engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_katana(id)


	if (get_user_flags(id) & VIP)

{

	g_knife_combat[id] = false	

	g_knife_strong[id] = false	

	g_knife_axe[id] = false

	g_knife_katana[id] = true	

	g_knife_hammer[id] = false

	g_knife_thanatos[id] = false

        g_knife_boss[id] = false
      
        g_knife_sur[id] = false

	g_hasSpeed[id] = true

	g_WasShowed[id] = true



	engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}





public give_hammer(id)



	if (get_user_flags(id) & SVIP)

	{

		g_knife_combat[id] = false	

		g_knife_strong[id] = false	

		g_knife_axe[id] = false

		g_knife_katana[id] = false

		g_knife_hammer[id] = true

		g_knife_thanatos[id] = false

                g_knife_boss[id] = false
             
                g_knife_sur[id] = false

		g_hasSpeed[id] =  true

		g_WasShowed[id] = true



		engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

	}



public give_thanatos(id)


	if (get_user_flags(id) & ADMIN_FLAG)

	{

		g_knife_combat[id] = false	

		g_knife_strong[id] = false	

		g_knife_axe[id] = false

		g_knife_katana[id] = false

		g_knife_hammer[id] = false

		g_knife_thanatos[id] = true

                g_knife_boss[id] = false
               
                g_knife_sur[id] = false

		g_hasSpeed[id] =  true

		g_WasShowed[id] = true



		engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

	}


public give_boss(id)


       if (get_user_flags(id) & BOSS)

       {

		g_knife_combat[id] = false	

		g_knife_strong[id] = false	

		g_knife_axe[id] = false

		g_knife_katana[id] = false

		g_knife_hammer[id] = false

		g_knife_thanatos[id] = false

                g_knife_boss[id] = true

                g_knife_sur[id] = false
 
		g_hasSpeed[id] =  true

		g_WasShowed[id] = true



		engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
       }
	

public give_sur(id)

{


		g_knife_combat[id] = false	

		g_knife_strong[id] = false	

		g_knife_axe[id] = false

		g_knife_katana[id] = false

		g_knife_hammer[id] = false

		g_knife_thanatos[id] = false

                g_knife_boss[id] = false

                g_knife_sur[id] = true
 
		g_hasSpeed[id] =  true

		g_WasShowed[id] = true



		engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

	

}


public remove_sur(id)

{


		g_knife_combat[id] = true	

		g_knife_strong[id] = false	

		g_knife_axe[id] = false

		g_knife_katana[id] = false

		g_knife_hammer[id] = false

		g_knife_thanatos[id] = false

                g_knife_boss[id] = false
 
                g_knife_sur[id] = false

		g_hasSpeed[id] =  false

		g_WasShowed[id] = false



		engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

	

}

public checkWeapon(id)

{

	new plrWeapId

    

	plrWeapId = get_user_weapon(id)

    

	if (plrWeapId == CSW_KNIFE && (g_knife_combat[id] || g_knife_strong[id] || g_knife_axe[id] || g_knife_katana[id] || g_knife_hammer[id]|| g_knife_thanatos[id] || g_knife_boss[id] || g_knife_sur[id]))

	{

		checkModel(id)

	}

}



public checkModel(id)

{

	if (zp_get_user_zombie(id))

		return PLUGIN_HANDLED

    

	if (g_knife_combat[id])

	{

		set_pev(id, pev_viewmodel2, combat_v_model)

		set_pev(id, pev_weaponmodel2, combat_p_model)

	}



	if (g_knife_strong[id])

	{

		set_pev(id, pev_viewmodel2, strong_v_model)

		set_pev(id, pev_weaponmodel2, strong_p_model)

	}



	if (g_knife_axe[id])

	{

		set_pev(id, pev_viewmodel2, axe_v_model)

		set_pev(id, pev_weaponmodel2, axe_p_model)

	}



	if (g_knife_katana[id])

	{

		set_pev(id, pev_viewmodel2, katana_v_model)

		set_pev(id, pev_weaponmodel2, katana_p_model)

	}



	if (g_knife_hammer[id])

	{

		set_pev(id, pev_viewmodel2, hammer_v_model)

		set_pev(id, pev_weaponmodel2, hammer_p_model)

	}

	if (g_knife_thanatos[id])

	{

		set_pev(id, pev_viewmodel2, thanatos_v_model)

		set_pev(id, pev_weaponmodel2, thanatos_p_model)

	}

        if (g_knife_boss[id])

	{

		set_pev(id, pev_viewmodel2, boss_v_model)

		set_pev(id, pev_weaponmodel2, boss_p_model)

	}

        if (g_knife_sur[id])

	{

		set_pev(id, pev_viewmodel2, sur_v_model)

		set_pev(id, pev_weaponmodel2, sur_p_model)

	}


	return PLUGIN_HANDLED

}


public CEntity__EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)

{

    if (!is_user_connected(id)) 

        return HAM_IGNORED

    

    if (zp_get_user_zombie(id)) 

        return HAM_IGNORED

    

    if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')

    {

        if (sample[14] == 'd') 

        {

            if(g_knife_combat[id])

                emit_sound(id, channel, combat_sounds[0], volume, attn, flags, pitch)

            if(g_knife_strong[id])

                emit_sound(id, channel, strong_sounds[0], volume, attn, flags, pitch)

            if(g_knife_axe[id])

                emit_sound(id, channel, axe_sounds[0], volume, attn, flags, pitch)

            if(g_knife_katana[id])

                emit_sound(id, channel, katana_sounds[0], volume, attn, flags, pitch)

            if(g_knife_hammer[id])

                emit_sound(id, channel, hammer_sounds[0], volume, attn, flags, pitch)

            if(g_knife_thanatos[id])

                emit_sound(id, channel, thanatos_sounds[0], volume, attn, flags, pitch)

            if(g_knife_boss[id])

                emit_sound(id, channel, boss_sounds[0], volume, attn, flags, pitch)

            if(g_knife_sur[id])

                emit_sound(id, channel, sur_sounds[0], volume, attn, flags, pitch)

        }

        else if (sample[14] == 'h')

        {

            if (sample[17] == 'w') 

            {

                if(g_knife_combat[id])

                    emit_sound(id, channel, combat_sounds[3], volume, attn, flags, pitch)

                if(g_knife_strong[id])

                    emit_sound(id, channel, strong_sounds[3], volume, attn, flags, pitch)

                if(g_knife_axe[id])

                    emit_sound(id, channel, axe_sounds[3], volume, attn, flags, pitch)

                if(g_knife_katana[id] )

                    emit_sound(id, channel, katana_sounds[3], volume, attn, flags, pitch)

                if(g_knife_hammer[id])

                    emit_sound(id, channel, hammer_sounds[3], volume, attn, flags, pitch)

                if(g_knife_thanatos[id])

                    emit_sound(id, channel, thanatos_sounds[3], volume, attn, flags, pitch)

                if(g_knife_boss[id])

                    emit_sound(id, channel, boss_sounds[3], volume, attn, flags, pitch)

                if(g_knife_sur[id])

                    emit_sound(id, channel, sur_sounds[3], volume, attn, flags, pitch)


            }

            else

            {

                if(g_knife_combat[id])

                    emit_sound(id, channel, combat_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_strong[id])

                    emit_sound(id, channel, strong_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_axe[id])

                    emit_sound(id, channel, axe_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_katana[id])

                    emit_sound(id, channel, katana_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_hammer[id])

                    emit_sound(id, channel, hammer_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_thanatos[id])

                    emit_sound(id, channel, thanatos_sounds[random_num(1,2)], volume, attn, flags, pitch)

                if(g_knife_boss[id])

                    emit_sound(id, channel, boss_sounds[random_num(1,2)], volume, attn, flags, pitch)
               
                if(g_knife_sur[id])

                    emit_sound(id, channel, sur_sounds[random_num(1,2)], volume, attn, flags, pitch)


            }

        }

        else

        {

            if (sample[15] == 'l') 

            {

                if(g_knife_combat[id])

                    emit_sound(id, channel, combat_sounds[4], volume, attn, flags, pitch)

                if(g_knife_strong[id])

                    emit_sound(id, channel, strong_sounds[4], volume, attn, flags, pitch)

                if(g_knife_axe[id])

                    emit_sound(id, channel, axe_sounds[4], volume, attn, flags, pitch)

                if(g_knife_katana[id])

                    emit_sound(id, channel, katana_sounds[4], volume, attn, flags, pitch)

                if(g_knife_hammer[id])

                    emit_sound(id, channel, hammer_sounds[4], volume, attn, flags, pitch)

                if(g_knife_thanatos[id])

                    emit_sound(id, channel, thanatos_sounds[4], volume, attn, flags, pitch)

                if(g_knife_boss[id])

                    emit_sound(id, channel, boss_sounds[4], volume, attn, flags, pitch)

           
                if(g_knife_sur[id])

                    emit_sound(id, channel, sur_sounds[4], volume, attn, flags, pitch)

            }

            else 

            {

                if(g_knife_combat[id])

                    emit_sound(id, channel, combat_sounds[5], volume, attn, flags, pitch)

                if(g_knife_strong[id] )

                    emit_sound(id, channel, strong_sounds[5], volume, attn, flags, pitch)

                if(g_knife_axe[id] )

                    emit_sound(id, channel, axe_sounds[5], volume, attn, flags, pitch)

                if(g_knife_katana[id])

                    emit_sound(id, channel, katana_sounds[5], volume, attn, flags, pitch)

                if(g_knife_hammer[id])

                    emit_sound(id, channel, hammer_sounds[5], volume, attn, flags, pitch)

                if(g_knife_thanatos[id])

                    emit_sound(id, channel, thanatos_sounds[5], volume, attn, flags, pitch)

                if(g_knife_boss[id])

                    emit_sound(id, channel, boss_sounds[5], volume, attn, flags, pitch)

                if(g_knife_sur[id])

                    emit_sound(id, channel, sur_sounds[5], volume, attn, flags, pitch)


            }

        }

        return HAM_SUPERCEDE

    }

    return HAM_IGNORED

}



public message_DeathMsg(msg_id, msg_dest, id)

{

	static szTruncatedWeapon[33], iattacker, ivictim

	

	get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))

	

	iattacker = get_msg_arg_int(1)

	ivictim = get_msg_arg_int(2)

	

	if(!is_user_connected(iattacker) || iattacker == ivictim)

		return PLUGIN_CONTINUE



	if (!zp_get_user_zombie(iattacker))

	{

		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_combat[iattacker])

				set_msg_arg_string(4, "Combat knife")

		}

	

		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_strong[iattacker])

				set_msg_arg_string(4, "Strong knife")

		}



		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_axe[iattacker])

				set_msg_arg_string(4, "Axe knife")

		}



		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_katana[iattacker])

				set_msg_arg_string(4, "Katana knife")

		}



		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_hammer[iattacker])

				set_msg_arg_string(4, "Ice knife")

		}

		if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_thanatos[iattacker])

				set_msg_arg_string(4, "Scythe knife")

		}

                if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_boss[iattacker])

				set_msg_arg_string(4, "Fire knife")

		}

                
                if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

		{

			if(g_knife_sur[iattacker])

				set_msg_arg_string(4, "Sur knife")

		}

	}

	return PLUGIN_CONTINUE

}



stock print_col_chat(const id, const input[], any:...)  

{  

	new count = 1, players[32];  

    	static msg[191];  

    	vformat(msg, 190, input, 3);  

    	replace_all(msg, 190, "!g", "^4"); // Green Color  

    	replace_all(msg, 190, "!y", "^1"); // Default Color 

    	replace_all(msg, 190, "!t", "^3"); // Team Color  

    	if (id) players[0] = id; else get_players(players, count, "ch");  

    	{  

        	for ( new i = 0; i < count; i++ )  

        	{  

            		if ( is_user_connected(players[i]) )  

            		{  

                		message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);  

                		write_byte(players[i]);  

                		write_string(msg);  

                		message_end();  

            		}  

        	}  

    	}  

}   



public fw_PlayerPreThink(id)

{

	if(!is_user_alive(id) || zp_get_user_zombie(id))

		return FMRES_IGNORED



	new temp[2], weapon = get_user_weapon(id, temp[0], temp[1])



	if (weapon == CSW_KNIFE && g_knife_combat[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_combat_spd))

	}



	if(weapon == CSW_KNIFE && g_knife_combat[id])        

		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_combat_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	if (weapon == CSW_KNIFE && g_knife_strong[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_strong_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_strong_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}

	if (weapon == CSW_KNIFE && g_knife_axe[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_axe_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_axe_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}

	if (weapon == CSW_KNIFE && g_knife_katana[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_katana_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_katana_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}

	if (weapon == CSW_KNIFE && g_knife_hammer[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_hammer_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_hammer_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}

	if (weapon == CSW_KNIFE && g_knife_thanatos[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_thanatos_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_thanatos_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}


        if (weapon == CSW_KNIFE && g_knife_boss[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_boss_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_boss_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}


        if (weapon == CSW_KNIFE && g_knife_sur[id])

	{

		g_hasSpeed[id] = true

		set_pev(id, pev_maxspeed, get_pcvar_float(cvar_knife_sur_spd))



		if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

		{

			new flags = pev(id, pev_flags)

			new waterlvl = pev(id, pev_waterlevel)

			

			if (!(flags & FL_ONGROUND))

				return FMRES_IGNORED



			if (flags & FL_WATERJUMP)

				return FMRES_IGNORED



			if (waterlvl > 1)

				return FMRES_IGNORED

			

			new Float:fVelocity[3]

			pev(id, pev_velocity, fVelocity)

			

			fVelocity[2] += get_pcvar_num(cvar_knife_sur_jump)

			

			set_pev(id, pev_velocity, fVelocity)

			set_pev(id, pev_gaitsequence, 7)

		}

	}


	return FMRES_IGNORED

}  



public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)

{

	if(!is_user_connected(attacker))

		return HAM_IGNORED

	

	if(zp_get_user_zombie(attacker))

		return HAM_IGNORED



	new weapon = get_user_weapon(attacker)



	if (weapon == CSW_KNIFE && g_knife_combat[attacker])

	{	

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_combat_dmg))

	}

	if (weapon == CSW_KNIFE && g_knife_strong[attacker])

	{	

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_strong_dmg))

	}

	if (weapon == CSW_KNIFE && g_knife_axe[attacker])

	{	

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_axe_dmg))

	}

	if (weapon == CSW_KNIFE && g_knife_katana[attacker])

	{	

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_katana_dmg))

	}

		

	if (weapon == CSW_KNIFE && g_knife_hammer[attacker])

	{	 

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_hammer_dmg))

	}

	

	if (weapon == CSW_KNIFE && g_knife_thanatos[attacker])

	{	 

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_thanatos_dmg))

	}


        if (weapon == CSW_KNIFE && g_knife_boss[attacker])

	{	 

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_boss_dmg))

	}


        if (weapon == CSW_KNIFE && g_knife_sur[attacker])

	{	 

		SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_sur_dmg))

	}


        if (weapon == CSW_KNIFE && g_knife_combat[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning1[victim] += 5
			
			set_task(0.1, "Burning1", victim + 100, _, _, "b")
		}
	}


	if (weapon == CSW_KNIFE && g_knife_strong[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning2[victim] += 6
			
			set_task(0.1, "Burning2", victim + 100, _, _, "b")
		}
	}

        
        if (weapon == CSW_KNIFE && g_knife_axe[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning3[victim] += 4
			
			set_task(0.1, "Burning3", victim + 100, _, _, "b")
		}
	}


	if (weapon == CSW_KNIFE && g_knife_katana[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning4[victim] += 7
			
			set_task(0.1, "Burning4", victim + 100, _, _, "b")
		}
	}


        if (weapon == CSW_KNIFE && g_knife_hammer[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning5[victim] += 8
			
			set_task(0.1, "Burning5", victim + 100, _, _, "b")
		}
	}


	if (weapon == CSW_KNIFE && g_knife_thanatos[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning6[victim] += 9
			
			set_task(0.1, "Burning6", victim + 100, _, _, "b")
		}
	}


        if (weapon == CSW_KNIFE && g_knife_boss[attacker])
	{
		if(!task_exists(victim + 100))
		{
			g_burning7[victim] += 11
			
			set_task(0.1, "Burning7", victim + 100, _, _, "b")
		}
	}


	return HAM_IGNORED

}



public fw_Knife_SecondaryAttack_Post(knife) 

{     

    	static id 

    	id = get_pdata_cbase(knife, m_pPlayer, 4) 



    	if(zp_get_user_zombie(id))

		return HAM_IGNORED

    

    	if(is_user_connected(id) && g_knife_combat[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_knife_combat_spd_attack2) 

         

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 

 

    	if(is_user_connected(id) && g_knife_strong[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_knife_strong_spd_attack2) 

        	 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 



    	if(is_user_connected(id) && g_knife_axe[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_knife_axe_spd_attack2) 

        		 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 



    	if(is_user_connected(id) && g_knife_katana[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_knife_katana_spd_attack2) 

        		 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 



    	if(is_user_connected(id) && g_knife_hammer[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_hammer_spd_attack2) 

        	 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 	

	

	if(is_user_connected(id) && g_knife_thanatos[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_thanatos_spd_attack2) 

        	 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 	


        if(is_user_connected(id) && g_knife_boss[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_boss_spd_attack2) 

        	 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 	
   

        if(is_user_connected(id) && g_knife_sur[id]) 

    	{ 

        	static Float:flRate 

        	flRate = get_pcvar_float(cvar_sur_spd_attack2) 

        	 

        	set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4) 

        	set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 

    	} 	


    	return HAM_IGNORED 

} 



public Burning1(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN1, origin)

	flags = pev(ID_FBURN1, pev_flags)

	if ((flags & FL_INWATER) || g_burning1[ID_FBURN1] < 1 || !is_user_alive(ID_FBURN1))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite1)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning1[ID_FBURN1]--

}



public Burning2(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN2, origin)

	flags = pev(ID_FBURN2, pev_flags)

	if ((flags & FL_INWATER) || g_burning2[ID_FBURN2] < 1 || !is_user_alive(ID_FBURN2))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite2)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning2[ID_FBURN2]--

}



public Burning3(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN3, origin)

	flags = pev(ID_FBURN3, pev_flags)

	if ((flags & FL_INWATER) || g_burning3[ID_FBURN3] < 1 || !is_user_alive(ID_FBURN3))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite3)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning3[ID_FBURN3]--

}



public Burning4(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN4, origin)

	flags = pev(ID_FBURN1, pev_flags)

	if ((flags & FL_INWATER) || g_burning4[ID_FBURN4] < 1 || !is_user_alive(ID_FBURN4))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite4)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning4[ID_FBURN1]--

}



public Burning5(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN5, origin)

	flags = pev(ID_FBURN5, pev_flags)

	if ((flags & FL_INWATER) || g_burning5[ID_FBURN5] < 1 || !is_user_alive(ID_FBURN5))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite5)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning5[ID_FBURN5]--


}



public Burning6(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN6, origin)

	flags = pev(ID_FBURN6, pev_flags)

	if ((flags & FL_INWATER) || g_burning6[ID_FBURN6] < 1 || !is_user_alive(ID_FBURN6))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite6)

	write_byte(2) 

	write_byte(200)

	message_end()
	

	g_burning6[ID_FBURN6]--

}


public Burning7(taskid)

{

	static origin[3], flags

	get_user_origin(ID_FBURN7, origin)

	flags = pev(ID_FBURN7, pev_flags)

	if ((flags & FL_INWATER) || g_burning7[ID_FBURN7] < 1 || !is_user_alive(ID_FBURN7))

	{

		remove_task(taskid)

		return

	}

	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

	write_byte(TE_SPRITE)

	write_coord(origin[0]+random_num(-5, 5))

	write_coord(origin[1]+random_num(-5, 5))

	write_coord(origin[2]+random_num(-10, 10))

	write_short(g_sprite7)

	write_byte(2) 

	write_byte(200)

	message_end()
	
	g_burning7[ID_FBURN7]--
}


public event_Damage(id)

{

	new weapon , attacker = get_user_attacker(id , weapon);



	if(!is_user_alive(attacker))

		return PLUGIN_CONTINUE;



	if(weapon == CSW_KNIFE && g_knife_combat[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}



	if(weapon == CSW_KNIFE && g_knife_strong[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}



	if(weapon == CSW_KNIFE && g_knife_axe[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}



	if(weapon == CSW_KNIFE && g_knife_katana[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}



	if(weapon == CSW_KNIFE && g_knife_hammer[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}

	

	if(weapon == CSW_KNIFE && g_knife_thanatos[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}


        if(weapon == CSW_KNIFE && g_knife_boss[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}
      
        if(weapon == CSW_KNIFE && g_knife_sur[attacker])

	{

		new Float:vec[3];

		new Float:oldvelo[3];

		get_user_velocity(id, oldvelo);

		create_velocity_vector(id , attacker , vec);

		vec[0] += oldvelo[0];

		vec[1] += oldvelo[1];

		set_user_velocity(id , vec);

	}


	return PLUGIN_CONTINUE;

}


stock create_velocity_vector(victim,attacker,Float:velocity[3])

{

	if(!zp_get_user_zombie(victim) || !is_user_alive(attacker))

		return 0;



	new Float:vicorigin[3];

	new Float:attorigin[3];

	entity_get_vector(victim   , EV_VEC_origin , vicorigin);

	entity_get_vector(attacker , EV_VEC_origin , attorigin);



	new Float:origin2[3]

	origin2[0] = vicorigin[0] - attorigin[0];

	origin2[1] = vicorigin[1] - attorigin[1];



	new Float:largestnum = 0.0;



	if(floatabs(origin2[0])>largestnum) largestnum = floatabs(origin2[0]);

	if(floatabs(origin2[1])>largestnum) largestnum = floatabs(origin2[1]);



	origin2[0] /= largestnum;

	origin2[1] /= largestnum;



	if (g_knife_combat[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}



	if (g_knife_strong[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}



	if (g_knife_axe[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}



	if (g_knife_katana[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}



	if (g_knife_hammer[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_hammer_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_hammer_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}



	if (g_knife_thanatos[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_thanatos_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_thanatos_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}


        if (g_knife_boss[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_boss_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_boss_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}


        if (g_knife_sur[attacker])

	{

		velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_sur_knock) * 3000) ) / get_entity_distance(victim , attacker);

		velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_sur_knock) * 3000) ) / get_entity_distance(victim , attacker);

	}


	if(velocity[0] <= 20.0 || velocity[1] <= 20.0)

		velocity[2] = random_float(200.0 , 275.0);



	return 1;

}



public client_putinserver(id)

{

	switch(random_num(0, 0))

	{

		case 0:

		{

			g_knife_combat[id] = true

			g_hasSpeed[id] = true

		}



	}

}
stekiwnl is offline
lexzor
Veteran Member
Join Date: Nov 2020
Old 07-06-2022 , 06:09   Re: [REQ] Need help with ZP Knife Menu plugin
Reply With Quote #2

you have cvars for this. just set them to 0.0
lexzor is offline
TribalBlood
Member
Join Date: Oct 2020
Old 07-06-2022 , 06:21   Re: [REQ] Need help with ZP Knife Menu plugin
Reply With Quote #3

PHP Code:
cvar_knife_combat_knock register_cvar("zp_knife_combat_knock" "6.0");

cvar_knife_strong_knock register_cvar("zp_knife_strong_knock" "7.0");

cvar_knife_axe_knock register_cvar("zp_knife_axe_knock" "6.0");

cvar_knife_katana_knock register_cvar("zp_knife_katana_knock" "15.0");

cvar_knife_hammer_knock register_cvar("zp_knife_hammer_knock" "15.0");

cvar_knife_thanatos_knock register_cvar("zp_knife_thanatos_knock" "17.0");

cvar_knife_boss_knock register_cvar("zp_knife_boss_knock" "120.0");

cvar_knife_sur_knock register_cvar("zp_knife_sur_knock" "100.0"); 
Set these to "0.0"
__________________
My Steam Profile

- Online Rarely -
TribalBlood is offline
stekiwnl
Junior Member
Join Date: May 2022
Old 07-06-2022 , 09:13   Re: [REQ] Need help with ZP Knife Menu plugin
Reply With Quote #4

Quote:
Originally Posted by TribalBlood View Post
PHP Code:
cvar_knife_combat_knock register_cvar("zp_knife_combat_knock" "6.0");

cvar_knife_strong_knock register_cvar("zp_knife_strong_knock" "7.0");

cvar_knife_axe_knock register_cvar("zp_knife_axe_knock" "6.0");

cvar_knife_katana_knock register_cvar("zp_knife_katana_knock" "15.0");

cvar_knife_hammer_knock register_cvar("zp_knife_hammer_knock" "15.0");

cvar_knife_thanatos_knock register_cvar("zp_knife_thanatos_knock" "17.0");

cvar_knife_boss_knock register_cvar("zp_knife_boss_knock" "120.0");

cvar_knife_sur_knock register_cvar("zp_knife_sur_knock" "100.0"); 
Set these to "0.0"
Set to 0.0 still the same
stekiwnl is offline
Nutu_
AlliedModders Donor
Join Date: Mar 2016
Location: Germany
Old 07-06-2022 , 12:22   Re: [REQ] Need help with ZP Knife Menu plugin
Reply With Quote #5

change those cvars on your amxx.cfg and restart ur server, it should work!
__________________
a simple act of caring creates an endless ripple.
Nutu_ is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:22.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode