Jump to content

Welcome to Lost Souls | Best CS 1.6 servers | Counter Strike 1.6 Servers

Welcome to Lost Souls | Best CS 1.6 servers | Counter Strike 1.6 Servers, firstly we recommend you to register in our forums so you get more features in Servers & Forum.

Recommended Links to visit after you register:

  1. Gain 500 Ammo Packs in Zombie Plague Server.
  2. [English] Shop Guide OR [Spanish] Guía de la tienda
  3. Our Shop CHECK NUMBER 2 LINKS BEFORE YOU BUY FROM THE SHOP ⏏️⏏️

New Servers; Capture the Flag 63.251.20.160:27215 // ScoutzKnivez 63.251.20.160:27415
Tadd

Thunder Awp

Recommended Posts

Made this suggestion months ago, but nothing was ever done on it, so I'll make it again.

 

Description: In like every ZP server. It's a classic, please bring it here 😧

Skin link: https://gamebanana.com/skins/165211 though you could choose literally any AWP skin.

What does it do?: Around 300-400 damage to body (somewhere in there), 1500 damage to the head. Makes a thunder noise and thunder hits the person when headshotted (though honestly you don't need to add that who gives a fuck.) It basically servers as a 2 shot headshot to most zombies, good for points too. Costs somewhere between 20-35 points in most servers.

Share this post


Link to post
Share on other sites

here you go. It's the Golden AWP, but It works as you wish.

However this makes noobs rage. damage is located in fw_TakeDamage, Keep inmind that It works with headshot detection, walls won't block the damage cause fuck you.

#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
#include <fun>

// Plug info.
#define PLUG_VERSION "1.0"
#define PLUG_AUTH "H.RED.ZONE"

#define is_valid_player(%1) (1 <= %1 <= 32)

// Items Cost

const GoldenAWP_weapon_cost = 30  // Cost

//----------------
new g_iItemID, g_msgCurWeapon
new bullets[ 33 ]

new g_HasGoldenAWPWeapon[33], g_CurrentWeapon[33]

// Cvars
new cvar_enable, cvar_oneround, cvar_dmgmultiplier, cvar_goldbullets, cvar_uclip

// Offsets
const m_pPlayer = 		41
const m_flNextPrimaryAttack = 	46
const m_flNextSecondaryAttack =	47
const m_flTimeWeaponIdle = 	48

// Sprite
new m_spriteTexture
new Thunder
new g_iMaxPlayers;


new const thunder_sound[] = "ambience/thunder_clap.wav";

public plugin_init()
{
	//Register the Plugin
	register_plugin("[ZP] Extra Item: GoldenAWP", "1.0", "H.RED.ZONE")
	
	//Cvars
	cvar_enable = register_cvar("zp_GoldenAWP_enable", "1")
	cvar_oneround = register_cvar("zp_GoldenAWP_oneround", "1")
	cvar_goldbullets = register_cvar("zp_GoldenAWP_gold_bullets", "1")
	cvar_uclip = register_cvar("zp_GoldenAWP_unlimited_clip", "1")
	cvar_dmgmultiplier = register_cvar("zp_GoldenAWP_dmg_multiplier", "2")
	
	//Register Zombie Plague extra item
	g_iItemID = zp_register_extra_item("Super AWP", GoldenAWP_weapon_cost, ZP_TEAM_HUMAN)
	
	//Hamsandwich
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
	RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	
	//Message ID
	g_msgCurWeapon = get_user_msgid("CurWeapon")
	g_iMaxPlayers = get_maxplayers();

	//Events
	register_event("CurWeapon", "event_CurWeapon", "b", "1=1")	
	
	//Messages
	register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
}

public plugin_precache()
{
	// Hamsandwich Forwards
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	precache_sound( thunder_sound );
	// Models
	precache_model("models/zombie_plague/v_awp_gg.mdl")
	Thunder = precache_model("sprites/light_effect.spr");
}

public event_CurWeapon(id)
{
	// Not Alive
	if (!is_user_alive(id))
		return PLUGIN_CONTINUE
	
	// Store weapon
	g_CurrentWeapon[id] = read_data(2)
	
	// Check
	if(zp_get_user_zombie(id) || zp_get_user_survivor(id))
		return PLUGIN_CONTINUE
	
	// Has GoldenAWP
	if(!g_HasGoldenAWPWeapon[id] || g_CurrentWeapon[id] != CSW_AWP) 
		return PLUGIN_CONTINUE
	
	entity_set_string(id, EV_SZ_viewmodel, "models/zombie_plague/v_awp_gg.mdl")
	
	return PLUGIN_CONTINUE
}

public message_DeathMsg(msg_id, msg_dest, id)
{
	static szTruncatedWeapon[33], iAttacker, iVictim
	
	// Get truncated weapon
	get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
	
	// Get attacker and victim
	iAttacker = get_msg_arg_int(1)
	iVictim = get_msg_arg_int(2)
	
	// Non-player
	if(!is_user_connected(iAttacker) || iAttacker == iVictim)
		return PLUGIN_CONTINUE
	
	return PLUGIN_CONTINUE
}

public client_putinserver(id)
{
	g_HasGoldenAWPWeapon[id] = false
}

public client_disconnect(id)
{
	g_HasGoldenAWPWeapon[id] = false
}
public fw_PlayerSpawn_Post(id)
{
	// Remove Weapon
	if(get_pcvar_num(cvar_oneround) || !get_pcvar_num(cvar_enable))
	{
		if(g_HasGoldenAWPWeapon[id])
		{
			g_HasGoldenAWPWeapon[id] = false;
			ham_strip_weapon(id, "weapon_awp")
		}
	}
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
	if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
		return HAM_IGNORED
	
	// Victim has a GoldenAWP
	if(g_HasGoldenAWPWeapon[victim])
	{
		client_print(victim, print_center, "[Golden] Power")
		g_HasGoldenAWPWeapon[victim] = false
	}
	
	// Attacker has a GoldenAWP
	if(g_HasGoldenAWPWeapon[attacker] && g_CurrentWeapon[attacker] == CSW_AWP)
	{
		// Get Victim's Origin, Give AP cvar status and AP cvar amount
		// get target's origin
		new vorigin[ 3 ], pos[ 3 ]
		get_user_origin( victim, vorigin )
	
		// modify origins
		vorigin[ 2 ] -= 26
		pos[ 0 ] = vorigin[ 0 ] + 150
		pos[ 1 ] = vorigin[ 1 ] + 150
		pos[ 2 ] = vorigin[ 2 ] + 800
		// create lightning bolt
		Do_Thunder(pos,vorigin)
	}
	
	return HAM_IGNORED
}



stock ham_strip_weapon(id, weapon[])
{
	if(!equal(weapon,"weapon_",7)) 
		return 0
	
	new wId = get_weaponid(weapon)
	
	if(!wId) return 0
	
	new wEnt
	
	while((wEnt = find_ent_by_class(wEnt, weapon)) && entity_get_edict(wEnt, EV_ENT_owner) != id) {}
	
	if(!wEnt) return 0
	
	if(get_user_weapon(id) == wId) 
		ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
	
	if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) 
		return 0
	
	ExecuteHamB(Ham_Item_Kill, wEnt)
	
	entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) & ~(1<<wId))
	
	return 1
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage){
	const m_LastHitGroup = 75;
	//const m_LastHitGroup = 75
	if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AWP && g_HasGoldenAWPWeapon[attacker] )
	{
		if(is_user_connected(victim))
		{
			
			if (get_pdata_int( victim , m_LastHitGroup ) == HIT_HEAD) 
			{
			SetHamParamFloat(4, 1000.0)
			//get target's origin
			new vorigin[ 3 ], pos[ 3 ]
			get_user_origin( victim, vorigin )
	
			// modify origins
			vorigin[ 2 ] -= 26
			pos[ 0 ] = vorigin[ 0 ] + 150
			pos[ 1 ] = vorigin[ 1 ] + 150
			pos[ 2 ] = vorigin[ 2 ] + 800
		//	create lightning bolt
			Do_Thunder(pos,vorigin)

			}
			else 
			{
			SetHamParamFloat(4, 350.0)
			}
		}
	}
}
public zp_user_infected_post(id)
{
	// Has a Golden Weapon
	if(g_HasGoldenAWPWeapon[id])
		g_HasGoldenAWPWeapon[id] = false
}

public zp_user_humanized_post(id)
{
	// Has a Golden Weapon
	if(g_HasGoldenAWPWeapon[id])
		g_HasGoldenAWPWeapon[id] = false;
}
stock ham_give_weapon(id, weapon[])
{
	if(!equal(weapon,"weapon_",7)) 
		return 0
	
	new wEnt = create_entity(weapon)
	
	if(!is_valid_ent(wEnt)) 
		return 0
	
	entity_set_int(wEnt, EV_INT_spawnflags, SF_NORESPAWN)
	DispatchSpawn(wEnt)
	
	if(!ExecuteHamB(Ham_AddPlayerItem,id,wEnt))
	{
		if(is_valid_ent(wEnt)) entity_set_int(wEnt, EV_INT_flags, entity_get_int(wEnt, EV_INT_flags) | FL_KILLME)
		return 0
	}
	
	ExecuteHamB(Ham_Item_AttachToPlayer,wEnt,id)
	return 1
}

public zp_extra_item_selected(id, item)
{
	// GoldenAWP Weapon
	if (item == g_iItemID)
	{		
		// Var's
		g_HasGoldenAWPWeapon[id] = true
		
		// AWP
		ham_give_weapon(id, "weapon_awp")
		cs_set_user_bpammo(id, CSW_AWP, 30)
		
		
		// Updating Models
		static iAwpID 
		iAwpID = find_ent_by_owner(-1, "weapon_awp", id)
		
		ExecuteHamB(Ham_Item_Deploy, iAwpID)
		
		engclient_cmd(id, "weapon_awp")
		emessage_begin(MSG_ONE, g_msgCurWeapon, _, id)
		ewrite_byte(1) // active
		ewrite_byte(CSW_AWP) // weapon
		ewrite_byte(cs_get_weapon_ammo(iAwpID)) // clip
		emessage_end()
	}
}
public make_tracer(id)
{
	if (get_pcvar_num(cvar_goldbullets))
	{
		new clip,ammo
		new wpnid = get_user_weapon(id,clip,ammo)
		new pteam[16]
		
		get_user_team(id, pteam, 15)
		
		if ((bullets[id] > clip) && (wpnid == CSW_AWP) && g_HasGoldenAWPWeapon[id]) 
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1) // origin; your camera point.
			get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
			
			
			//BEAMENTPOINTS
			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)     //TE_BEAMENTPOINTS 0
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1) // framestart
			write_byte(5) // framerate
			write_byte(2) // life
			write_byte(10) // width
			write_byte(0) // noise
			write_byte( 255 )     // r, g, b
			write_byte( 215 )       // r, g, b
			write_byte( 0 )       // r, g, b
			write_byte(200) // brightness
			write_byte(150) // speed
			message_end()
		}
	
		bullets[id] = clip
	}
	
}
public checkWeapon(id)
{
	new plrClip, plrAmmo, plrWeap[32]
	new plrWeapId
	
	plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
	
	if (plrWeapId == CSW_AWP && g_HasGoldenAWPWeapon[id])
	{
		return PLUGIN_CONTINUE
	}
	
	if (plrClip == 0 && get_pcvar_num(cvar_uclip))
	{
		// If the user is out of ammo..
		get_weaponname(plrWeapId, plrWeap, 31)
		// Get the name of their weapon
		ham_give_weapon(id, plrWeap)
		engclient_cmd(id, plrWeap) 
		engclient_cmd(id, plrWeap)
		engclient_cmd(id, plrWeap)
	}
	return PLUGIN_HANDLED
}

Do_Thunder( start[ 3 ], end[ 3 ] )
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
	write_byte( TE_BEAMPOINTS ); 
	write_coord( start[ 0 ] ); 
	write_coord( start[ 1 ] ); 
	write_coord( start[ 2 ] ); 
	write_coord( end[ 0 ] ); 
	write_coord( end[ 1 ] ); 
	write_coord( end[ 2 ] ); 
	write_short( Thunder ); 
	write_byte( 1 );
	write_byte( 5 );
	write_byte( 7 );
	write_byte( 20 );
	write_byte( 30 );
	write_byte( 200 ); 
	write_byte( 200 );
	write_byte( 200 );
	write_byte( 200 );
	write_byte( 200 );
	message_end();
	
	message_begin( MSG_PVS, SVC_TEMPENTITY, end );
	write_byte( TE_SPARKS );
	write_coord( end[ 0 ]  );
	write_coord( end[ 1 ]);
	write_coord( end[ 2 ] );
	message_end();
	
	emit_sound( 0 ,CHAN_ITEM, thunder_sound, 1.0, ATTN_NORM, 0, PITCH_NORM );
}

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

 

  • Like 1

Share this post


Link to post
Share on other sites

@AirStriker @Nightbot.

 

Thoughts? Lord even added the code. After you guys removed shark and phoenix guns, it'd be cool to have this to at least bring back another new item.

Share this post


Link to post
Share on other sites

Good suggestion, we will work in this later.. Thanks for your suggestion! 

Accepted!

Closed/Moved

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...