#include <amxmodx>
#include <amxmisc>
#include <fun>

public plugin_init()
{
    register_plugin("Knife Only Rewrite","1.0","Hawk552");
    
    register_concmd("amx_knives","set_knives",ADMIN_KICK," - toggles knives");
    register_cvar("amx_knives","0");
    
    register_event("CurWeapon","check_knives","b");
}

public check_knives(id)
{
    if(!get_cvar_num("amx_knives"))
        return 0;
        
    new clip,ammo,weap = get_user_weapon(id,clip,ammo);
    
    if(weap != CSW_KNIFE)
    {
        strip_user_weapons(id);
        give_item(id,"weapon_knife");
    }
    
    return 0;
}

public set_knives(id,level,cid)
{
    if(!cmd_access(id,level,cid,1))
        return 0;
        
    if(get_cvar_num("amx_knives")==0)
    {
        set_cvar_num("amx_knives",1);
        new playersnum = get_playersnum(), i;
        for(i = 0;i <= playersnum;i++)
        {
            check_knives(i);
        }
        switch(get_cvar_num("amx_show_activity"))
        {
            case 1:
            {
                client_print(0,print_chat,"[AMXX] Knife only mode has been activated.");
            }
            
            case 2:
            {
                new name[32];
                get_user_name(id,name,31);
                
                client_print(0,print_chat,"ADMIN %s: Knife only mode has been activated.",name);
            }
        }
    }
    else if(get_cvar_num("amx_knives")==1)
    {
        set_cvar_num("amx_knives",0);
    
        switch(get_cvar_num("amx_show_activity"))
        {
            case 1:
            {
                client_print(0,print_chat,"[AMXX] Knife only mode has been deactivated.");
            }
            
            case 2:
            {
                new name[32];
                get_user_name(id,name,31);
                
                client_print(0,print_chat,"ADMIN %s: Knife only mode has been deactivated.",name);
            }
        }
    }
    
    return 0;
}