arkadaşlar selamlar aşağıdaki plugin amx_thunder nick yaptıgımızda oyuncuya yıldırım düşürüyor ve güzel bir efect ve ses veriyor. ben bu plugini komut olarak değil admin KICK yetkisine sahip bir admin kill aldıgında bu efect şeklinde öldürmesini yapmak istiyorum kick yetkisine sahip herkeste öldürme efectleri böyle olsun istiyorum yardımcı olursanız sevinirim. şimdiden elinize saglık
Kod:
#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, "ADMIN %s: Trucked-down player %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;
}

tek sıkıntı ses dosyası kill alınca şimşek çakma sesini herkes duyuyor onu şahsi yapma sansımız var mı acaba sadece admin duysun @