hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 17:10



Jelenlévő felhasználók

Jelenleg 237 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 236 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2015.12.18. 16:57 
Offline
Tag

Csatlakozott: 2015.12.05. 14:36
Hozzászólások: 34
Megköszönt másnak: 16 alkalommal
Ezt valaki megtudná normálisan írni hogy de_dust2_xmas pályán a B le legyen zárva mivel hiába rakom be hogy b levan zárva kiis írja de közbe pedig b-re lehet plantolni ugyanúgy és A-ra nem enged nem értem..

  1. /*
  2.    FordĂ­totta: BBk - Death of Legend
  3. */
  4.  
  5. #include <amxmodx>
  6. #include <engine>
  7.  
  8. new const Version[] = "0.3";
  9.  
  10. enum BombSites
  11. {
  12.     BOMBSITE_A,
  13.     BOMBSITE_B
  14. }
  15.  
  16. new g_iBombSiteEntity[ BombSites ];
  17. new bool:g_bBombSiteStatus[ BombSites ];
  18. new g_iPlayerWithBomb;
  19. new bool:g_bPlayerHoldingBomb;
  20.  
  21. new g_iHUDEntity;
  22.  
  23. new g_pCVarAllowPlantNum;
  24. new g_pCVarLockSiteNum;
  25. new g_pCVarLockSite;
  26.  
  27. public plugin_init( )
  28. {
  29.     register_plugin( "BombSite Lock" , Version , "bugsy" );
  30.    
  31.     register_concmd( "bl_setbombsite" , "SetBombSiteConsole" , ADMIN_KICK );
  32.     register_concmd( "bl_bombsitemenu" , "ShowBombSiteMenu" , ADMIN_KICK );
  33.    
  34.     register_event( "CurWeapon" , "fw_EvCurWeapon" , "b" , "1=1" );
  35.     register_event( "WeapPickup", "fw_EvWeapPickup" , "be" , "1=6" );
  36.     register_event( "BombDrop" ,  "fw_EvBombDrop" , "bc" );
  37.    
  38.     register_logevent( "fw_EvRoundStart" , 2 , "1=Round_Start" );  
  39.  
  40.     g_pCVarAllowPlantNum = register_cvar( "bl_allowplantctnum" , "0" );
  41.     g_pCVarLockSiteNum = register_cvar( "bl_locksitectnum" , "4" );
  42.     g_pCVarLockSite = register_cvar( "bl_locksite" , "b" );
  43.    
  44.     g_iHUDEntity = create_entity( "info_target" );
  45.     entity_set_string( g_iHUDEntity , EV_SZ_classname , "bl_hud_entity" );
  46.     register_think( "bl_hud_entity" , "fw_HUDEntThink" );
  47.  
  48.     new szMap[ 11 ] , BombSites:bsBombSiteA , BombSites:bsBombSiteB;
  49.     get_mapname( szMap , charsmax( szMap ) );
  50.    
  51.     if ( equal( szMap , "de_chateau" ) || equal( szMap , "de_dust2" ) || equal( szMap , "de_train" ) )
  52.     {
  53.         bsBombSiteA = BOMBSITE_B;
  54.         bsBombSiteB = BOMBSITE_A;
  55.     }
  56.     else
  57.     {
  58.         bsBombSiteA = BOMBSITE_A;
  59.         bsBombSiteB = BOMBSITE_B;  
  60.     }
  61.    
  62.     g_iBombSiteEntity[ bsBombSiteA ] = find_ent_by_class( -1 , "func_bomb_target" );
  63.     g_iBombSiteEntity[ bsBombSiteB ] = find_ent_by_class( g_iBombSiteEntity[ bsBombSiteA ] , "func_bomb_target" );
  64. }
  65.  
  66. public client_disconnect( id )
  67. {
  68.     if ( g_iPlayerWithBomb == id )
  69.     {
  70.         g_iPlayerWithBomb = 0;
  71.         g_bPlayerHoldingBomb = false;
  72.     }
  73. }
  74.  
  75. public fw_EvCurWeapon( id )
  76. {
  77.     if ( id == g_iPlayerWithBomb )
  78.     {
  79.         if ( read_data( 2 ) == CSW_C4 )
  80.         {
  81.             g_bPlayerHoldingBomb = true;
  82.             entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
  83.         }
  84.         else
  85.         {
  86.             g_bPlayerHoldingBomb = false;
  87.         }
  88.     }
  89. }
  90.  
  91. public fw_EvWeapPickup( id )
  92. {
  93.     g_iPlayerWithBomb = id;
  94. }
  95.  
  96. public fw_EvBombDrop()
  97. {
  98.     g_iPlayerWithBomb = 0;
  99.     g_bPlayerHoldingBomb = false;
  100. }
  101.  
  102. public fw_EvRoundStart()
  103. {
  104.     new iAllowPlantNum = get_pcvar_num( g_pCVarAllowPlantNum );
  105.     new iLockSiteNum = get_pcvar_num( g_pCVarLockSiteNum );    
  106.     new iPlayers[ 32 ] , iNum , iCTCount;
  107.    
  108.     get_players( iPlayers , iNum , "h" );
  109.    
  110.     for ( new i = 0 ; i < iNum ; i++ )
  111.         if ( get_user_team( iPlayers[ i ] ) == 2 )
  112.             iCTCount++;
  113.    
  114.     if ( iCTCount < iAllowPlantNum )
  115.     {
  116.         SetBombSiteLock( BOMBSITE_A , true );
  117.         SetBombSiteLock( BOMBSITE_B , true );
  118.        
  119.         client_print( 0 , print_chat , "* BombalerakĂł (A & B) lezárva, ameddig %d CT nem lesz." , iAllowPlantNum );
  120.     }
  121.     else if ( iCTCount < iLockSiteNum )
  122.     {
  123.         new szSite[ 2 ];
  124.         get_pcvar_string( g_pCVarLockSite , szSite , charsmax( szSite ) );
  125.         szSite[ 0 ] = toupper( szSite[ 0 ] );
  126.        
  127.         if ( !( 'A' <= szSite[ 0 ] <= 'B' ) )
  128.             return PLUGIN_CONTINUE;
  129.            
  130.         SetBombSiteLock( ( szSite[ 0 ] == 'A' ) ? BOMBSITE_A : BOMBSITE_B , true );    
  131.         SetBombSiteLock( ( szSite[ 0 ] == 'A' ) ? BOMBSITE_B : BOMBSITE_A , false );           
  132.        
  133.         client_print( 0 , print_chat , "* BombalerakĂł (%s) lezárva, ameddig %d CT nem lesz." , szSite , iLockSiteNum );  
  134.     }
  135.     else
  136.     {
  137.         SetBombSiteLock( BOMBSITE_A , false );
  138.         SetBombSiteLock( BOMBSITE_B , false );
  139.     }
  140.    
  141.     return PLUGIN_CONTINUE;
  142. }
  143.  
  144. public SetBombSiteConsole( id , AdminLevel )
  145. {
  146.     if ( !( get_user_flags( id ) & AdminLevel ) )
  147.     {
  148.         console_print( id , "* Nincs engedelyed ehhez a parancshoz." );
  149.         return PLUGIN_HANDLED;
  150.     }
  151.    
  152.     if ( !g_iBombSiteEntity[ BOMBSITE_A ] || !g_iBombSiteEntity[ BOMBSITE_B ] )
  153.     {
  154.         console_print( id , "* Bombalerako Lezaras: Ezen a palyan nem engedelyezett!" );
  155.         return PLUGIN_HANDLED;
  156.     }
  157.    
  158.     new szSite[ 3 ] , szState[ 3 ] , iState , BombSites:bsSite;
  159.     read_argv( 1 , szSite , charsmax( szSite ) );
  160.     read_argv( 2 , szState , charsmax( szState ) );
  161.    
  162.     iState = str_to_num( szState );
  163.  
  164.     if ( ( strlen( szSite ) > 1 ) || !is_str_num( szState ) || !( 0 <= iState <= 1 ) )
  165.         szSite[ 0 ] = 'X';
  166.     else
  167.         szSite[ 0 ] = toupper( szSite[ 0 ] );
  168.    
  169.     switch ( szSite[ 0 ] )
  170.     {
  171.         case 'A':
  172.         {
  173.             bsSite = BOMBSITE_A;
  174.         }
  175.         case 'B':
  176.         {
  177.             bsSite = BOMBSITE_B;
  178.         }
  179.         default:
  180.         {
  181.             console_print( id , "* Bombalerako lezarasa: Ismeretlen argumentum! Megfelelo: 'fb_setbombsite a\b 0\1'" );
  182.             return PLUGIN_HANDLED;
  183.         }
  184.     }
  185.    
  186.     SetBombSiteLock( bsSite , bool:iState );
  187.  
  188.     console_print( id , "* Bombalerako (%s) jelenleg %s" , szSite , iState ? "szabad" : "zart" );
  189.    
  190.     set_hudmessage( 255 , 255 , 255 , -1.0 , 0.65 , 0 , 3.0 , 3.0 , .channel = -1 );
  191.     show_hudmessage( 0 , "BombalerakĂł (%s) jelenleg %s" , szSite , iState ? "szabad" : "zart" );
  192.    
  193.     return PLUGIN_HANDLED;
  194. }
  195.  
  196. public ShowBombSiteMenu( id , AdminLevel )
  197. {
  198.     if ( !( get_user_flags( id ) & AdminLevel ) )
  199.     {
  200.         console_print( id , "* Nincs engedelyed ehhez a parancshoz." );
  201.         return PLUGIN_HANDLED;
  202.     }
  203.    
  204.     if ( !g_iBombSiteEntity[ BOMBSITE_A ] || !g_iBombSiteEntity[ BOMBSITE_B ] )
  205.     {
  206.         console_print( id , "* Bombalerako Lezaras: Ezen a palyan nem engedelyezett!" );
  207.         return PLUGIN_HANDLED;
  208.     }
  209.    
  210.     new iMenu = menu_create( "Bombalerako zarolas menu" , "MenuHandler" );
  211.     new iCallBack = menu_makecallback( "MenuCallBack" );
  212.  
  213.     menu_additem( iMenu , "A zarolasa" , .callback = iCallBack );
  214.     menu_additem( iMenu , "B zarolasa" , .callback = iCallBack );
  215.     menu_additem( iMenu , "A feloldasa" , .callback = iCallBack );
  216.     menu_additem( iMenu , "B feloldasa" , .callback = iCallBack );
  217.     menu_additem( iMenu , "A & B zarolasa" , .callback = iCallBack );
  218.     menu_additem( iMenu , "A & B feloldasa" , .callback = iCallBack );
  219.    
  220.     menu_display( id , iMenu );
  221.    
  222.     return PLUGIN_HANDLED;
  223. }
  224.  
  225. public MenuCallBack( id , iMenu, iItem )
  226. {  
  227.     new iRetVal;
  228.    
  229.     switch ( iItem )
  230.     {
  231.         case 0: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] ? ITEM_DISABLED : ITEM_ENABLED;
  232.         case 1: iRetVal = g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_DISABLED : ITEM_ENABLED;
  233.         case 2: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] ? ITEM_ENABLED : ITEM_DISABLED;
  234.         case 3: iRetVal = g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_ENABLED : ITEM_DISABLED;
  235.         case 4: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_DISABLED : ITEM_ENABLED;
  236.         case 5: iRetVal = g_bBombSiteStatus[ BOMBSITE_A ] || g_bBombSiteStatus[ BOMBSITE_B ] ? ITEM_ENABLED : ITEM_DISABLED;
  237.     }  
  238.    
  239.     return iRetVal;
  240. }
  241.  
  242. public MenuHandler( id , iMenu , iItem )
  243. {
  244.     if( iItem == MENU_EXIT )
  245.     {
  246.         menu_destroy( iMenu );
  247.         return PLUGIN_HANDLED;
  248.     }
  249.    
  250.     set_hudmessage( 255 , 255 , 255 , -1.0 , 0.65 , 0 , 3.0 , 3.0 , .channel = -1 );
  251.    
  252.     switch ( iItem )
  253.     {
  254.         case 0:
  255.         {
  256.             SetBombSiteLock( BOMBSITE_A , true );
  257.             show_hudmessage( 0 , "Bombalerako (A) lezarva" );
  258.         }
  259.         case 1:
  260.         {
  261.             SetBombSiteLock( BOMBSITE_B , true );
  262.             show_hudmessage( 0 , "Bombalerako (B) lezarva" );
  263.         }
  264.         case 2:
  265.         {
  266.             SetBombSiteLock( BOMBSITE_A , false );
  267.             show_hudmessage( 0 , "Bombalerako (A) feloldva" );
  268.         }
  269.         case 3:
  270.         {
  271.             SetBombSiteLock( BOMBSITE_B , false );
  272.             show_hudmessage( 0 , "Bombalerako (B) feloldva" );
  273.         }
  274.         case 4:
  275.         {
  276.             SetBombSiteLock( BOMBSITE_A , true );
  277.             SetBombSiteLock( BOMBSITE_B , true );
  278.             show_hudmessage( 0 , "Bombalerako (A & B) lezarva" );
  279.         }
  280.         case 5:
  281.         {
  282.             SetBombSiteLock( BOMBSITE_A , false );
  283.             SetBombSiteLock( BOMBSITE_B , false );
  284.             show_hudmessage( 0 , "Bombalerako (A & B) feloldva" );
  285.         }
  286.     }
  287.    
  288.     menu_destroy( iMenu );
  289.    
  290.     return PLUGIN_HANDLED;
  291. }
  292.  
  293. public fw_HUDEntThink( iEntity )
  294. {
  295.     if( g_bPlayerHoldingBomb && ( g_bBombSiteStatus[ BOMBSITE_A ] || g_bBombSiteStatus[ BOMBSITE_B ] ) && ( iEntity == g_iHUDEntity ) && is_user_alive( g_iPlayerWithBomb ) )
  296.     {
  297.         set_hudmessage( 255 , 255 , 255 , -1.0 , 0.87 , 0 , 1.0 , 1.0 , .channel = -1 );
  298.         show_hudmessage( g_iPlayerWithBomb , "BombalerakĂł%s %s%s%s %s jelenleg lezárva!" ,    g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? "s" : ""  ,
  299.                                                 g_bBombSiteStatus[ BOMBSITE_A ] ? "A" : "" ,
  300.                                                 g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? " & " : "" ,
  301.                                                 g_bBombSiteStatus[ BOMBSITE_B ] ? "B" : "" ,
  302.                                                 g_bBombSiteStatus[ BOMBSITE_A ] && g_bBombSiteStatus[ BOMBSITE_B ] ? "are" : "is" );
  303.        
  304.         entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
  305.     }
  306. }
  307.  
  308. SetBombSiteLock( BombSites:bsBombSite , bool:bLockState )  
  309. {
  310.     entity_set_int( g_iBombSiteEntity[ bsBombSite ] , EV_INT_solid , bLockState ? SOLID_NOT : SOLID_TRIGGER );
  311.     g_bBombSiteStatus[ bsBombSite ] = bLockState;
  312.    
  313.     if ( bLockState )
  314.         entity_set_float( g_iHUDEntity , EV_FL_nextthink , ( get_gametime() + 1.0 ) );
  315. }


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.12.18. 17:02 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.04.10. 15:32
Hozzászólások: 776
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 60 alkalommal
használd ezt
C4 Meghatározás 0.2.7

_________________
Kép

Ők köszönték meg alfaanero nek ezt a hozzászólást: ReC0iiL (2015.12.18. 17:30)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 21 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole