Hello, i have a hero called green beret on my server... but it has no recoil in the .sma file and i want to remove it... does someone know how to remove the no recoil only ? Heres the CODE:
Code:
// greenberet
/* CVARS - copy and paste to shconfig.cfg
//Greenberet
greenberet_level 11
greenberet_health 400 //how much health green beret has
greenberet_armor 300 //how much armor green beret has
greenberet_gravity 0.40 //how much gravity green beret has
greenberet_m4a1mult 2.0 //Damage multiplyer for his m4a1
*/
#include <amxmod>
#include <Vexd_Utilities>
#include <superheromod>
// VARIABLES
new gHeroName[]="Greenberet"
new gHasgreenberetPower[SH_MAXSLOTS+1]
new gClosestDist[SH_MAXSLOTS+1]
new Float:gPunchAngle[3] = {0.0,0.0,0.0}
//----------------------------------------------------------------------------------------------
public plugin_init()
{
// Plugin Info
register_plugin("SUPERHERO Greenberet","1.1","AsianBoi")
// DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG
register_cvar("greenberet_level", "11")
register_cvar("greenberet_health", "400")
register_cvar("greenberet_armor", "300")
register_cvar("greenberet_gravity", "0.40")
register_cvar("greenberet_m4a1mult", "2.0")
// FIRE THE EVENT TO CREATE THIS SUPERHERO!
shCreateHero(gHeroName, "Elite Beret", "Awesome M4 + More Damage", false, "greenberet_level" )
// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)
// INIT
register_srvcmd("greenberet_init", "greenberet_init")
shRegHeroInit(gHeroName, "greenberet_init")
register_event("ResetHUD", "newSpawn","b")
register_event("CurWeapon", "weaponChange","be","1=1")
register_event("Damage", "greenberet_damage","b","2!0")
// Let Server know about greenberet's Variable
shSetMaxHealth(gHeroName, "greenberet_health")
shSetMaxArmor(gHeroName, "greenberet_armor")
shSetMinGravity(gHeroName, "greenberet_gravity")
shSetShieldRestrict(gHeroName)
set_task(1.0,"greenberet_loop",0,"",0,"b" )
}
//----------------------------------------------------------------------------------------------
public plugin_precache()
{
precache_model("models/shmod/greenberet_v_m4a1.mdl")
precache_model("models/shmod/greenberet_p_m4a1.mdl")
}
//----------------------------------------------------------------------------------------------
public greenberet_init()
{
// First Argument is an id
new temp[6]
read_argv(1,temp,5)
new id=str_to_num(temp)
// 2nd Argument is 0 or 1 depending on whether the id has the hero
read_argv(2,temp,5)
new hasPowers = str_to_num(temp)
gHasgreenberetPower[id] = (hasPowers != 0)
//Reset thier shield restrict status
//Shield restrict MUST be before weapons are given out
shResetShield(id)
if ( !is_user_alive(id) ) return
if ( gHasgreenberetPower[id] ) {
greenberet_weapons(id)
set_user_footsteps(id, 1)
switchmodel(id)
}
else {
engclient_cmd(id,"drop","weapon_m4a1")
shRemHealthPower(id)
shRemArmorPower(id)
shRemGravityPower(id)
}
}
//----------------------------------------------------------------------------------------------
public newSpawn(id)
{
if ( gHasgreenberetPower[id] && is_user_alive(id) && shModActive() ) {
set_task(0.1, "greenberet_weapons", id)
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid != CSW_M4A1 && wpnid > 0) {
new wpn[32]
get_weaponname(wpnid,wpn,31)
engclient_cmd(id,wpn)
}
}
}
//----------------------------------------------------------------------------------------------
public greenberet_weapons(id)
{
if ( is_user_alive(id) && shModActive() ) {
shGiveWeapon(id,"weapon_m4a1")
}
}
//----------------------------------------------------------------------------------------------
public switchmodel(id)
{
if ( !is_user_alive(id) || !gHasgreenberetPower[id] ) return
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid == CSW_M4A1) {
// Weapon Model change thanks to [CCC]Taz-Devil
Entvars_Set_String(id, EV_SZ_viewmodel, "models/shmod/greenberet_v_m4a1.mdl")
Entvars_Set_String(id, EV_SZ_weaponmodel, "models/shmod/greenberet_p_m4a1.mdl")
}
}
//----------------------------------------------------------------------------------------------
public weaponChange(id)
{
if ( !gHasgreenberetPower[id] || !shModActive() ) return
new wpnid = read_data(2)
new clip = read_data(3)
if ( wpnid != CSW_M4A1 ) return
switchmodel(id)
// Never Run Out of Ammo!
if ( clip == 0 ) {
shReloadAmmo(id)
}
}
//----------------------------------------------------------------------------------------------
public greenberet_damage(id)
{
if (!shModActive() || !is_user_alive(id)) return
new damage = read_data(2)
new weapon, bodypart, attacker = get_user_attacker(id, weapon, bodypart)
new headshot = bodypart == 1 ? 1 : 0
if ( attacker <= 0 || attacker > SH_MAXSLOTS ) return
if ( gHasgreenberetPower[attacker] && weapon == CSW_M4A1 && is_user_alive(id) ) {
// do extra damage
new extraDamage = floatround(damage * get_cvar_float("greenberet_m4a1") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "m4a1", headshot )
}
}
//----------------------------------------------------------------------------------------------
public greenberet_loop()
{
if ( !shModActive() || !hasRoundStarted() ) return
new distance, Origin[3], eOrigin[3]
new players[SH_MAXSLOTS], pnum, id, enemy
get_players(players, pnum, "a")
for (new i = 0; i < pnum; i++) {
id = players[i]
if ( gHasgreenberetPower[id] && is_user_alive(id) ) {
gClosestDist[id] = 1182
for (new e = 0; e < pnum; e++) {
enemy = players[e]
if( !is_user_alive(enemy) || get_user_team(id) == get_user_team(enemy) ) continue
get_user_origin(id, Origin)
get_user_origin(enemy, eOrigin)
distance = get_distance(eOrigin, Origin)
if (distance <= gClosestDist[id]){
gClosestDist[id] = distance
}
}
// get_distance() returns inches and 1 inch = 0.0254 meters
if (gClosestDist[id] * 0.0254 <= 10.0) {
set_hudmessage(255, 0, 0, 0.01, 0.27, 1, 6.0, 0.5, 0.1, 0.1, 155)
show_hudmessage(id, "DANGER! Enemy Detected Within 10 Meters!!!")
}
else if (gClosestDist[id] * 0.0254 <= 20.0) {
set_hudmessage(255, 155, 0, 0.01, 0.27, 1, 6.0, 0.5, 0.1, 0.1, 155)
show_hudmessage(id, "WARNING! Enemy Detected Within 20 Meters!!")
}
else if (gClosestDist[id] * 0.0254 <= 30.0) {
set_hudmessage(255, 255, 255, 0.01, 0.27, 1, 6.0, 0.5, 0.1, 0.1, 155)
show_hudmessage(id, "CAUTION! Enemy Detected Within 30 Meters!")
}
}
}
}
//----------------------------------------------------------------------------------------------
public client_PreThink(id)
{
if(gHasgreenberetPower[id] && is_user_alive(id))
{
entity_set_vector(id,EV_VEC_punchangle,gPunchAngle);
}
}