Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Kërko Plugins [Me Ngjyra]
#include <amxmodx>
#include <engine>

new const Version[] = "0.3";

enum BombSites
{
BOMBSITE_A,
BOMBSITE_B
}

new g_iBombSiteEntity[ BombSites ];
new bool:g_bBombSiteStatus[ BombSites ];
new g_iPlayerWithBomb;
new bool:g_bPlayerHoldingBomb;

new g_iHUDEntity;

new g_pCVarAllowPlantNum;
new g_pCVarLockSiteNum;
new g_pCVarLockSite;

public plugin_init( )
{
register_plugin( "BombSite Lock" , Version , "bugsy" );

register_concmd( "bl_setbombsite" , "SetBombSiteConsole" , ADMIN_KICK );
register_concmd( "bl_bombsitemenu" , "ShowBombSiteMenu" , ADMIN_KICK );

register_event( "CurWeapon" , "fw_EvCurWeapon" , "b" , "1=1" );
register_event( "WeapPickup", "fw_EvWeapPickup" , "be" , "1=6" );
register_event( "BombDrop" , "fw_EvBombDrop" , "bc" );

register_logevent( "fw_EvRoundStart" , 2 , "1=Round_Start" );

g_pCVarAllowPlantNum = register_cvar( "bl_allowplantctnum" , "0" );
g_pCVarLockSiteNum = register_cvar( "bl_locksitectnum" , "2" );
g_pCVarLockSite = register_cvar( "bl_locksite" , "b" );

g_iHUDEntity = create_entity( "info_target" );
entity_set_string( g_iHUDEntity , EV_SZ_classname , "bl_hud_entity" );
register_think( "bl_hud_entity" , "fw_HUDEntThink" );

new szMap[ 11 ] , BombSites:bsBombSiteA , BombSites:bsBombSiteB;
get_mapname( szMap , charsmax( szMap ) );

if ( equal( szMap , "de_chateau" ) || equal( szMap , "de_dust2" ) || equal( szMap , "de_train" ) )
{
bsBombSiteA = BOMBSITE_B;
bsBombSiteB = BOMBSITE_A;
}
else
{
bsBombSiteA = BOMBSITE_A;
bsBombSiteB = BOMBSITE_B;
}

g_iBombSiteEntity[ bsBombSiteA ] = find_ent_by_class( -1 , "func_bomb_target" );
g_iBombSiteEntity[ bsBombSiteB ] = find_ent_by_class( g_iBombSiteEntity[ bsBombSiteA ] , "func_bomb_target" );
}

public client_disconnect( id )
{
if ( g_iPlayerWithBomb == id )
{
g_iPlayerWithBomb = 0;
g_bPlayerHoldingBomb = false;
}
}

public fw_EvCurWeapon( id )
{
if ( id == g_iPlayerWithBomb )
{
if ( read_data( 2 ) == CSW_C4 )
{
g_bPlayerHoldingBomb = true;
entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
}
else
{
g_bPlayerHoldingBomb = false;
}
}
}

public fw_EvWeapPickup( id )
{
g_iPlayerWithBomb = id;
}

public fw_EvBombDrop()
{
g_iPlayerWithBomb = 0;
g_bPlayerHoldingBomb = false;
}

public fw_EvRoundStart()
{
new iAllowPlantNum = get_pcvar_num( g_pCVarAllowPlantNum );
new iLockSiteNum = get_pcvar_num( g_pCVarLockSiteNum );
new iPlayers[ 32 ] , iNum , iCTCount;

get_players( iPlayers , iNum , "h" );

for ( new i = 0 ; i < iNum ; i++ )
if ( get_user_team( iPlayers[ i ] ) == 2 )
iCTCount++;

if ( iCTCount < iAllowPlantNum )
{
SetBombSiteLock( BOMBSITE_A , true );
SetBombSiteLock( BOMBSITE_B , true );

client_print( 0 , print_chat , "* BombSites A & B are both locked since there are less than %d CTs." , iAllowPlantNum );
}
else if ( iCTCount < iLockSiteNum )
{
new szSite[ 2 ];
get_pcvar_string( g_pCVarLockSite , szSite , charsmax( szSite ) );
szSite[ 0 ] = toupper( szSite[ 0 ] );

if ( !( 'A' <= szSite[ 0 ] <= 'B' ) )
return PLUGIN_CONTINUE;

SetBombSiteLock( ( szSite[ 0 ] == 'A' ) ? BOMBSITE_A : BOMBSITE_B , true );
SetBombSiteLock( ( szSite[ 0 ] == 'A' ) ? BOMBSITE_B : BOMBSITE_A , false );

client_print( 0 , print_chat , "* BombSite %s has been locked since there are less than %d CTs." , szSite , iLockSiteNum );
}
else
{
SetBombSiteLock( BOMBSITE_A , false );
SetBombSiteLock( BOMBSITE_B , false );
}

return PLUGIN_CONTINUE;
}

public SetBombSiteConsole( id , AdminLevel )
{
if ( !( get_user_flags( id ) & AdminLevel ) )
{
console_print( id , "* You do not have access to this command." );
return PLUGIN_HANDLED;
}

if ( !g_iBombSiteEntity[ BOMBSITE_A ] || !g_iBombSiteEntity[ BOMBSITE_B ] )
{
console_print( id , "* BombSite Lock: Sorry, this map is not supported." );
return PLUGIN_HANDLED;
}

new szSite[ 3 ] , szState[ 3 ] , iState , BombSites:bsSite;
read_argv( 1 , szSite , charsmax( szSite ) );
read_argv( 2 , szState , charsmax( szState ) );

iState = str_to_num( szState );

if ( ( strlen( szSite ) > 1 ) || !is_str_num( szState ) || !( 0 <= iState <= 1 ) )
szSite[ 0 ] = 'X';
else
szSite[ 0 ] = toupper( szSite[ 0 ] );

switch ( szSite[ 0 ] )
{
case 'A':
{
bsSite = BOMBSITE_A;
}
case 'B':
{
bsSite = BOMBSITE_B;
}
default:
{
console_print( id , "* BombSite Lock: Invalid arguments, use format: 'fb_setbombsite a\b 0\1'" );
return PLUGIN_HANDLED;
}
}

SetBombSiteLock( bsSite , bool:iState );

console_print( id , "* BombSite %s has been %socked" , szSite , iState ? "L" : "Unl" );

set_hudmessage( 255 , 255 , 255 , -1.0 , 0.65 , 0 , 3.0 , 3.0 , .channel = -1 );
show_hudmessage( 0 , "BombSite %s has been %socked" , szSite , iState ? "L" : "Unl" );

return PLUGIN_HANDLED;
}

public ShowBombSiteMenu( id , AdminLevel )
{
if ( !( get_user_flags( id ) & AdminLevel ) )
{
console_print( id , "* You do not have access to this command." );
return PLUGIN_HANDLED;
}

if ( !g_iBombSiteEntity[ BOMBSITE_A ] || !g_iBombSiteEntity[ BOMBSITE_B ] )
{
console_print( id , "* BombSite Lock: Sorry, this map is not supported." );
return PLUGIN_HANDLED;
}

new iMenu = menu_create( "BombSite Lock Menu" , "MenuHandler" );
new iCallBack = menu_makecallback( "MenuCallBack" );

menu_additem( iMenu , "Lock A" , .callback = iCallBack );
menu_additem( iMenu , "Lock B" , .callback = iCallBack );
menu_additem( iMenu , "Unlock A" , .callback = iCallBack );
menu_additem( iMenu , "Unlock B" , .callback = iCallBack );
menu_additem( iMenu , "Lock A & B" , .callback = iCallBack );
menu_additem( iMenu , "Unlock A & B" , .callback = iCallBack );

menu_display( id , iMenu );

return PLUGIN_HANDLED;
}

public MenuCallBack( id , iMenu, iItem )
{
new iRetVal;

switch ( iItem )
{
case 0: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] ? ITEM_DISABLED : ITEM_ENABLED;
case 1: iRetVal = g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_DISABLED : ITEM_ENABLED;
case 2: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] ? ITEM_ENABLED : ITEM_DISABLED;
case 3: iRetVal = g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_ENABLED : ITEM_DISABLED;
case 4: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_DISABLED : ITEM_ENABLED;
case 5: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] || g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_ENABLED : ITEM_DISABLED;
}

return iRetVal;
}

public MenuHandler( id , iMenu , iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}

set_hudmessage( 255 , 255 , 255 , -1.0 , 0.65 , 0 , 3.0 , 3.0 , .channel = -1 );

switch ( iItem )
{
case 0:
{
SetBombSiteLock( BOMBSITE_A , true );
show_hudmessage( 0 , "BombSite A has been Locked" );
}
case 1:
{
SetBombSiteLock( BOMBSITE_B , true );
show_hudmessage( 0 , "BombSite B has been Locked" );
}
case 2:
{
SetBombSiteLock( BOMBSITE_A , false );
show_hudmessage( 0 , "BombSite A has been Unlocked" );
}
case 3:
{
SetBombSiteLock( BOMBSITE_B , false );
show_hudmessage( 0 , "BombSite B has been Unlocked" );
}
case 4:
{
SetBombSiteLock( BOMBSITE_A , true );
SetBombSiteLock( BOMBSITE_B , true );
show_hudmessage( 0 , "BombSites A & B have both been Locked" );
}
case 5:
{
SetBombSiteLock( BOMBSITE_A , false );
SetBombSiteLock( BOMBSITE_B , false );
show_hudmessage( 0 , "BombSites A & B have both been Unlocked" );
}
}

menu_destroy( iMenu );

return PLUGIN_HANDLED;
}

public fw_HUDEntThink( iEntity )
{
if( g_bPlayerHoldingBomb && ( g_bBombSiteStatus[ BOMBSITE_A ] || g_bBombSiteStatus[ BOMBSITE_B ] ) && ( iEntity == g_iHUDEntity ) && is_user_alive( g_iPlayerWithBomb ) )
{
set_hudmessage( 255 , 255 , 255 , -1.0 , 0.87 , 0 , 1.0 , 1.0 , .channel = -1 );
show_hudmessage( g_iPlayerWithBomb , "BombSite%s %s%s%s %s Currently Locked!" , g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? "s" : "" ,
g_bBombSiteStatus[ BOMBSITE_A ] ? "A" : "" ,
g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? " & " : "" ,
g_bBombSiteStatus[ BOMBSITE_B ] ? "B" : "" ,
g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? "are" : "is" );

entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
}
}

SetBombSiteLock( BombSites:bsBombSite , bool:bLockState )
{
entity_set_int( g_iBombSiteEntity[ bsBombSite ] , EV_INT_solid , bLockState ? SOLID_NOT : SOLID_TRIGGER );
g_bBombSiteStatus[ bsBombSite ] = bLockState;

if ( bLockState )
entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/



qe shoki edhe qeto qe munesh me ma kthy me ngjyra ama krejt ku ka color print jo do po do jo qe munes Big Grin
Reply }}}}
Thanks given by:
Thanks given by:
Thanks given by:


Messages In This Thread
Kërko Plugins [Me Ngjyra] - by ScrappeR - 10-06-2021, 08:43 AM
Re: Kërko Plugins [Me Ngjyra] - by F. ツ - 12-27-2023, 12:44 PM
Re: Kërko Plugins [Me Ngjyra] - by MentorNrekaj - 01-04-2024, 12:26 PM
Re: Kërko Plugins [Me Ngjyra] - by ScrappeR - 01-04-2024, 03:05 PM
Re: Kërko Plugins [Me Ngjyra] - by MentorNrekaj - 01-07-2024, 08:00 AM
Re: Kërko Plugins [Me Ngjyra] - by BR3ACKER - 01-07-2024, 11:12 AM
Re: Kërko Plugins [Me Ngjyra] - by ScrappeR - 01-07-2024, 04:24 PM
Re: Kërko Plugins [Me Ngjyra] - by goLd ~ - 01-08-2024, 07:22 PM
Re: Kërko Plugins [Me Ngjyra] - by goLd ~ - 01-08-2024, 07:24 PM
Re: Kërko Plugins [Me Ngjyra] - by LonN - 01-08-2024, 07:29 PM
Re: Kërko Plugins [Me Ngjyra] - by goLd ~ - 01-09-2024, 04:15 PM
:p - by goLd ~ - 01-09-2024, 04:50 PM
Re: :p - by BR3ACKER - 01-10-2024, 06:21 AM
Re: Kërko Plugins [Me Ngjyra] - by f0LLeRaUAG - 01-17-2024, 02:16 PM
Re: Kërko Plugins [Me Ngjyra] - by ScrappeR - 01-18-2024, 05:01 PM
Re: Kërko Plugins [Me Ngjyra] - by ScrappeR - 01-18-2024, 05:01 PM
Re: Kërko Plugins [Me Ngjyra] - by ..... - 02-05-2024, 01:04 PM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 02-05-2024, 01:59 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-13-2024, 08:55 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-13-2024, 08:55 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-13-2024, 09:14 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-13-2024, 09:14 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 02:42 PM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 02-14-2024, 03:23 PM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 02-14-2024, 03:23 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 04:45 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 04:45 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 04:46 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 04:46 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 05:08 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 05:08 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:28 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:28 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:32 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:32 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 07:33 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 07:33 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:36 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-14-2024, 07:36 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 07:47 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-14-2024, 07:47 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 07:14 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 07:14 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 07:45 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 07:45 AM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-15-2024, 12:48 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-15-2024, 12:48 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 01:49 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-15-2024, 01:49 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-15-2024, 06:13 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-15-2024, 06:13 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-16-2024, 08:00 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-16-2024, 08:00 AM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 11:44 AM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 11:44 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-16-2024, 02:28 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-16-2024, 02:28 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 02:36 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 02:36 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 03:03 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-16-2024, 03:03 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 11:21 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 11:21 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 01:23 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 01:23 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-17-2024, 02:46 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-17-2024, 02:46 PM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 02-17-2024, 04:30 PM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 02-17-2024, 04:30 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 10:59 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-17-2024, 10:59 PM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-18-2024, 06:45 AM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-18-2024, 06:45 AM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-18-2024, 05:28 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-18-2024, 05:28 PM
Re: Kërko Plugins [Me Ngjyra] - by veron - 02-19-2024, 11:44 AM
Re: Kërko Plugins [Me Ngjyra] - by iNFINITY^ - 02-19-2024, 11:54 AM
Re: Kërko Plugins [Me Ngjyra] - by Cyanide. - 04-16-2024, 09:54 AM
Re: Kërko Plugins [Me Ngjyra] - by inL. - 04-21-2024, 04:17 PM
Re: Kërko Plugins [Me Ngjyra] - by Alphaa - 04-21-2024, 06:51 PM
Re: Kërko Plugins [Me Ngjyra] - by inL. - 04-22-2024, 12:22 AM
Re: Kërko Plugins [Me Ngjyra] - by faton1233 - 04-22-2024, 08:20 PM
Re: Kërko Plugins [Me Ngjyra] - by dewiiL. - 04-24-2024, 07:58 PM
Re: Kërko Plugins [Me Ngjyra] - by Survival - 06-07-2024, 01:15 PM
Re: Kërko Plugins [Me Ngjyra] - by -M- - 06-07-2024, 02:59 PM
Re: Kërko Plugins [Me Ngjyra] - by x0n1x.# - 10-09-2024, 12:23 PM
Re: Kërko Plugins [Me Ngjyra] - by Dinnii - 10-09-2024, 12:39 PM
Re: Kërko Plugins [Me Ngjyra] - by Dinnii - 12-01-2024, 05:22 PM
Re: Kërko Plugins [Me Ngjyra] - by kushtrim1233 - 01-03-2025, 11:07 PM
Re: Kërko Plugins [Me Ngjyra] - by kushtrim1233 - 01-03-2025, 11:40 PM
Re: Kërko Plugins [Me Ngjyra] - by BR3ACKER - 01-07-2025, 07:07 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)