Kod: Tümünü seç
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <hamsandwich>
#define PLUGIN "LOL Baseye Isinlan"
#define VERSION "1.0"
#define AUTHOR ""
new Float: PlayerOrigin[ 33 ][ 3 ];
new has_used[ 33 ];
new g_life;
new dalga;
new isik;
new g_time, g_limit, g_teamcolor;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam( Ham_Spawn, "player", "fwd_spawn", 1 );
g_time = register_cvar( "lol_base_time", "4" );
g_limit = register_cvar( "lol_base_limit", "2" );
g_teamcolor = register_cvar( "lol_base_teamcolor", "1" );
register_clcmd( "say /base", "GoBackBase" );
}
public plugin_precache()
{
dalga = precache_model("sprites/shockwave.spr");
isik = precache_model( "sprites/lgtning.spr" );
}
public fwd_spawn( id )
{
if( is_user_alive( id ) )
{
has_used[ id ] = 0;
PlayerOrigin[ 0 ][ id ] = 0.0;
PlayerOrigin[ 1 ][ id ] = 0.0;
PlayerOrigin[ 2 ][ id ] = 0.0;
entity_get_vector( id, EV_VEC_origin, PlayerOrigin[ id ] );
}
}
public GoBackBase( id )
{
if( has_used[ id ] >= get_pcvar_num( g_limit ) )
{
client_print( id, print_chat, "Her Round %d Defa Kullanabilirsin.", get_pcvar_num( g_limit ) );
return PLUGIN_HANDLED;
}
if( !is_user_alive( id ) )
return PLUGIN_HANDLED;
client_print( id, print_center, "%d Saniye Sonra Baseye Isinlanacaksin.", get_pcvar_num( g_time ) );
has_used[ id ] += 1;
g_life = 0;
set_task( 0.3, "Dalgalar", id + 1500 );
set_task( 0.3, "Isin", id + 1498 );
set_task( float( get_pcvar_num( g_time ) ), "Back", id + 1499 );
ProgressBar( id, get_pcvar_num( g_time ), 0 );
return PLUGIN_CONTINUE;
}
public Back( id )
{
id -= 1499;
if( task_exists( id + 1500 ) ) remove_task( id + 1500 );
if( task_exists( id + 1499 ) ) remove_task( id + 1499 );
if( task_exists( id + 1498 ) ) remove_task( id + 1498 );
entity_set_origin( id, PlayerOrigin[ id ] );
g_life = 0;
new Origin1[ 3 ], Origin2[ 3 ];
get_user_origin( id, Origin2 );
Origin1[ 0 ] = Origin2[ 0 ];
Origin1[ 1 ] = Origin2[ 1 ];
Origin1[ 2 ] = Origin2[ 2 ] + 800;
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMPOINTS );
write_coord( Origin2[ 0 ] );
write_coord( Origin2[ 1 ] );
write_coord( Origin2[ 2 ] - 30 );
write_coord( Origin1[ 0 ] );
write_coord( Origin1[ 1 ] );
write_coord( Origin1[ 2 ] );
write_short( isik );
write_byte( 1 );
write_byte( 2 );
write_byte( 5 );
write_byte( 200 );
write_byte( 0 );
write_byte( 100 );
write_byte( 100 );
write_byte( 255 );
write_byte( 200 );
write_byte( 200 );
message_end();
}
public Dalgalar( id )
{
id -= 1500;
new buton = get_user_button( id );
if( buton & IN_FORWARD || buton & IN_BACK || buton & IN_JUMP|| buton & IN_MOVELEFT || buton & IN_MOVERIGHT )
{
client_print( id, print_center, "Isinlanirken Kipirdama !" );
remove_task( id + 1499 );
remove_task( id + 1500 );
remove_task( id + 1498 );
ProgressBar( id, 0, 0 );
has_used[ id ] -= 1;
g_life = 0;
return PLUGIN_HANDLED;
}
new Origin[ 3 ];
get_user_origin( id, Origin );
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMCYLINDER );
write_coord( Origin[ 0 ] );
write_coord( Origin[ 1 ] );
write_coord( Origin[ 2 ] - 35 );
write_coord( Origin[ 0 ] );
write_coord( Origin[ 1 ] );
write_coord( Origin[ 2 ] + 200 );
write_short( dalga );
write_byte( 0 );
write_byte( 3 );
if( g_life >= ( get_pcvar_num( g_time ) * 2 ) )
{
write_byte( 1 ); //life
}
else if( g_life >= ( get_pcvar_num( g_time ) ) )
{
write_byte( 2 ); //life
}
else {
write_byte( 3 ); //life
}
write_byte( 4 );
write_byte( 3 );
if( get_pcvar_num( g_teamcolor ) != 0 ) {
if( get_user_team( id ) == 2 ) {
write_byte( 10 );
write_byte( 10 );
write_byte( 255 );
}
else {
write_byte( 255 );
write_byte( 10 );
write_byte( 10 );
}
}
else {
write_byte( 110 );
write_byte( 110 );
write_byte( 255 );
}
write_byte( 200 );
write_byte( 0 );
message_end();
set_task( 0.1, "Dalgalar", id + 1500 );
return PLUGIN_CONTINUE;
}
public Isin( id )
{
id -= 1498;
new Origin1[ 3 ], Origin2[ 3 ];
get_user_origin( id, Origin2 );
Origin1[ 0 ] = Origin2[ 0 ];
Origin1[ 1 ] = Origin2[ 1 ];
Origin1[ 2 ] = Origin2[ 2 ] + 800;
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMPOINTS );
write_coord( Origin2[ 0 ] );
write_coord( Origin2[ 1 ] );
write_coord( Origin2[ 2 ] - 30 );
write_coord( Origin1[ 0 ] );
write_coord( Origin1[ 1 ] );
write_coord( Origin1[ 2 ] );
write_short( isik );
write_byte( 1 );
write_byte( 2 );
write_byte( 5 );
write_byte( 200 );
write_byte( 0 );
if( get_pcvar_num( g_teamcolor ) != 0 ) {
if( get_user_team( id ) == 2 ) {
write_byte( 10 );
write_byte( 10 );
write_byte( 255 );
}
else {
write_byte( 255 );
write_byte( 10 );
write_byte( 10 );
}
}
else {
write_byte( 110 );
write_byte( 110 );
write_byte( 255 );
}
write_byte( 200 );
write_byte( 200 );
message_end();
message_begin( MSG_PVS, SVC_TEMPENTITY, Origin1 );
write_byte( TE_SPARKS );
write_coord( Origin1[ 0 ] );
write_coord( Origin1[ 1 ]);
write_coord( Origin1[ 2 ] );
message_end();
g_life += 1;
set_task( 0.5, "Isin", id + 1498 );
}
stock ProgressBar(id, saniye, pozisyon )
{
message_begin( MSG_ONE, get_user_msgid( "BarTime" ), { 0, 0, 0 }, id );
write_byte( saniye );
write_byte( pozisyon );
message_end();
}