All pastes #81628 Raw Edit

Hawk552

public text v1 · immutable
·published 2006-07-07 18:19 UTC
rendered paste body
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <fakemeta>

#define PLUGIN "SMOKE PUNISH"
#define VERSION "1.0"
#define AUTHOR "RapHero2000/Zenith77"

#define TASK_NADE 1234567890

new gSprWhite;
new gSprSmoke;



public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_cvar("amx_smoke", "1")     //turns the plugin on and off
	register_cvar("amx_smoke_hp", "101")    //sets the amount of hp is takin when a player throws smoke nade
	
	register_event("SendAudio","EventGrenade","bc","2=%!MRAD_FIREINHOLE")
	
}

public plugin_precache() {
	
	gSprWhite = precache_model("sprites/white.spr");
	gSprSmoke = precache_model("sprites/smoke.spr");
	
}

public GrenadeEvent()  {
	
	if(!get_cvar_num("amx_smoke"))
		return;
	
	new id = read_data(1);
	set_task(0.1, "CheckNade", TASK_NADE+id);
	
}

public CheckNade(id) {
	
	id -= TASK_NADE;
	new nade = get_grenade (id);
	if(nade) 
	{
		new model[33];
		pev(nade, pev_model, model,32);
		
		if(equal(model, "models/w_smokegrenade.mdl"))
		{
			user_kill(id)
			Explode(id);
		}
	}
}


Explode(player_slay) 
{
	new vec1[3];
	get_user_origin(player_slay, vec1, 0);
	
	message_begin( MSG_ALL,SVC_TEMPENTITY) 
	write_byte( 21 ) 
	write_coord(vec1[0]) 
	write_coord(vec1[1]) 
	write_coord(vec1[2] + 16) 
	write_coord(vec1[0]) 
	write_coord(vec1[1]) 
	write_coord(vec1[2] + 1936) 
	write_short( gSprWhite ) 
	write_byte( 0 ) // startframe 
	write_byte( 0 ) // framerate 
	write_byte( 2 ) // life 
	write_byte( 16 ) // width 
	write_byte( 0 ) // noise 
	write_byte( 188 ) // r 
	write_byte( 220 ) // g 
	write_byte( 255 ) // b 
	write_byte( 255 ) //brightness 
	write_byte( 0 ) // speed 
	message_end() 
	//Explosion2 
	message_begin( MSG_ALL,SVC_TEMPENTITY) 
	write_byte( 12 ) 
	write_coord(vec1[0]) 
	write_coord(vec1[1]) 
	write_coord(vec1[2]) 
	write_byte( 188 ) // byte (scale in 0.1's) 
	write_byte( 10 ) // byte (framerate) 
	message_end() 
	//Smoke 
	message_begin( MSG_ALL,SVC_TEMPENTITY) 
	write_byte( 5 ) 
	write_coord(vec1[0]) 
	write_coord(vec1[1]) 
	write_coord(vec1[2])
	write_short(gSprSmoke)
	write_byte(2)   
	write_byte(10)   
	message_end()
	
	user_kill(player_slay, 1); 
	
	client_print(player_slay, print_chat, "[AMXX] You are not allowed to use smoke grenades!");
	
}