hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Bombsite Lock
HozzászólásElküldve: 2014.01.26. 02:43 
Offline
Minden6ó
Avatar

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

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bombsite Lock
HozzászólásElküldve: 2014.01.26. 13:36 
Offline
Veterán
Avatar

Csatlakozott: 2012.09.01. 22:19
Hozzászólások: 1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
remélem megfelel:

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

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bombsite Lock
HozzászólásElküldve: 2014.01.26. 13:37 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.08.15. 14:42
Hozzászólások: 1345
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 277 alkalommal
Már nem kell crazy feltöltöttem a pluginok közé, megvolt nekem lefordítva, csak nem rég találtam meg :)
Bombalerakó zárolás

_________________
Üdvözlettel: BBk
[AmxModX] Általam fordított pluginok
Death of Legend Fun Server History
NetMozi.com - Filmes fórum Badboy.killer
foximaxi


A hozzászólást 1 alkalommal szerkesztették, utoljára Badboy.killer 2014.01.26. 13:51-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Bombsite Lock
HozzászólásElküldve: 2014.01.26. 13:38 
Offline
Veterán
Avatar

Csatlakozott: 2012.09.01. 22:19
Hozzászólások: 1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
Badboy.killer írta:
Már nem kell crazy feltöltöttem a pluginok közé, megvolt nekem lefordítva, csak nem rég találtam meg :)


akkor most töröljem le? :)

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


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  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 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