Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Admin Thunder"
#define VERSION "1.0"
#define AUTHOR "anakin_cstrike"
new const thunder_sound[] = "ambience/thunder_clap.wav";
new
lightning, g_smoke,
g_msgsaytext, g_msgclcorpse, g_maxplayers, pointer;
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
register_concmd( "amx_thunder", "thunder_cmd", ADMIN_SLAY, "- <target>" );
g_msgsaytext = get_user_msgid( "SayText" );
g_msgclcorpse = get_user_msgid( "ClCorpse" );
pointer = get_cvar_pointer( "amx_show_activity" );
g_maxplayers = get_maxplayers();
}
public plugin_precache()
{
precache_sound( thunder_sound );
lightning = precache_model( "sprites/lgtning.spr" );
g_smoke = precache_model( "sprites/steam1.spr" );
}
public thunder_cmd( id, level, cid )
{
if( !cmd_access( id, level, cid, 2 ) )
return PLUGIN_HANDLED;
new arg[ 32 ];
read_argv( 1, arg, 31 );
new target = cmd_target( id, arg, 6 );
if( !target )
return PLUGIN_HANDLED;
new vorigin[ 3 ], pos[ 3 ];
get_user_origin( target, vorigin );
vorigin[ 2 ] -= 26;
pos[ 0 ] = vorigin[ 0 ] + 150;
pos[ 1 ] = vorigin[ 1 ] + 150;
pos[ 2 ] = vorigin[ 2 ] + 800;
set_msg_block( g_msgclcorpse, BLOCK_ONCE );
user_kill( target );
Thunder( pos, vorigin );
Smoke( vorigin, 10, 10 );
Blood( vorigin );
ShowActivity( id, target );
return PLUGIN_HANDLED;
}
Thunder( ivec1[ 3 ], ivec2[ 3 ] )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMPOINTS );
write_coord( ivec1[ 0 ] );
write_coord( ivec1[ 1 ] );
write_coord( ivec1[ 2 ] );
write_coord( ivec2[ 0 ] );
write_coord( ivec2[ 1 ] );
write_coord( ivec2[ 2 ] );
write_short( lightning );
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, ivec2 );
write_byte( TE_SPARKS );
write_coord( ivec2[ 0 ] );
write_coord( ivec2[ 1 ]);
write_coord( ivec2[ 2 ] );
message_end();
emit_sound( 0 ,CHAN_ITEM, thunder_sound, 1.0, ATTN_NORM, 0, PITCH_NORM );
}
Smoke( iorigin[ 3 ], scale, framerate )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_SMOKE );
write_coord( iorigin[ 0 ] );
write_coord( iorigin[ 1 ] );
write_coord( iorigin[ 2 ] );
write_short( g_smoke );
write_byte( scale );
write_byte( framerate );
message_end();
}
Blood( ivec1[ 3 ] )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_LAVASPLASH );
write_coord( ivec1[ 0 ] );
write_coord( ivec1[ 1 ] );
write_coord( ivec1[ 2 ] );
message_end();
}
ShowActivity( admin, player )
{
new value = get_pcvar_num( pointer );
if( !value )
return 0;
new Buffer[ 128 ], adminname[ 32 ], playername[ 32 ], i;
get_user_name( admin, adminname, 31 );
get_user_name( player, playername, 31 );
formatex( Buffer, sizeof Buffer - 1, "^1ADMIN: ^4%s: ^3kafasina simsek dusurdu. ^4%s.", (value==1) ? "" : adminname, playername );
for( i = 1; i <= g_maxplayers; i++ )
{
if( !is_user_connected( i ) )
continue;
if( is_user_bot( i ) )
continue;
message_begin( MSG_ONE, g_msgsaytext, _, i );
write_byte( i );
write_string( Buffer );
message_end();
}
return 1;
}