/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <engine>
#include <csx>
#define PLUGIN "c4"
#define VERSION "0.1"
#define AUTHOR "K.K.Lv"
new gSpriteCircle;
new gC4Timer;
new Float:fOrigin[ 3 ];
new iOrigin[ 3 ];
public plugin_init() {
register_plugin( PLUGIN, VERSION, AUTHOR );
register_logevent( "RoundEnd", 2, "1=Round_End" );
}
public plugin_precache() {
gSpriteCircle = precache_model( "sprites/shockwave.spr" );
}
public bomb_planted( planter ) {
gC4Timer = get_cvar_num( "mp_c4timer" );
set_task( 1.0, "bomb_blast", 1987);
set_task( 1.0, "dist_time", 1990, "", 0, "b" );
}
public bomb_blast() {
new c4 = -1;
while ( ( c4 = find_ent_by_model( c4, "grenade", "models/w_c4.mdl" ) ) ) {
create_blast_circle( c4 );
}
static Float:task_time
if ( gC4Timer > 13 ) task_time = 1.0;
else if ( gC4Timer > 7 ) task_time = 0.5;
else task_time = 0.3;
set_task( task_time, "bomb_blast", 1987 );
}
public dist_time() {
--gC4Timer;
}
public RoundEnd() {
remove_task( 1987 );
remove_task( 1990 );
new c4 = -1;
while ( ( c4 = find_ent_by_model( c4, "grenade", "models/w_c4.mdl" ) ) ) {
remove_entity( c4 );
}
}
stock create_blast_circle( ent ) {
entity_get_vector( ent, EV_VEC_origin, fOrigin );
FVecIVec( fOrigin, iOrigin );
static r, g, b;
if ( gC4Timer > 13 ) {r = 255; g = 255; b = 255;}
else if ( gC4Timer > 7 ) {r = 125; g = 125; b = 0;}
else {r = 250; g = 10; b = 0;}
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ] );
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ] + 125 ) ;
write_short( gSpriteCircle );
write_byte( 0 );
write_byte( 1 );
write_byte( 6 );
write_byte( 8 );
write_byte( 1 );
write_byte( r );
write_byte( g );
write_byte( b );
write_byte( 128 );
write_byte( 5 );
message_end();
if ( gC4Timer > 7 ) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ] );
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ] + 270 ) ;
write_short( gSpriteCircle );
write_byte( 0 );
write_byte( 1 );
write_byte( 6 );
write_byte( 8 );
write_byte( 1 );
write_byte( r );
write_byte( g );
write_byte( b );
write_byte( 128 );
write_byte( 5 );
message_end();
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/