#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta>
#define PLUGIN "[Weapon] MP7A1"
#define VERSION "1.0"
#define AUTHOR "Sophia - Dias"
#define Replace_Weapon CSW_MP5NAVY
#define Replace_Weapon2 "weapon_mp5navy"
new const v_model[] = "models/v_mp7a1.mdl"
new const p_model[] = "models/p_mp7a1.mdl"
new bool:wpn_mp7a1[33]
new wpn_mp7a1_zoom
new cvar_cost, cvar_bpammo, cvar_clip
new Float:cvar_double_dmg
new bool:wpn_mp7a1_zoom1[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("event_roundend", 2, "1=Round_End")
RegisterHam(Ham_Spawn, "player", "player_spawn")
register_event("CurWeapon", "event_currentwpn", "be", "1=1")
RegisterHam(Ham_TakeDamage, "player", "ham_takedamage")
register_forward(FM_CmdStart, "fw_CmdStart")
register_clcmd("say /buy_mp7a1", "get_mp7a1")
cvar_bpammo = register_cvar("weapon_mp7a1_bpammo", "300")
cvar_clip = register_cvar("weapon_mp7a1_clip", "100")
cvar_double_dmg = register_cvar("weapon_mp7a1_dmg", "3.25")
cvar_cost = register_cvar("weapon_mp7a1_cost", "5000")
wpn_mp7a1_zoom = register_cvar("weapon_mp7a1_zoom", "1")
}
public plugin_precache()
{
precache_model(v_model)
precache_model(p_model)
}
public event_roundend(id)
{
wpn_mp7a1[id] = false
if(is_user_alive(id) && get_pcvar_num(wpn_mp7a1_zoom) == 1)
{
wpn_mp7a1_zoom = false
}
}
public player_spawn(id)
{
if(is_user_alive(id) && get_pcvar_num(wpn_mp7a1_zoom) == 1)
{
wpn_mp7a1_zoom = true
}
}
public event_currentwpn(id)
{
new weaponid = read_data(2)
if(weaponid == Replace_Weapon && wpn_mp7a1[id] == true)
{
set_pev(id, pev_viewmodel2, v_model)
set_pev(id, pev_weaponmodel2, p_model)
}
}
public ham_takedamage(attacker, victim, inflictor, Float:damage)
{
if(is_user_alive(attacker) && get_user_weapon(attacker) == Replace_Weapon && wpn_mp7a1[attacker] == true)
{
SetHamParamFloat(4, damage * get_pcvar_float(cvar_double_dmg))
}
}
public fw_CmdStart(id, uc_handle, seed)
{
if( !is_user_alive( id ) )
return PLUGIN_HANDLED
new WeaponID = get_user_weapon(id)
if(WeaponID == Replace_Weapon && wpn_mp7a1_zoom1[id] == true)
{
if (get_pcvar_num(wpn_mp7a1_zoom))
{
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
if(!wpn_mp7a1_zoom1[id] == true)
{
wpn_mp7a1_zoom1[id] = true
cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
client_cmd(id,"spk weapons/zoom")
}
else if (wpn_mp7a1_zoom1[id])
{
wpn_mp7a1_zoom1[id] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
}
}
}
if ( (wpn_mp7a1_zoom1[id] && (pev(id, pev_button) & IN_RELOAD)) || (wpn_mp7a1_zoom1[id] && WeaponID != Replace_Weapon))
{
wpn_mp7a1_zoom1[id] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
return PLUGIN_HANDLED
}
public get_mp7a1(id)
{
new money = cs_get_user_money(id)
if(is_user_alive(id) && money >= get_pcvar_num(cvar_cost))
{
cs_set_user_money(id, money-= get_pcvar_num(cvar_cost))
wpn_mp7a1[id] = true
give_item(id, "weapon_mp5navy")
cs_set_user_bpammo(id, Replace_Weapon, get_pcvar_num(cvar_bpammo))
cs_set_weapon_ammo(id, get_pcvar_num(cvar_clip))
} else {
client_print(id, print_center, "You Don't Have Enough Money (Required: %i)", get_pcvar_num(cvar_cost))
}
}