#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <amxmisc>

#define PLUGIN "Knife Mod"
#define VERSION "0.6"
#define AUTHOR "LaSsHhH"

new plugin_on
new cvar_respawn,cvar_respawntime
new cvar_weapons
new cvar_give_weapons

// Macros
#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("knifemod.txt")
plugin_on = register_cvar("knife_mod", "1");
RegisterHam(Ham_Spawn, "player", "Fwd_Ham_Spawn_Post", 1); // Spawns
RegisterHam(Ham_Killed,"player","fwd_killed") 
cvar_respawn = register_cvar("knife_mod_respawn","1") 
cvar_respawntime = register_cvar("knife_mod_respawn_time","3.0") // Must be a float
cvar_weapons = register_cvar("knife_mod_remove_weapons","1")
cvar_give_weapons = register_cvar("knife_mod_start_weapon", "weapon_knife")
register_concmd("kf_weapon", "cmd_weapon", ADMIN_SLAY, "<saxeli | #userid> - iaragis micema")
register_clcmd("say /respawn", "cmd_respawn")     
register_message(get_user_msgid("StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon
register_concmd("kf_frag", "cmd_frag", ADMIN_SLAY, "<saxeli | #userid - fragis micema")
register_concmd("kf_hp", "cmd_give_hp", ADMIN_SLAY, "<saxeli | #userod - sicocxlis micema")

// Remove buyzone on map
remove_entity_name("info_map_parameters");
remove_entity_name("func_buyzone");

// Create own entity to block buying
new iEntity = create_entity("info_map_parameters");

DispatchKeyValue(iEntity, "buying", "3");
DispatchSpawn(iEntity);
}
   

public cmd_respawn(id)     
{   
ExecuteHamB(Ham_CS_RoundRespawn,id)
}

public fwd_killed(victim,attacker) 
{ 
if (get_pcvar_num(cvar_respawn)) set_task(get_pcvar_float(cvar_respawntime),"task_respawn",victim) 
} 
public task_respawn(id) 
{ 
ExecuteHamB(Ham_CS_RoundRespawn,id) 
client_print(id,print_center, "%L", LANG_PLAYER, "RSP") 
} 

public Fwd_Ham_Spawn_Post(id) 

{
    if(get_pcvar_num(plugin_on))
    {
{ 
   
{
    if(get_pcvar_num(cvar_weapons))
    {
{ 
strip_user_weapons(id);
}
    }
} 

{
    if(get_pcvar_num(cvar_give_weapons))
    {
{ 

give_item(id, "weapon_knife");
}
    }
} 
}
}
}

public MsgStatusIcon(msg_id, msg_dest, id)
{
new szIcon[8];
get_msg_arg_string(2, szIcon, 7);

static const BuyZone[ ] = "buyzone";

if(equal(szIcon, BuyZone))
{
set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5)

return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

public cmd_weapon(id)
{
   if (!is_user_admin(id))
   {
      client_print(id, print_chat, "%L", LANG_PLAYER, "CANT") 
      return PLUGIN_HANDLED
   }
   give_item(id, "weapon_m4a1")
   client_print(id, print_chat, "%L", LANG_PLAYER, "WPN") 
   return PLUGIN_HANDLED
   }
   
public cmd_frag(id)
{
if (!is_user_admin(id))
{
client_print(id, print_chat, "%L", LANG_PLAYER, "CANT") 
}
set_user_frags(id, 100 )
client_print(id, print_chat, "%L", LANG_PLAYER, "GVE_FRAG") 
}


public cmd_give_hp(id)
{
   
if (!is_user_admin(id))
{
client_print(id, print_chat, "%L", LANG_PLAYER, "CANT") 
}
set_user_health(id, 250 )
client_print(id, print_chat, "%L", LANG_PLAYER, "GVE_HP")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
