This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

[Knife Menu Save Choice] Scripting help


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
tedaimlocks
Senior Member
Join Date: Jan 2024
Old 02-15-2024 , 15:07   [Knife Menu Save Choice] Scripting help
Reply With Quote #1

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fun> 
#include <engine> 
#include <hamsandwich>
#include <zombieplague>


#define PLUGIN    "[ZP]Knife Menu"
#define VERSION    "2.0"
#define AUTHOR    "tedaimlocks"


#define VIP ADMIN_LEVEL_H
#define PVIP ADMIN_LEVEL_D
#define ADMIN1 ADMIN_BAN
#define HEADADMIN ADMIN_CVAR
#define OWNER ADMIN_RCON
#define MAXPLAYERS 32

#define ID_FBURN5    (taskid - 100)
#define ID_FBURN6    (taskid - 100)
#define ID_FBURN7    (taskid - 100)

        
new                     g_burning5[33],
                        
g_burning6[33],
                        
g_burning7[33],
                        
g_sprite5,
                        
g_sprite6,
                        
g_sprite7
   


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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

new survivor_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_knife1[33], cvar_knife_knife1_jumpcvar_knife_knife1_spdcvar_knife_knife1_dmgcvar_knife_knife1_knockcvar_knife_knife1_spd_attack2

new g_knife_knife2[33], cvar_knife_knife2_jumpcvar_knife_knife2_spdcvar_knife_knife2_dmgcvar_knife_knife2_knockcvar_knife_knife2_spd_attack2

new g_knife_knife3[33], cvar_knife_knife3_jumpcvar_knife_knife3_spdcvar_knife_knife3_dmgcvar_knife_knife3_knockcvar_knife_knife3_spd_attack2

new g_knife_vip[33], cvar_knife_vip_jumpcvar_knife_vip_spdcvar_knife_vip_dmgcvar_knife_vip_knockcvar_knife_vip_spd_attack2

new g_knife_admin[33], cvar_knife_admin_jumpcvar_knife_admin_spdcvar_knife_admin_dmgcvar_knife_admin_knockcvar_admin_spd_attack2

new g_knife_headadmin[33], cvar_knife_headadmin_jumpcvar_knife_headadmin_spdcvar_knife_headadmin_dmgcvar_knife_headadmin_knockcvar_headadmin_spd_attack2

new g_knife_founder[33], cvar_knife_founder_jumpcvar_knife_founder_spdcvar_knife_founder_dmgcvar_knife_founder_knockcvar_founder_spd_attack2

new g_knife_survivor[33], cvar_knife_survivor_jumpcvar_knife_survivor_spdcvar_knife_survivor_dmgcvar_knife_survivor_knockcvar_survivor_spd_attack2



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



new const 
knife1_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 
knife2_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 
knife3_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 
vip_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 
admin_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 
headadmin_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 
founder_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 
survivor_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"VERSIONFCVAR_SERVER);

        
SayText get_user_msgid("SayText")   



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

     
register_clcmd("knife","knife",ADMIN_ALL,"knife")

    
register_clcmd("knife1""give_knife1")

    
register_clcmd("knife2""give_knife2")

    
register_clcmd("knife3""give_knife3")

    
register_clcmd("vip""give_vip")

    
register_clcmd("admin""give_admin")

    
register_clcmd("headadmin""give_headadmin")

        
register_clcmd("founder""give_founder")

        
register_clcmd("survivor""give_survivor")


    
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_knife1_jumpregister_cvar("zp_knife_knife1_jump""270.0");

    
cvar_knife_knife1_spd register_cvar("zp_knife_knife1_spd""310.0");

    
cvar_knife_knife1_dmg register_cvar("zp_knife_knife1_dmg" "4.0");

    
cvar_knife_knife1_knock register_cvar("zp_knife_knife1_knock" "6.0");

    
cvar_knife_knife1_spd_attack2 register_cvar("zp_knife_knife1_spd_attack2" "1.2");



    
cvar_knife_knife2_jumpregister_cvar("zp_knife_knife2_jump""265.0");

    
cvar_knife_knife2_spd register_cvar("zp_knife_knife2_spd""255.0");

    
cvar_knife_knife2_dmg register_cvar("zp_knife_knife2_dmg" "12.0");

    
cvar_knife_knife2_knock register_cvar("zp_knife_knife2_knock" "7.0");

    
cvar_knife_knife2_spd_attack2 register_cvar("zp_knife_knife2_spd_attack2" "1.6");



    
cvar_knife_knife3_jumpregister_cvar("zp_knife_knife3_jump""335.0");

    
cvar_knife_knife3_spd register_cvar("zp_knife_knife3_spd""250.0");

    
cvar_knife_knife3_dmg register_cvar("zp_knife_knife3_dmg" "5.0");

    
cvar_knife_knife3_knock register_cvar("zp_knife_knife3_knock" "6.0");

    
cvar_knife_knife3_spd_attack2 register_cvar("zp_knife_knife3_spd_attack2" "1.4");



    
cvar_knife_vip_jumpregister_cvar("zp_knife_vip_jump""275.0");

    
cvar_knife_vip_spd register_cvar("zp_knife_vip_spd""265.0");

    
cvar_knife_vip_dmg register_cvar("zp_knife_vip_dmg" "5.0");

    
cvar_knife_vip_knock register_cvar("zp_knife_vip_knock" "15.0");

    
cvar_knife_vip_spd_attack2 register_cvar("zp_knife_vip_spd_attack2" "1.4");



    
cvar_knife_admin_jumpregister_cvar("zp_knife_admin_jump""335.0");

    
cvar_knife_admin_spdregister_cvar("zp_knife_admin_spd""315.0");

    
cvar_knife_admin_dmg register_cvar("zp_knife_admin_dmg" "15.0");

    
cvar_knife_admin_knock register_cvar("zp_knife_admin_knock" "15.0");

    
cvar_admin_spd_attack2 register_cvar("zp_knife_admin_spd_attack2" "1.4");



    
cvar_knife_headadmin_jumpregister_cvar("zp_knife_headadmin_jump""350.0");

    
cvar_knife_headadmin_spdregister_cvar("zp_knife_headadmin_spd""320.0");

    
cvar_knife_headadmin_dmg register_cvar("zp_knife_headadmin_dmg" "17.0");

    
cvar_knife_headadmin_knock register_cvar("zp_knife_headadmin_knock" "17.0");

    
cvar_headadmin_spd_attack2 register_cvar("zp_knife_headadmin_spd_attack2" "1.4");


        
cvar_knife_founder_jumpregister_cvar("zp_knife_founder_jump""360.0");

     
cvar_knife_founder_spdregister_cvar("zp_knife_founder_spd""350.0");

    
cvar_knife_founder_dmg register_cvar("zp_knife_founder_dmg" "20.0");

    
cvar_knife_founder_knock register_cvar("zp_knife_founder_knock" "120.0");

    
cvar_founder_spd_attack2 register_cvar("zp_knife_founder_spd_attack2" "1.4");
    

        
cvar_knife_survivor_jumpregister_cvar("zp_knife_survivor_jump""350.0");

     
cvar_knife_survivor_spdregister_cvar("zp_knife_survivor_spd""370.0");

    
cvar_knife_survivor_dmg register_cvar("zp_knife_survivor_dmg" "22.0");

    
cvar_knife_survivor_knock register_cvar("zp_knife_survivor_knock" "100.0");

    
cvar_survivor_spd_attack2 register_cvar("zp_knife_survivor_spd_attack2" "1.4");


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

}


public 
zp_round_started()
{
    for(new 
id 1id <=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_survivor(id)
    }
}  


public 
zp_round_ended()
{
    for(new 
id 1id <=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_survivor(id)
    }
}  

public 
client_connect(id)

{

    
g_knife_knife1[id] = false

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = false

}



public 
client_disconnect(id)

{

    
g_knife_knife1[id] = false

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = false

}



public 
plugin_precache()

{

    
precache_model(knife1_v_model)

    
precache_model(knife1_p_model)

    
precache_model(knife2_v_model)

    
precache_model(knife2_p_model)

    
precache_model(knife3_v_model)

    
precache_model(knife3_p_model)

    
precache_model(vip_v_model)

    
precache_model(vip_p_model)

    
precache_model(admin_v_model)

    
precache_model(admin_p_model)

    
precache_model(headadmin_p_model)

    
precache_model(headadmin_v_model)

        
precache_model(founder_p_model)

    
precache_model(founder_v_model)

        
precache_model(survivor_p_model)

    
precache_model(survivor_v_model)


    
precache_sound(g_sound_knife)



    for(new 
0sizeof knife1_soundsi++)

        
precache_sound(knife1_sounds[i])



    for(new 
0sizeof knife2_soundsi++)

        
precache_sound(knife2_sounds[i])



    for(new 
0sizeof knife3_soundsi++)

        
precache_sound(knife3_sounds[i])  



    for(new 
0sizeof vip_soundsi++)

        
precache_sound(vip_sounds[i])



    for(new 
0sizeof admin_soundsi++)

        
precache_sound(admin_sounds[i])



    for(new 
0sizeof headadmin_soundsi++)

        
precache_sound(headadmin_sounds[i])


        for(new 
0sizeof founder_soundsi++)

        
precache_sound(founder_sounds[i])

        for(new 
0sizeof survivor_soundsi++)

        
precache_sound(survivor_sounds[i])


        
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 
iMAXPLAYERS 1i++)

            
g_WasShowed[i] = false

}



public 
knife(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("\ySPK - Zombie Plague \r[CSO] \d | Knife Menu^n""menu_handler");

    
menu_additem(menu"\y Dual Katana \r -|Speed|-""1"0);

    
menu_additem(menu"\y Strong Gloves \r -|Damage|-""2"0);

    
menu_additem(menu"\y Axe \r -|Jump|-^n""3"0);


        if(
get_user_flags(id) & VIP)
    
menu_additem(menu"\y Hammer \r -|VIP|-""4"0);

        else
        
menu_additem(menu"\w Hammer \r -|VIP|-""4"0);
 
        if(
get_user_flags(id) & ADMIN1)
    
menu_additem(menu"\y Storm \r -|Admin|-""5"0);

        else
        
menu_additem(menu"\w Storm \r -|Admin|-""5"0);

        if(
get_user_flags(id) & HEADADMIN)
    
menu_additem(menu"\y Frost \r -|Head-Admin|-^n""6"0);

        else
        
menu_additem(menu"\w Frost \r -|Head-Admin|-""6"0);   

        if(
get_user_flags(id) & OWNER)
    
menu_additem(menu"\y Galaxy Hammer \r -|Founder|-""7"0);
        
        else
        
menu_additem(menu"\w Galaxy Hammer \r -|Founder|-""7"0);   
 
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);

    

    
menu_display(idmenu0);    





public 
menu_handler(idmenuitem)

{

    if( 
item == MENU_EXIT )

    {

               
menu_destroy(menu);

            return 
PLUGIN_HANDLED;    

    }

    

    new 
data[7], iName[64];

    new 
accesscallback;

    

    
menu_item_getinfo(menuitemaccessdata,5iName63callback);

    

    new 
key str_to_num(data);

    

    switch(
key)

    {

            case 
1:

            {

            
give_knife1(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
2:

        {

            
give_knife2(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
3:

        {

            
give_knife3(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
4:

        {

            
give_vip(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
5:

        {

            
give_admin(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
6:

        {

            
give_headadmin(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

                case 
7:

        {

            
give_founder(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

    }

    
menu_destroy(menu);

    return 
PLUGIN_HANDLED

}



public 
give_knife1(id)

{

    
g_knife_knife1[id] = true    

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false    

    g_knife_vip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] =  true

    g_WasShowed
[id] = true

        client_cmd
(id"setinfo Knifes 1");

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_knife2(id)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = true    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
    
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        client_cmd
(id"setinfo Knifes 2");

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_knife3(id)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = false    

    g_knife_knife3
[id] = true

    g_knife_vip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false
        
        g_knife_survivor
[id] = false

        g_knife_founder
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        client_cmd
(id"setinfo Knifes 3");

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_vip(id)


    if (
get_user_flags(id) & VIP)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = false    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = true    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
      
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        client_cmd
(id"setinfo Knifes 4");

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}





public 
give_admin(id)



    if (
get_user_flags(id) & ADMIN1)

    {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

        g_knife_admin
[id] = true

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false
             
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                client_cmd
(id"setinfo Knifes 5");

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    }



public 
give_headadmin(id)


    if (
get_user_flags(id) & HEADADMIN)

    {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = true

                g_knife_founder
[id] = false
               
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                client_cmd
(id"setinfo Knifes 6");

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    }


public 
give_founder(id)


       if (
get_user_flags(id) & OWNER)

       {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = true

                g_knife_survivor
[id] = false
 
        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                client_cmd
(id"setinfo Knifes 7");

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
       }
    

public 
give_survivor(id)

{


        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false

                g_knife_survivor
[id] = true
 
        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true



        engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    

}


public 
remove_survivor(id)

{


        
g_knife_knife1[id] = true    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false
 
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  false

        g_WasShowed
[id] = false



        engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    

}

public 
checkWeapon(id)

{

    new 
plrWeapId

    

    plrWeapId 
get_user_weapon(id)

    

    if (
plrWeapId == CSW_KNIFE && (g_knife_knife1[id] || g_knife_knife2[id] || g_knife_knife3[id] || g_knife_vip[id] || g_knife_admin[id]|| g_knife_headadmin[id] || g_knife_founder[id] || g_knife_survivor[id]))

    {

        
checkModel(id)

    }

}



public 
checkModel(id)

{

    if (
zp_get_user_zombie(id))

        return 
PLUGIN_HANDLED

    

    
if (g_knife_knife1[id])

    {

        
set_pev(idpev_viewmodel2knife1_v_model)

        
set_pev(idpev_weaponmodel2knife1_p_model)

    }



    if (
g_knife_knife2[id])

    {

        
set_pev(idpev_viewmodel2knife2_v_model)

        
set_pev(idpev_weaponmodel2knife2_p_model)

    }



    if (
g_knife_knife3[id])

    {

        
set_pev(idpev_viewmodel2knife3_v_model)

        
set_pev(idpev_weaponmodel2knife3_p_model)

    }



    if (
g_knife_vip[id])

    {

        
set_pev(idpev_viewmodel2vip_v_model)

        
set_pev(idpev_weaponmodel2vip_p_model)

    }



    if (
g_knife_admin[id])

    {

        
set_pev(idpev_viewmodel2admin_v_model)

        
set_pev(idpev_weaponmodel2admin_p_model)

    }

    if (
g_knife_headadmin[id])

    {

        
set_pev(idpev_viewmodel2headadmin_v_model)

        
set_pev(idpev_weaponmodel2headadmin_p_model)

    }

        if (
g_knife_founder[id])

    {

        
set_pev(idpev_viewmodel2founder_v_model)

        
set_pev(idpev_weaponmodel2founder_p_model)

    }

        if (
g_knife_survivor[id])

    {

        
set_pev(idpev_viewmodel2survivor_v_model)

        
set_pev(idpev_weaponmodel2survivor_p_model)

    }


    return 
PLUGIN_HANDLED

}


public 
CEntity__EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)

{

    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_knife1[id])

                
emit_sound(idchannelknife1_sounds[0], volumeattnflagspitch)

            if(
g_knife_knife2[id])

                
emit_sound(idchannelknife2_sounds[0], volumeattnflagspitch)

            if(
g_knife_knife3[id])

                
emit_sound(idchannelknife3_sounds[0], volumeattnflagspitch)

            if(
g_knife_vip[id])

                
emit_sound(idchannelvip_sounds[0], volumeattnflagspitch)

            if(
g_knife_admin[id])

                
emit_sound(idchanneladmin_sounds[0], volumeattnflagspitch)

            if(
g_knife_headadmin[id])

                
emit_sound(idchannelheadadmin_sounds[0], volumeattnflagspitch)

            if(
g_knife_founder[id])

                
emit_sound(idchannelfounder_sounds[0], volumeattnflagspitch)

            if(
g_knife_survivor[id])

                
emit_sound(idchannelsurvivor_sounds[0], volumeattnflagspitch)

        }

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

        {

            if (
sample[17] == 'w'

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[3], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[3], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[3], volumeattnflagspitch)

                if(
g_knife_vip[id] )

                    
emit_sound(idchannelvip_sounds[3], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[3], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[3], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[3], volumeattnflagspitch)

                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[3], volumeattnflagspitch)


            }

            else

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[random_num(1,2)], volumeattnflagspitch)
               
                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[random_num(1,2)], volumeattnflagspitch)


            }

        }

        else

        {

            if (
sample[15] == 'l'

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[4], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[4], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[4], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[4], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[4], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[4], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[4], volumeattnflagspitch)

           
                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[4], volumeattnflagspitch)

            }

            else 

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[5], volumeattnflagspitch)

                if(
g_knife_knife2[id] )

                    
emit_sound(idchannelknife2_sounds[5], volumeattnflagspitch)

                if(
g_knife_knife3[id] )

                    
emit_sound(idchannelknife3_sounds[5], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[5], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[5], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[5], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[5], volumeattnflagspitch)

                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[5], volumeattnflagspitch)


            }

        }

        return 
HAM_SUPERCEDE

    
}

    return 
HAM_IGNORED

}



public 
message_DeathMsg(msg_idmsg_destid)

{

    static 
szTruncatedWeapon[33], iattackerivictim

    

    get_msg_arg_string
(4szTruncatedWeaponcharsmax(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_knife1[iattacker])

                
set_msg_arg_string(4"Dual Katana")

        }

    

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

        {

            if(
g_knife_knife2[iattacker])

                
set_msg_arg_string(4"Strong Gloves")

        }



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

        {

            if(
g_knife_knife3[iattacker])

                
set_msg_arg_string(4"Axe")

        }



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

        {

            if(
g_knife_vip[iattacker])

                
set_msg_arg_string(4"Hammer")

        }



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

        {

            if(
g_knife_admin[iattacker])

                
set_msg_arg_string(4"Storm Knife")

        }

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

        {

            if(
g_knife_headadmin[iattacker])

                
set_msg_arg_string(4"Frost Knife")

        }

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

        {

            if(
g_knife_founder[iattacker])

                
set_msg_arg_string(4"Galaxy Hammer")

        }

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

        {

            if(
g_knife_survivor[iattacker])

                
set_msg_arg_string(4"Survivor Knife")

        }

    }

    return 
PLUGIN_CONTINUE

}



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

{  

    new 
count 1players[32];  

        static 
msg[191];  

        
vformat(msg190input3);  

        
replace_all(msg190"!g""^4"); // Green Color  

        
replace_all(msg190"!y""^1"); // Default Color 

        
replace_all(msg190"!t""^3"); // Team Color  

        
if (idplayers[0] = id; else get_players(playerscount"ch");  

        {  

            for ( new 
0counti++ )  

            {  

                    if ( 
is_user_connected(players[i]) )  

                    {  

                        
message_begin(MSG_ONE_UNRELIABLESayText_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(idtemp[0], temp[1])



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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife1_spd))

    }



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

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife1_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife2_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife2_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife3_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife3_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_vip_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_vip_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_admin_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_admin_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_headadmin_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_headadmin_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_founder_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_founder_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_survivor_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_survivor_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


    return 
FMRES_IGNORED

}  



public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_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_knife1[attacker])

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife1_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife2_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife3_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_vip_dmg))

    }

        

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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_admin_dmg))

    }

    

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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_headadmin_dmg))

    }


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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_founder_dmg))

    }


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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_survivor_dmg))

    }


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


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


        if (
weapon == CSW_KNIFE && g_knife_founder[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(knifem_pPlayer4



        if(
zp_get_user_zombie(id))

        return 
HAM_IGNORED

    

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife1_spd_attack2

         

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 

 

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife2_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 



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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife3_spd_attack2

                 

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 



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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_vip_spd_attack2

                 

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 



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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_admin_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     

    

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_headadmin_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     


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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_founder_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     
   

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_survivor_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     


        return 
HAM_IGNORED 





public 
Burning5(taskid)

{

    static 
origin[3], flags

    get_user_origin
(ID_FBURN5origin)

    
flags pev(ID_FBURN5pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_FBURN6origin)

    
flags pev(ID_FBURN6pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_FBURN7origin)

    
flags pev(ID_FBURN7pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_knife1[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_knife2[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_knife3[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_vip[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_admin[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_headadmin[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_founder[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_survivor[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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])>largestnumlargestnum floatabs(origin2[0]);

    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);



    
origin2[0] /= largestnum;

    
origin2[1] /= largestnum;



    if (
g_knife_knife1[attacker])

    {

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

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

    }



    if (
g_knife_knife2[attacker])

    {

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

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

    }



    if (
g_knife_knife3[attacker])

    {

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

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

    }



    if (
g_knife_vip[attacker])

    {

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

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

    }



    if (
g_knife_admin[attacker])

    {

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

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

    }



    if (
g_knife_headadmin[attacker])

    {

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

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

    }


        if (
g_knife_founder[attacker])

    {

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

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

    }


        if (
g_knife_survivor[attacker])

    {

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

        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_survivor_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(00))

    {

        case 
0:

        {

            
g_knife_knife1[id] = true

            g_hasSpeed
[id] = true

        
}



    }



Last edited by tedaimlocks; 02-16-2024 at 12:31. Reason: Added SMA
tedaimlocks is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-15-2024 , 23:01   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #2

"setinfo" methods don't actually save data long term and I don't think it would survive disconnecting from the server. You're needing something that will store data more permanently. One good choice is to use nVault. Take a look at tutorials for nVault and look at existing plugins that use it to get a good idea of how to work with it. I'd also recommend that maybe you create a test plugin to play around with nVault functionality to make sure you know how to make it work and then integrate it into your plugin.
__________________
fysiks is online now
tedaimlocks
Senior Member
Join Date: Jan 2024
Old 02-16-2024 , 12:20   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
"setinfo" methods don't actually save data long term and I don't think it would survive disconnecting from the server. You're needing something that will store data more permanently. One good choice is to use nVault. Take a look at tutorials for nVault and look at existing plugins that use it to get a good idea of how to work with it. I'd also recommend that maybe you create a test plugin to play around with nVault functionality to make sure you know how to make it work and then integrate it into your plugin.
No , i wanted to use setinfo knifes , it worked really good with other knife menus , i kind of figured it out now ,

i had to add a setinfo knifes number after all of those


PHP Code:
public buy_knife1(id)
{
    
g_has_knife1[id] = 1;
    
g_has_knife2[id] = 0;
    
g_has_knife3[id] = 0;
    
g_has_knife4[id] = 0;
    
g_has_knife5[id] = 0;
    
g_has_knife6[id] = 0;
    
g_has_knife7[id] = 0;
    
g_has_survivor[id] = 0;
    
message_begin(1get_user_msgid("WeapPickup"), 15720id);
    
write_byte(29);
    
message_end();
    
checkWeapon(id);
    
client_cmd(id"setinfo Knifes 1"); ------------------- HERE 
    engfunc
(27id4g_sound_knife106535321610619977730100);
    return 
0;


But i also still need help because i dont know how to make it give you the knife you have in your setinfo

Last edited by tedaimlocks; 02-16-2024 at 12:23. Reason: Edited the SMA
tedaimlocks is offline
mlibre
Veteran Member
Join Date: Nov 2015
Location: return PLUGIN_CONTINUE
Old 02-16-2024 , 17:23   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #4

why not use a simple, local save system, NFV
__________________
mlibre is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-16-2024 , 23:17   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #5

The "setinfo" command is blocked by any competent player using cl_filterstuffcmd so that will not work for what you are trying to do. Many players also make the config file read-only which would prevent this from working even if the aforementioned cvar was set to 0.

So, you need to store the info on the server using a storage method like nVault. You'll need to use the player's SteamID for the "key" and then you can set the value to the value of the knife selection.

Here is a quick and simple example that is basically all done for you. Just use SaveKnife() where you want to save the knife and GetKnife() when you want to get it.

PHP Code:
#include <amxmodx>
#include <nvault>

new g_pVault

public plugin_init()
{
    
g_pVault nvault_open("knifevault")
}

public 
plugin_end()
{
    
nvault_close(g_pVault)
}

/**
    Saves a player's knife in the vault
 */
stock SaveKnife(idiKnife)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))
    
    
// Prepare for storing in nVault
    
new szTemp[6]
    
num_to_str(++iKnifeszTempcharsmax(szTemp))

    
// Put in the vault
    
nvault_set(g_pVaultszSteamIDszTemp)
}

/**
    Gets a player's last saved knife.
    Returns -1 if player has no knife saved.
 */
stock GetKnife(id)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))

    
// Get knife value from vault
    
new iKnife
    iKnife 
nvault_get(g_pVaultszSteamID)

    
// Check if it's valid and return
    
return iKnife == ? -: --iKnife


In fact, you can simply replace:

PHP Code:
client_cmd(id"setinfo Knifes 1"); 
with

PHP Code:
SaveKnife(id1
Then, to get which knife they have, you simply do GetKnife(id) whenever you need it. To do what you want, you probably need to hook the spawn event and then get the knife value and if it's not -1 then call the function to give them their chosen knife.
__________________
fysiks is online now
tedaimlocks
Senior Member
Join Date: Jan 2024
Old 02-17-2024 , 04:42   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #6

Quote:
Originally Posted by fysiks View Post
The "setinfo" command is blocked by any competent player using cl_filterstuffcmd so that will not work for what you are trying to do. Many players also make the config file read-only which would prevent this from working even if the aforementioned cvar was set to 0.

So, you need to store the info on the server using a storage method like nVault. You'll need to use the player's SteamID for the "key" and then you can set the value to the value of the knife selection.

Here is a quick and simple example that is basically all done for you. Just use SaveKnife() where you want to save the knife and GetKnife() when you want to get it.

PHP Code:
#include <amxmodx>
#include <nvault>

new g_pVault

public plugin_init()
{
    
g_pVault nvault_open("knifevault")
}

public 
plugin_end()
{
    
nvault_close(g_pVault)
}

/**
    Saves a player's knife in the vault
 */
stock SaveKnife(idiKnife)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))
    
    
// Prepare for storing in nVault
    
new szTemp[6]
    
num_to_str(++iKnifeszTempcharsmax(szTemp))

    
// Put in the vault
    
nvault_set(g_pVaultszSteamIDszTemp)
}

/**
    Gets a player's last saved knife.
    Returns -1 if player has no knife saved.
 */
stock GetKnife(id)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))

    
// Get knife value from vault
    
new iKnife
    iKnife 
nvault_get(g_pVaultszSteamID)

    
// Check if it's valid and return
    
return iKnife == ? -: --iKnife


In fact, you can simply replace:

PHP Code:
client_cmd(id"setinfo Knifes 1"); 
with

PHP Code:
SaveKnife(id1
Then, to get which knife they have, you simply do GetKnife(id) whenever you need it. To do what you want, you probably need to hook the spawn event and then get the knife value and if it's not -1 then call the function to give them their chosen knife.



So should i do something like this ?

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fun> 
#include <engine> 
#include <hamsandwich>
#include <zombieplague>
#include <nvault>

#define PLUGIN    "[ZP]Knife Menu"
#define VERSION    "2.0"
#define AUTHOR    "tedaimlocks, Bu!ld3r"


#define VIP ADMIN_LEVEL_H
#define PVIP ADMIN_LEVEL_D
#define ADMIN1 ADMIN_BAN
#define HEADADMIN ADMIN_CVAR
#define OWNER ADMIN_RCON
#define MAXPLAYERS 32

new g_pVault

public plugin_init()
{
    
g_pVault nvault_open("knifevault")
}

public 
plugin_end()
{
    
nvault_close(g_pVault)
}

/**
    Saves a player's knife in the vault
 */
stock SaveKnife(idiKnife)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))
    
    
// Prepare for storing in nVault
    
new szTemp[6]
    
num_to_str(++iKnifeszTempcharsmax(szTemp))

    
// Put in the vault
    
nvault_set(g_pVaultszSteamIDszTemp)
}

/**
    Gets a player's last saved knife.
    Returns -1 if player has no knife saved.
 */
stock GetKnife(id)
{
    
// Get only usable unique identifier
    
new szSteamID[32]
    
get_user_authid(idszSteamIDcharsmax(szSteamID))

    
// Get knife value from vault
    
new iKnife
    iKnife 
nvault_get(g_pVaultszSteamID)

    
// Check if it's valid and return
    
return iKnife == ? -: --iKnife



#define ID_FBURN5    (taskid - 100)
#define ID_FBURN6    (taskid - 100)
#define ID_FBURN7    (taskid - 100)

        
new                     g_burning5[33],
                        
g_burning6[33],
                        
g_burning7[33],
                        
g_sprite5,
                        
g_sprite6,
                        
g_sprite7
   


new knife1_v_model[] = "models/zp_knife_menu/v_dual_katana.mdl"

new knife1_p_model[] = "models/zp_knife_menu/p_dual_katana.mdl"



new knife2_v_model[] = "models/zp_knife_menu/v_strong_gloves.mdl"

new knife2_p_model[] = "models/zp_knife_menu/p_strong_gloves.mdl"



new knife3_v_model[] = "models/zp_knife_menu/v_axe.mdl"    

new knife3_p_model[] = "models/zp_knife_menu/p_axe.mdl"    



new vip_v_model[] = "models/zp_knife_menu/v_hammer.mdl"    

new vip_p_model[] = "models/zp_knife_menu/p_hammer.mdl"


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

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



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

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



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

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



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

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



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

new survivor_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_knife1[33], cvar_knife_knife1_jumpcvar_knife_knife1_spdcvar_knife_knife1_dmgcvar_knife_knife1_knockcvar_knife_knife1_spd_attack2

new g_knife_knife2[33], cvar_knife_knife2_jumpcvar_knife_knife2_spdcvar_knife_knife2_dmgcvar_knife_knife2_knockcvar_knife_knife2_spd_attack2

new g_knife_knife3[33], cvar_knife_knife3_jumpcvar_knife_knife3_spdcvar_knife_knife3_dmgcvar_knife_knife3_knockcvar_knife_knife3_spd_attack2

new g_knife_vip[33], cvar_knife_vip_jumpcvar_knife_vip_spdcvar_knife_vip_dmgcvar_knife_vip_knockcvar_knife_vip_spd_attack2

new g_knife_pvip[33], cvar_knife_pvip_jumpcvar_knife_pvip_spdcvar_knife_pvip_dmgcvar_knife_pvip_knockcvar_knife_pvip_spd_attack2

new g_knife_admin[33], cvar_knife_admin_jumpcvar_knife_admin_spdcvar_knife_admin_dmgcvar_knife_admin_knockcvar_admin_spd_attack2

new g_knife_headadmin[33], cvar_knife_headadmin_jumpcvar_knife_headadmin_spdcvar_knife_headadmin_dmgcvar_knife_headadmin_knockcvar_headadmin_spd_attack2

new g_knife_founder[33], cvar_knife_founder_jumpcvar_knife_founder_spdcvar_knife_founder_dmgcvar_knife_founder_knockcvar_founder_spd_attack2

new g_knife_survivor[33], cvar_knife_survivor_jumpcvar_knife_survivor_spdcvar_knife_survivor_dmgcvar_knife_survivor_knockcvar_survivor_spd_attack2



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



new const 
knife1_sounds[][] =

{

    
"zp_knife_menu/katana_deploy.wav",

    
"zp_knife_menu/katana_hit1.wav",

    
"zp_knife_menu/katana_hit2.wav",

    
"zp_knife_menu/katana_hitwall.wav",

    
"zp_knife_menu/katana_slash.wav",

    
"zp_knife_menu/katana_stab.wav"

}



new const 
knife2_sounds[][] =

{

    
"zp_knife_menu/strong_gloves_deploy.wav",

    
"zp_knife_menu/strong_gloves_hit.wav",

    
"zp_knife_menu/strong_gloves_hit2.wav",

    
"zp_knife_menu/strong_gloves_hitwall.wav",

    
"zp_knife_menu/strong_gloves_slash.wav",

    
"zp_knife_menu/strong_gloves_stab.wav"

}

new const 
knife3_sounds[][] =

{

    
"zp_knife_menu/axe_draw.wav",

    
"zp_knife_menu/axe_hit_01.wav",

    
"zp_knife_menu/axe_hit_02.wav",

    
"zp_knife_menu/axe_hitwall.wav",

    
"zp_knife_menu/axe_miss.wav",

    
"zp_knife_menu/axe_stab.wav"

}



new const 
vip_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 
pvip_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 
admin_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 
headadmin_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 
founder_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 
survivor_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"VERSIONFCVAR_SERVER);

        
SayText get_user_msgid("SayText")   



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

     
register_clcmd("knife","knife",ADMIN_ALL,"knife")

    
register_clcmd("knife1""give_knife1")

    
register_clcmd("knife2""give_knife2")

    
register_clcmd("knife3""give_knife3")

    
register_clcmd("vip""give_vip")

    
register_clcmd("pvip""give_pvip")

    
register_clcmd("admin""give_admin")

    
register_clcmd("headadmin""give_headadmin")

        
register_clcmd("founder""give_founder")

        
register_clcmd("survivor""give_survivor")


    
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_knife1_jumpregister_cvar("zp_knife_knife1_jump""275.0");

    
cvar_knife_knife1_spd register_cvar("zp_knife_knife1_spd""310.0");

    
cvar_knife_knife1_dmg register_cvar("zp_knife_knife1_dmg" "4.0");

    
cvar_knife_knife1_knock register_cvar("zp_knife_knife1_knock" "6.0");

    
cvar_knife_knife1_spd_attack2 register_cvar("zp_knife_knife1_spd_attack2" "1.4");



    
cvar_knife_knife2_jumpregister_cvar("zp_knife_knife2_jump""275.0");

    
cvar_knife_knife2_spd register_cvar("zp_knife_knife2_spd""255.0");

    
cvar_knife_knife2_dmg register_cvar("zp_knife_knife2_dmg" "12.0");

    
cvar_knife_knife2_knock register_cvar("zp_knife_knife2_knock" "7.0");

    
cvar_knife_knife2_spd_attack2 register_cvar("zp_knife_knife2_spd_attack2" "1.4");



    
cvar_knife_knife3_jumpregister_cvar("zp_knife_knife3_jump""330.0");

    
cvar_knife_knife3_spd register_cvar("zp_knife_knife3_spd""250.0");

    
cvar_knife_knife3_dmg register_cvar("zp_knife_knife3_dmg" "5.0");

    
cvar_knife_knife3_knock register_cvar("zp_knife_knife3_knock" "6.0");

    
cvar_knife_knife3_spd_attack2 register_cvar("zp_knife_knife3_spd_attack2" "1.4");



    
cvar_knife_vip_jumpregister_cvar("zp_knife_vip_jump""330.0");

    
cvar_knife_vip_spd register_cvar("zp_knife_vip_spd""270.0");

    
cvar_knife_vip_dmg register_cvar("zp_knife_vip_dmg" "5.0");

    
cvar_knife_vip_knock register_cvar("zp_knife_vip_knock" "10.0");

    
cvar_knife_vip_spd_attack2 register_cvar("zp_knife_vip_spd_attack2" "1.4");


    
cvar_knife_pvip_jumpregister_cvar("zp_knife_pvip_jump""330.0");

    
cvar_knife_pvip_spd register_cvar("zp_knife_pvip_spd""270.0");

    
cvar_knife_pvip_dmg register_cvar("zp_knife_pvip_dmg" "5.0");

    
cvar_knife_pvip_knock register_cvar("zp_knife_pvip_knock" "10.0");

    
cvar_knife_pvip_spd_attack2 register_cvar("zp_knife_pvip_spd_attack2" "1.4");



    
cvar_knife_admin_jumpregister_cvar("zp_knife_admin_jump""330.0");

    
cvar_knife_admin_spdregister_cvar("zp_knife_admin_spd""280.0");

    
cvar_knife_admin_dmg register_cvar("zp_knife_admin_dmg" "15.0");

    
cvar_knife_admin_knock register_cvar("zp_knife_admin_knock" "11.0");

    
cvar_admin_spd_attack2 register_cvar("zp_knife_admin_spd_attack2" "1.4");



    
cvar_knife_headadmin_jumpregister_cvar("zp_knife_headadmin_jump""330.0");

    
cvar_knife_headadmin_spdregister_cvar("zp_knife_headadmin_spd""285.0");

    
cvar_knife_headadmin_dmg register_cvar("zp_knife_headadmin_dmg" "17.0");

    
cvar_knife_headadmin_knock register_cvar("zp_knife_headadmin_knock" "12.0");

    
cvar_headadmin_spd_attack2 register_cvar("zp_knife_headadmin_spd_attack2" "1.4");


        
cvar_knife_founder_jumpregister_cvar("zp_knife_founder_jump""330.0");

     
cvar_knife_founder_spdregister_cvar("zp_knife_founder_spd""290.0");

    
cvar_knife_founder_dmg register_cvar("zp_knife_founder_dmg" "20.0");

    
cvar_knife_founder_knock register_cvar("zp_knife_founder_knock" "13.0");

    
cvar_founder_spd_attack2 register_cvar("zp_knife_founder_spd_attack2" "1.4");
    

        
cvar_knife_survivor_jumpregister_cvar("zp_knife_survivor_jump""330.0");

     
cvar_knife_survivor_spdregister_cvar("zp_knife_survivor_spd""290.0");

    
cvar_knife_survivor_dmg register_cvar("zp_knife_survivor_dmg" "22.0");

    
cvar_knife_survivor_knock register_cvar("zp_knife_survivor_knock" "14.0");

    
cvar_survivor_spd_attack2 register_cvar("zp_knife_survivor_spd_attack2" "1.4");


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

}


public 
zp_round_started()
{
    for(new 
id 1id <=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_survivor(id)
    }
}  


public 
zp_round_ended()
{
    for(new 
id 1id <=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_survivor(id)
    }
}  

public 
client_connect(id)

{

    
g_knife_knife1[id] = false

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false

    g_knife_pvip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = false
        
        GetKnife
(id)

}



public 
client_disconnect(id)

{

    
g_knife_knife1[id] = false

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false

    g_knife_pvip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = false

}



public 
plugin_precache()

{

    
precache_model(knife1_v_model)

    
precache_model(knife1_p_model)

    
precache_model(knife2_v_model)

    
precache_model(knife2_p_model)

    
precache_model(knife3_v_model)

    
precache_model(knife3_p_model)

    
precache_model(vip_v_model)

    
precache_model(vip_p_model)

    
precache_model(pvip_v_model)

    
precache_model(pvip_p_model)

    
precache_model(admin_v_model)

    
precache_model(admin_p_model)

    
precache_model(headadmin_p_model)

    
precache_model(headadmin_v_model)

        
precache_model(founder_p_model)

    
precache_model(founder_v_model)

        
precache_model(survivor_p_model)

    
precache_model(survivor_v_model)


    
precache_sound(g_sound_knife)



    for(new 
0sizeof knife1_soundsi++)

        
precache_sound(knife1_sounds[i])



    for(new 
0sizeof knife2_soundsi++)

        
precache_sound(knife2_sounds[i])



    for(new 
0sizeof knife3_soundsi++)

        
precache_sound(knife3_sounds[i])  



    for(new 
0sizeof vip_soundsi++)

        
precache_sound(vip_sounds[i])


    for(new 
0sizeof pvip_soundsi++)

        
precache_sound(pvip_sounds[i])


    for(new 
0sizeof admin_soundsi++)

        
precache_sound(admin_sounds[i])



    for(new 
0sizeof headadmin_soundsi++)

        
precache_sound(headadmin_sounds[i])


        for(new 
0sizeof founder_soundsi++)

        
precache_sound(founder_sounds[i])

        for(new 
0sizeof survivor_soundsi++)

        
precache_sound(survivor_sounds[i])


        
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 
iMAXPLAYERS 1i++)

            
g_WasShowed[i] = false

}



public 
knife(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("\ySPK - Zombie Plague \r[CSO] \d | Knife Menu^n""menu_handler");

    
menu_additem(menu"\y Dual Katana \r -|Speed|-""1"0);

    
menu_additem(menu"\y Strong Gloves \r -|Damage|-""2"0);

    
menu_additem(menu"\y Axe \r -|Jump|-^n""3"0);


        if(
get_user_flags(id) & VIP)
    
menu_additem(menu"\y Hammer \r -|VIP|-""4"0);

        else
        
menu_additem(menu"\w Hammer \r -|VIP|-""4"0);

        if(
get_user_flags(id) & PVIP)
    
menu_additem(menu"\y Test Hammer \r -|Premium-VIP|-^n""5"0);

        else
        
menu_additem(menu"\w Test Hammer \r -|Premium-VIP|-^n""5"0);
 
        if(
get_user_flags(id) & ADMIN1)
    
menu_additem(menu"\y Storm \r -|Admin|-""6"0);

        else
        
menu_additem(menu"\w Storm \r -|Admin|-""6"0);

        if(
get_user_flags(id) & HEADADMIN)
    
menu_additem(menu"\y Frost \r -|Head-Admin|-^n""7"0);

        else
        
menu_additem(menu"\w Frost \r -|Head-Admin|-^n""7"0);   

        if(
get_user_flags(id) & OWNER)
    
menu_additem(menu"\y Galaxy Hammer \r -|Founder|-""8"0);
        
        else
        
menu_additem(menu"\w Galaxy Hammer \r -|Founder|-""8"0);   
 
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);

    

    
menu_display(idmenu0);    





public 
menu_handler(idmenuitem)

{

    if( 
item == MENU_EXIT )

    {

               
menu_destroy(menu);

            return 
PLUGIN_HANDLED;    

    }

    

    new 
data[7], iName[64];

    new 
accesscallback;

    

    
menu_item_getinfo(menuitemaccessdata,5iName63callback);

    

    new 
key str_to_num(data);

    

    switch(
key)

    {

            case 
1:

            {

            
give_knife1(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
2:

        {

            
give_knife2(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
3:

        {

            
give_knife3(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
4:

        {

            
give_vip(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
5:

        {

            
give_pvip(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
6:

        {

            
give_admin(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

        case 
7:

        {

            
give_headadmin(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

                case 
8:

        {

            
give_founder(id)

            
menu_destroy(menu);

            return 
PLUGIN_HANDLED

        
}

    }

    
menu_destroy(menu);

    return 
PLUGIN_HANDLED

}



public 
give_knife1(id)

{

    
g_knife_knife1[id] = true    

    g_knife_knife2
[id] = false

    g_knife_knife3
[id] = false    

    g_knife_vip
[id] = false    

    g_knife_pvip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false

        g_knife_survivor
[id] = false

    g_hasSpeed
[id] =  true

    g_WasShowed
[id] = true

        SaveKnife
(id1

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_knife2(id)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = true    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false    

    g_knife_pvip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
    
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        SaveKnife
(id2

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_knife3(id)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = false    

    g_knife_knife3
[id] = true

    g_knife_vip
[id] = false    

    g_knife_pvip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false
        
        g_knife_survivor
[id] = false

        g_knife_founder
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        SaveKnife
(id3

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}



public 
give_vip(id)


    if (
get_user_flags(id) & VIP)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = false    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = true    

    g_knife_pvip
[id] = false

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
      
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        SaveKnife
(id4

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}


public 
give_pvip(id)


    if (
get_user_flags(id) & PVIP)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = false    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false    

    g_knife_pvip
[id] = true

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
      
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        SaveKnife
(id5

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

}


public 
give_admin(id)



    if (
get_user_flags(id) & ADMIN1)

    {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

            g_knife_pvip
[id] = false

        g_knife_admin
[id] = true

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false
             
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                SaveKnife
(id6

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    }



public 
give_headadmin(id)


    if (
get_user_flags(id) & HEADADMIN)

    {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

            g_knife_pvip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = true

                g_knife_founder
[id] = false
               
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                SaveKnife
(id7

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    }


public 
give_founder(id)


       if (
get_user_flags(id) & OWNER)

       {

        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

            g_knife_pvip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = true

                g_knife_survivor
[id] = false
 
        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true

                SaveKnife
(id8

        
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)
       }
    

public 
give_survivor(id)

{


        
g_knife_knife1[id] = false    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

            g_knife_pvip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false

                g_knife_survivor
[id] = true
 
        g_hasSpeed
[id] =  true

        g_WasShowed
[id] = true



        engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    

}


public 
remove_survivor(id)

{


        
g_knife_knife1[id] = true    

        g_knife_knife2
[id] = false    

        g_knife_knife3
[id] = false

        g_knife_vip
[id] = false

            g_knife_pvip
[id] = false

        g_knife_admin
[id] = false

        g_knife_headadmin
[id] = false

                g_knife_founder
[id] = false
 
                g_knife_survivor
[id] = false

        g_hasSpeed
[id] =  false

        g_WasShowed
[id] = false



        engfunc
(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)

    

}

public 
checkWeapon(id)

{

    new 
plrWeapId

    

    plrWeapId 
get_user_weapon(id)

    

    if (
plrWeapId == CSW_KNIFE && (g_knife_knife1[id] || g_knife_knife2[id] || g_knife_knife3[id] || g_knife_vip[id] || g_knife_pvip[id] || g_knife_admin[id] || g_knife_headadmin[id] || g_knife_founder[id] || g_knife_survivor[id]))

    {

        
checkModel(id)

    }

}



public 
checkModel(id)

{

    if (
zp_get_user_zombie(id))

        return 
PLUGIN_HANDLED

    

    
if (g_knife_knife1[id])

    {

        
set_pev(idpev_viewmodel2knife1_v_model)

        
set_pev(idpev_weaponmodel2knife1_p_model)

    }



    if (
g_knife_knife2[id])

    {

        
set_pev(idpev_viewmodel2knife2_v_model)

        
set_pev(idpev_weaponmodel2knife2_p_model)

    }



    if (
g_knife_knife3[id])

    {

        
set_pev(idpev_viewmodel2knife3_v_model)

        
set_pev(idpev_weaponmodel2knife3_p_model)

    }



    if (
g_knife_vip[id])

    {

        
set_pev(idpev_viewmodel2vip_v_model)

        
set_pev(idpev_weaponmodel2vip_p_model)

    }


    if (
g_knife_pvip[id])

    {

        
set_pev(idpev_viewmodel2pvip_v_model)

        
set_pev(idpev_weaponmodel2pvip_p_model)

    }


    if (
g_knife_admin[id])

    {

        
set_pev(idpev_viewmodel2admin_v_model)

        
set_pev(idpev_weaponmodel2admin_p_model)

    }

    if (
g_knife_headadmin[id])

    {

        
set_pev(idpev_viewmodel2headadmin_v_model)

        
set_pev(idpev_weaponmodel2headadmin_p_model)

    }

        if (
g_knife_founder[id])

    {

        
set_pev(idpev_viewmodel2founder_v_model)

        
set_pev(idpev_weaponmodel2founder_p_model)

    }

        if (
g_knife_survivor[id])

    {

        
set_pev(idpev_viewmodel2survivor_v_model)

        
set_pev(idpev_weaponmodel2survivor_p_model)

    }


    return 
PLUGIN_HANDLED

}


public 
CEntity__EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)

{

    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_knife1[id])

                
emit_sound(idchannelknife1_sounds[0], volumeattnflagspitch)

            if(
g_knife_knife2[id])

                
emit_sound(idchannelknife2_sounds[0], volumeattnflagspitch)

            if(
g_knife_knife3[id])

                
emit_sound(idchannelknife3_sounds[0], volumeattnflagspitch)

            if(
g_knife_vip[id])

                
emit_sound(idchannelvip_sounds[0], volumeattnflagspitch)

            if(
g_knife_pvip[id])

                
emit_sound(idchannelpvip_sounds[0], volumeattnflagspitch)

            if(
g_knife_admin[id])

                
emit_sound(idchanneladmin_sounds[0], volumeattnflagspitch)

            if(
g_knife_headadmin[id])

                
emit_sound(idchannelheadadmin_sounds[0], volumeattnflagspitch)

            if(
g_knife_founder[id])

                
emit_sound(idchannelfounder_sounds[0], volumeattnflagspitch)

            if(
g_knife_survivor[id])

                
emit_sound(idchannelsurvivor_sounds[0], volumeattnflagspitch)

        }

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

        {

            if (
sample[17] == 'w'

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[3], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[3], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[3], volumeattnflagspitch)

                if(
g_knife_vip[id] )

                    
emit_sound(idchannelvip_sounds[3], volumeattnflagspitch)

                if(
g_knife_pvip[id] )

                    
emit_sound(idchannelpvip_sounds[3], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[3], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[3], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[3], volumeattnflagspitch)

                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[3], volumeattnflagspitch)


            }

            else

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_pvip[id])

                    
emit_sound(idchannelpvip_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[random_num(1,2)], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[random_num(1,2)], volumeattnflagspitch)
               
                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[random_num(1,2)], volumeattnflagspitch)


            }

        }

        else

        {

            if (
sample[15] == 'l'

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[4], volumeattnflagspitch)

                if(
g_knife_knife2[id])

                    
emit_sound(idchannelknife2_sounds[4], volumeattnflagspitch)

                if(
g_knife_knife3[id])

                    
emit_sound(idchannelknife3_sounds[4], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[4], volumeattnflagspitch)

                if(
g_knife_pvip[id])

                    
emit_sound(idchannelpvip_sounds[4], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[4], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[4], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[4], volumeattnflagspitch)

           
                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[4], volumeattnflagspitch)

            }

            else 

            {

                if(
g_knife_knife1[id])

                    
emit_sound(idchannelknife1_sounds[5], volumeattnflagspitch)

                if(
g_knife_knife2[id] )

                    
emit_sound(idchannelknife2_sounds[5], volumeattnflagspitch)

                if(
g_knife_knife3[id] )

                    
emit_sound(idchannelknife3_sounds[5], volumeattnflagspitch)

                if(
g_knife_vip[id])

                    
emit_sound(idchannelvip_sounds[5], volumeattnflagspitch)

                if(
g_knife_pvip[id])

                    
emit_sound(idchannelpvip_sounds[5], volumeattnflagspitch)

                if(
g_knife_admin[id])

                    
emit_sound(idchanneladmin_sounds[5], volumeattnflagspitch)

                if(
g_knife_headadmin[id])

                    
emit_sound(idchannelheadadmin_sounds[5], volumeattnflagspitch)

                if(
g_knife_founder[id])

                    
emit_sound(idchannelfounder_sounds[5], volumeattnflagspitch)

                if(
g_knife_survivor[id])

                    
emit_sound(idchannelsurvivor_sounds[5], volumeattnflagspitch)


            }

        }

        return 
HAM_SUPERCEDE

    
}

    return 
HAM_IGNORED

}



public 
message_DeathMsg(msg_idmsg_destid)

{

    static 
szTruncatedWeapon[33], iattackerivictim

    

    get_msg_arg_string
(4szTruncatedWeaponcharsmax(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_knife1[iattacker])

                
set_msg_arg_string(4"Dual Katana")

        }

    

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

        {

            if(
g_knife_knife2[iattacker])

                
set_msg_arg_string(4"Strong Gloves")

        }



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

        {

            if(
g_knife_knife3[iattacker])

                
set_msg_arg_string(4"Axe")

        }



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

        {

            if(
g_knife_vip[iattacker])

                
set_msg_arg_string(4"Hammer")

        }


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

        {

            if(
g_knife_pvip[iattacker])

                
set_msg_arg_string(4"Test Hammer")

        }


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

        {

            if(
g_knife_admin[iattacker])

                
set_msg_arg_string(4"Storm Knife")

        }

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

        {

            if(
g_knife_headadmin[iattacker])

                
set_msg_arg_string(4"Frost Knife")

        }

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

        {

            if(
g_knife_founder[iattacker])

                
set_msg_arg_string(4"Galaxy Hammer")

        }

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

        {

            if(
g_knife_survivor[iattacker])

                
set_msg_arg_string(4"Survivor Knife")

        }

    }

    return 
PLUGIN_CONTINUE

}



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

{  

    new 
count 1players[32];  

        static 
msg[191];  

        
vformat(msg190input3);  

        
replace_all(msg190"!g""^4"); // Green Color  

        
replace_all(msg190"!y""^1"); // Default Color 

        
replace_all(msg190"!t""^3"); // Team Color  

        
if (idplayers[0] = id; else get_players(playerscount"ch");  

        {  

            for ( new 
0counti++ )  

            {  

                    if ( 
is_user_connected(players[i]) )  

                    {  

                        
message_begin(MSG_ONE_UNRELIABLESayText_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(idtemp[0], temp[1])



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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife1_spd))

    }



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

        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife1_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife2_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife2_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_knife3_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_knife3_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_vip_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_vip_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_pvip_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_pvip_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_admin_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_admin_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }

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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_headadmin_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_headadmin_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_founder_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_founder_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


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

    {

        
g_hasSpeed[id] = true

        set_pev
(idpev_maxspeedget_pcvar_float(cvar_knife_survivor_spd))



        if ((
pev(idpev_button) & IN_JUMP) && !(pev(idpev_oldbuttons) & IN_JUMP))

        {

            new 
flags pev(idpev_flags)

            new 
waterlvl pev(idpev_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(idpev_velocityfVelocity)

            

            
fVelocity[2] += get_pcvar_num(cvar_knife_survivor_jump)

            

            
set_pev(idpev_velocityfVelocity)

            
set_pev(idpev_gaitsequence7)

        }

    }


    return 
FMRES_IGNORED

}  



public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_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_knife1[attacker])

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife1_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife2_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_knife3_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_vip_dmg))

    }

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

    {    

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_pvip_dmg))

    }        

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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_admin_dmg))

    }

    

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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_headadmin_dmg))

    }


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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_founder_dmg))

    }


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

    {     

        
SetHamParamFloat(4damage get_pcvar_float(cvar_knife_survivor_dmg))

    }


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


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


        if (
weapon == CSW_KNIFE && g_knife_founder[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(knifem_pPlayer4



        if(
zp_get_user_zombie(id))

        return 
HAM_IGNORED

    

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife1_spd_attack2

         

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 

 

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife2_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 



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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_knife3_spd_attack2

                 

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 



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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_vip_spd_attack2

                 

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_knife_pvip_spd_attack2

                 

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        } 


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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_admin_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     

    

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_headadmin_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     


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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_founder_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     
   

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

        { 

            static 
Float:flRate 

            flRate 
get_pcvar_float(cvar_survivor_spd_attack2

             

            
set_pdata_float(knifem_flNextPrimaryAttackflRate4

            
set_pdata_float(knifem_flNextSecondaryAttackflRate4

            
set_pdata_float(knifem_flTimeWeaponIdleflRate4

        }     


        return 
HAM_IGNORED 





public 
Burning5(taskid)

{

    static 
origin[3], flags

    get_user_origin
(ID_FBURN5origin)

    
flags pev(ID_FBURN5pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_FBURN6origin)

    
flags pev(ID_FBURN6pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_FBURN7origin)

    
flags pev(ID_FBURN7pev_flags)

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

    {

        
remove_task(taskid)

        return

    }

    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)

    
write_byte(TE_SPRITE)

    
write_coord(origin[0]+random_num(-55))

    
write_coord(origin[1]+random_num(-55))

    
write_coord(origin[2]+random_num(-1010))

    
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_knife1[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_knife2[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_knife3[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_vip[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_pvip[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_admin[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_headadmin[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_founder[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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_survivor[attacker])

    {

        new 
Float:vec[3];

        new 
Float:oldvelo[3];

        
get_user_velocity(idoldvelo);

        
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])>largestnumlargestnum floatabs(origin2[0]);

    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);



    
origin2[0] /= largestnum;

    
origin2[1] /= largestnum;



    if (
g_knife_knife1[attacker])

    {

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

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

    }



    if (
g_knife_knife2[attacker])

    {

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

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

    }



    if (
g_knife_knife3[attacker])

    {

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

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

    }



    if (
g_knife_vip[attacker])

    {

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

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

    }


    if (
g_knife_pvip[attacker])

    {

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

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

    }


    if (
g_knife_admin[attacker])

    {

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

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

    }



    if (
g_knife_headadmin[attacker])

    {

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

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

    }


        if (
g_knife_founder[attacker])

    {

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

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

    }


        if (
g_knife_survivor[attacker])

    {

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

        
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_survivor_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(00))

    {

        case 
0:

        {

            
g_knife_knife1[id] = true

            g_hasSpeed
[id] = true

        
}



    }

}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 

I added your code and what you said , but when i try compile it gives me a error on : plugin_init() is already defined at line 350
tedaimlocks is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-17-2024 , 20:45   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #7

That's because you have to integrate the code into your plugin, not just paste the entire thing as-is. Functions in plugin_init() need to go into your plugin_init() and functions in plugin_end() need to go into your plugin_end().
__________________
fysiks is online now
tedaimlocks
Senior Member
Join Date: Jan 2024
Old 02-18-2024 , 03:38   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #8

Quote:
Originally Posted by fysiks View Post
That's because you have to integrate the code into your plugin, not just paste the entire thing as-is. Functions in plugin_init() need to go into your plugin_init() and functions in plugin_end() need to go into your plugin_end().
I kind of did it , their knife gets saved on their steamid in the vault, but i dont know how to make it give them the knife, i used this:


and i also saved the knifes, i think
PHP Code:
public give_knife2(id)

{

    
g_knife_knife1[id] = false    

    g_knife_knife2
[id] = true    

    g_knife_knife3
[id] = false

    g_knife_vip
[id] = false    

    g_knife_pvip
[id] = false    

    g_knife_admin
[id] = false

    g_knife_headadmin
[id] = false

        g_knife_founder
[id] = false
    
        g_knife_survivor
[id] = false

    g_hasSpeed
[id] = true

    g_WasShowed
[id] = true

        SaveKnife
(id2

    
engfunc(EngFunc_EmitSoundidCHAN_BODYg_sound_knife1.0ATTN_NORM0PITCH_NORM)


If i remove g_knife_knife1[id] = true it will give them the default cs knife

PHP Code:
public client_putinserver(id)

{

    switch(
random_num(00))

    {

        case 
0:

        {

            
g_knife_knife1[id] = true

                        GetKnife
(id)

            
g_hasSpeed[id] = true

        
}



    }

}

public 
plugin_end()
{
    
nvault_close(g_pVault)
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 

Last edited by tedaimlocks; 02-18-2024 at 03:41.
tedaimlocks is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-18-2024 , 14:39   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #9

If you want to have the player resume their previous state as if they had selected the item from the menu then you essentially call the same code that sets them up for that selection. This doesn't necessarily work in all cases, it depends on the actual functionality of what you're doing. So, basically, it'll mirror your menu handler.

Also note that that the GetKnife() function must be called in or after client_authorized() to make sure that it actually works.
__________________
fysiks is online now
tedaimlocks
Senior Member
Join Date: Jan 2024
Old 02-19-2024 , 03:05   Re: [Knife Menu Save Choice] Scripting help
Reply With Quote #10

Quote:
Originally Posted by fysiks View Post
If you want to have the player resume their previous state as if they had selected the item from the menu then you essentially call the same code that sets them up for that selection. This doesn't necessarily work in all cases, it depends on the actual functionality of what you're doing. So, basically, it'll mirror your menu handler.

Also note that that the GetKnife() function must be called in or after client_authorized() to make sure that it actually works.
I didnt understand much of what you said since im new in AMXX ,so uh could you just do it for me
tedaimlocks 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 23:36.


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