hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 216 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 215 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  [ 3 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2015.12.11. 19:02 
Offline
Tag

Csatlakozott: 2015.12.05. 14:36
Hozzászólások: 34
Megköszönt másnak: 16 alkalommal
Hiába irom át a szerverprefixet a helyére mindig ezt írja ki : SzerverPrefix

SMA Forráskód: [ Mindet kijelol ]
  1. pCvarPrefix = register_cvar( "awm_prefix", "-|MNK|-" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je.



Teljes sma:

SMA Forráskód: [ Mindet kijelol ]
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < fun >
  4. #include < fakemeta >
  5. #include < cstrike >
  6. #include < hamsandwich >
  7.  
  8. #pragma semicolon 1
  9.  
  10. #define VERSION "0.0.1"
  11.  
  12. #define Max_Players 32
  13.  
  14. #define OFFSET_PRIMARYWEAPON 116
  15. #define OFFSET_C4_SLOT 372
  16.  
  17. #define Weapon_Menu_Name "\r[\wFegyver Csomagok\r]"
  18.  
  19. #define Next_Button "Következő"
  20. #define Back_Button "Vissza"
  21. #define Exit_Button "Kilépés"
  22.  
  23. #define Money_Hud ( 1 << 5 )
  24.  
  25. new g_iWPCT;
  26. new g_iWPTE;
  27.  
  28. new pCvarMaxCTWps;
  29. new pCvarMaxTEWps;
  30.  
  31. new pCvarWPBlock;
  32.  
  33. new pCvarFlash;
  34. new pCvarHe;
  35. new pCvarSmoke;
  36.  
  37. new pCvarKevlar;
  38. new pCvarDefuser;
  39.  
  40. new pCvarPrefix;
  41. new pCvarMoney;
  42. new pCvarBlockBuy;
  43. new pCvarUnAmmo;
  44.  
  45. new const g_szMessages [ ] [ ] =
  46. {
  47. "",
  48. "Csapatonként csak két ember AWP-zhet!",
  49. "^3%s^1 WP^4 csak^1 4v4-től használható!",
  50. "A vásárlás letíltva!",
  51. "Te már választottál fegyvert!"
  52. };
  53.  
  54. new const g_szWeaponMenuNames [ ] [ ] = {
  55.  
  56. "\d[\rM4A1 Csomag\d]",
  57. "\d[\rAK47 Csomag\d]",
  58. "\d[\rAWP Csomag\d]",
  59. "\d[\rM249 Csomag\d]",
  60. "\d[\rAUG Csomag\d]",
  61. "\d[\rFamas Csomag\d]",
  62. "\d[\rGalil Csomag\d]",
  63. "\d[\rMP5 Csomag\d]",
  64. "\d[\rXM1014 Csomag\d]",
  65. "\d[\rM3 Csomag\d]",
  66. "\d[\rScout Csomag\d]"
  67. };
  68.  
  69. new const g_szWeaponsName [ ] [ ] = {
  70.  
  71. "weapon_m4a1",
  72. "weapon_ak47",
  73. "weapon_awp",
  74. "weapon_m249",
  75. "weapon_aug",
  76. "weapon_famas",
  77. "weapon_galil",
  78. "weapon_mp5navy",
  79. "weapon_xm1014",
  80. "weapon_m3",
  81. "weapon_scout"
  82. };
  83.  
  84. new const g_szPistolName [ ] = "weapon_deagle";
  85.  
  86. const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );
  87. new const maxAmmo[ 31 ] = {
  88.  
  89. 0,
  90. 52,
  91. 0,
  92. 90,
  93. 1,
  94. 32,
  95. 1,
  96. 100,
  97. 90,
  98. 1,
  99. 120,
  100. 100,
  101. 100,
  102. 90,
  103. 90,
  104. 90,
  105. 100,
  106. 120,
  107. 30,
  108. 120,
  109. 200,
  110. 32,
  111. 90,
  112. 120,
  113. 90,
  114. 2,
  115. 35,
  116. 90,
  117. 90,
  118. 0,
  119. 100
  120. };
  121.  
  122. new g_szBuyCommands[ ][ ] =
  123. {
  124. "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47",
  125. "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren",
  126. "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge",
  127. "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550",
  128. "buyammo1", "buyammo2"
  129. };
  130.  
  131. new const g_szMenuCommands[ ] [ ] =
  132. {
  133. "fegyo",
  134. "say fegyo",
  135. "say_team fegyo",
  136.  
  137. "fegyver",
  138. "say fegyver",
  139. "say_team fegyver",
  140.  
  141. "say /fegyo",
  142. "say_team /fegyo",
  143.  
  144. "say /fegyver",
  145. "say_team /fegyver"
  146.  
  147. };
  148.  
  149. new g_szChatPrefix[ 64 ];
  150. new g_msgHideWeapon;
  151. new g_bHasWeapon[ Max_Players ];
  152.  
  153. public plugin_init ( ) {
  154.  
  155. register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );
  156.  
  157. RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );
  158.  
  159. pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "2" ); // Ct-nél 2 AWP-s lehet.
  160. pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "2" ); // Terroristáknál 2 AWP-s lehet.
  161.  
  162. pCvarWPBlock = register_cvar( "awm_allow_wp_player", "4" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t
  163.  
  164. pCvarFlash = register_cvar( "awm_give_flash", "2" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 2 Flash gránát
  165. pCvarHe = register_cvar( "awm_give_he", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 1 Robanó gránát
  166. pCvarSmoke = register_cvar( "awm_give_smoke", "0" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad )
  167.  
  168. pCvarKevlar = register_cvar( "awm_give_kevlar", "2" ); // Itt tudod beállítani ,hogy adjon-e kevlárt. ( 0 = Nem Ad ) Alap: 2 ( Kevlár + Sisak )
  169. pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad )
  170.  
  171. pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "1" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár )
  172.  
  173. pCvarBlockBuy = register_cvar( "awm_block_buy", "1" ); // Itt tudod beállítani ,hogy tiltsa-e a vásárlást vagy ne. Alap 1 ( Tehát tiltva van ) ( 0 = Nincs tiltva )
  174. pCvarMoney = register_cvar( "awm_set_money", "0" ); // Itt tudod beállítani ,hogy mennyi pénze legyen a játékosoknak. ( 0 = Nincs , eltűnik a hudról is ) Alap: 0
  175. pCvarPrefix = register_cvar( "awm_prefix", "-|MNK|-" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je.
  176.  
  177. g_msgHideWeapon = get_user_msgid( "HideWeapon" );
  178.  
  179. for( new i = 0; i < sizeof( g_szBuyCommands ); i++ )
  180. register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );
  181.  
  182. for( new i = 0; i < sizeof( g_szMenuCommands ); i++ )
  183. register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );
  184.  
  185. register_event( "ResetHUD", "onResetHUD", "b" );
  186. register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );
  187.  
  188. register_message( g_msgHideWeapon, "msgHideWeapon" );
  189.  
  190. register_logevent( "eRoundEnd", 2, "1=Round_End" );
  191. }
  192.  
  193. public client_connect( iClient ) {
  194.  
  195. g_bHasWeapon[ iClient ] = false;
  196. }
  197.  
  198. public client_disconnect( iClient ) {
  199.  
  200. g_bHasWeapon[ iClient ] = false;
  201. }
  202.  
  203. public cmd_ShowWeaponMenu( iClient ) {
  204.  
  205. switch( g_bHasWeapon[ iClient ] ) {
  206.  
  207. case true:
  208. {
  209. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  210. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] );
  211.  
  212. return PLUGIN_HANDLED;
  213. }
  214. case false: func_OpenWeaponMenu( iClient );
  215. }
  216. return PLUGIN_HANDLED;
  217. }
  218.  
  219. public cmd_BlockBuy( iClient ) {
  220.  
  221. if( !get_pcvar_num( pCvarBlockBuy ) )
  222. return PLUGIN_CONTINUE;
  223.  
  224. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  225. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 3 ] );
  226. return PLUGIN_HANDLED;
  227. }
  228.  
  229. public eCurWeapon( iClient ) {
  230.  
  231. if( get_pcvar_num( pCvarUnAmmo ) ) {
  232.  
  233. if( is_user_alive( iClient ) ) {
  234.  
  235. new weapon = read_data( 2 );
  236. if( !( DoNotReload & ( 1 << weapon ) ) ) {
  237.  
  238. cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] );
  239. }
  240. }
  241. }
  242. }
  243.  
  244. public onResetHUD( iClient ) {
  245.  
  246. if( !get_pcvar_num( pCvarMoney ) ) {
  247.  
  248. message_begin( MSG_ONE, g_msgHideWeapon, _, iClient );
  249. write_byte( Money_Hud );
  250. message_end( );
  251. }
  252. }
  253.  
  254. public msgHideWeapon( ) {
  255.  
  256. if( !get_pcvar_num( pCvarMoney ) ) {
  257.  
  258. set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud );
  259. }
  260. }
  261.  
  262. public eRoundEnd ( ) {
  263.  
  264. g_iWPCT = 0;
  265. g_iWPTE = 0;
  266. }
  267.  
  268. public func_OpenWeaponMenu ( iClient ) {
  269.  
  270. if( !is_user_alive( iClient ) )
  271. return;
  272.  
  273. cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  274.  
  275. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  276.  
  277. g_bHasWeapon[ iClient ] = false;
  278.  
  279. new szMenuTitle[ 121 ];
  280. new szMenuItem[ 121 ];
  281.  
  282. format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name );
  283.  
  284. StripUserWeapons( iClient );
  285. new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );
  286.  
  287. for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {
  288.  
  289. if( i != 2 ) {
  290.  
  291. format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] );
  292. }
  293. else {
  294. switch( get_user_team( iClient ) )
  295. {
  296. case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) );
  297. case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) );
  298. default: continue;
  299. }
  300. }
  301.  
  302. menu_additem( menu, szMenuItem, _, 0 );
  303. }
  304.  
  305. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  306. menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  307. menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  308. menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  309. menu_display( iClient, menu );
  310. }
  311.  
  312. public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {
  313.  
  314. if( iItem == MENU_EXIT ) {
  315.  
  316. menu_destroy( iMenu );
  317. return PLUGIN_HANDLED;
  318. }
  319.  
  320. new data[ 6 ], szName[ 64 ];
  321. new access, callback;
  322. menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  323.  
  324. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  325.  
  326. if( iItem != 2 ) {
  327.  
  328. give_item( iClient, g_szWeaponsName[ iItem ] );
  329. give_item( iClient, g_szPistolName );
  330.  
  331. ColorChat( iClient, "", g_szChatPrefix ,g_szWeaponMenuNames[ iItem ] );
  332. }
  333. else {
  334.  
  335. new iTeams[ CsTeams ];
  336. GetPlayerCount( iTeams );
  337.  
  338. if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock )
  339. || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {
  340.  
  341. ColorChat( iClient, g_szMessages[ 2 ], g_szChatPrefix );
  342. func_OpenWeaponMenu( iClient );
  343.  
  344. return PLUGIN_HANDLED;
  345. }
  346.  
  347. new CsTeams:userTeam = cs_get_user_team( iClient );
  348. if( userTeam == CS_TEAM_CT ) {
  349.  
  350. if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {
  351.  
  352. give_item( iClient, g_szWeaponsName[ iItem ] );
  353. give_item( iClient, g_szPistolName );
  354.  
  355. ColorChat( iClient, "", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  356. g_iWPCT++;
  357. }
  358. else {
  359.  
  360. client_print( iClient, print_center, g_szMessages[ 1 ] );
  361. func_OpenWeaponMenu ( iClient );
  362.  
  363. return PLUGIN_HANDLED;
  364. }
  365. }
  366.  
  367. if( userTeam == CS_TEAM_T ) {
  368.  
  369. if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {
  370.  
  371.  
  372. give_item( iClient, g_szWeaponsName[ iItem ] );
  373. give_item( iClient, g_szPistolName );
  374.  
  375. ColorChat( iClient, "", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  376. g_iWPTE++;
  377. }
  378. else {
  379.  
  380. client_print( iClient, print_center, g_szMessages[ 1 ] );
  381. func_OpenWeaponMenu( iClient );
  382.  
  383. return PLUGIN_HANDLED;
  384. }
  385. }
  386. }
  387.  
  388. give_item( iClient, "weapon_knife" );
  389. give_player_stuff( iClient );
  390.  
  391. menu_destroy( iMenu );
  392. return PLUGIN_HANDLED;
  393. }
  394.  
  395. GetPlayerCount( iTeamPlayers[ CsTeams ] ) {
  396.  
  397. new iPlayers[ 32 ] , iPlayerCount;
  398.  
  399. get_players( iPlayers , iPlayerCount );
  400.  
  401. for ( new i = 0 ; i < iPlayerCount ; i++ )
  402. iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;
  403. }
  404.  
  405. stock give_player_stuff( iClient ) {
  406.  
  407. if( get_pcvar_num( pCvarFlash ) ) {
  408.  
  409. give_item( iClient, "weapon_flashbang" );
  410. cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) );
  411. }
  412.  
  413. if( get_pcvar_num( pCvarHe ) ) {
  414.  
  415. give_item( iClient, "weapon_hegrenade" );
  416. cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) );
  417. }
  418.  
  419. if( get_pcvar_num( pCvarSmoke ) ) {
  420.  
  421. give_item( iClient, "weapon_smokegrenade" );
  422. cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) );
  423. }
  424.  
  425. if( get_pcvar_num( pCvarKevlar ) ) {
  426.  
  427. switch( get_pcvar_num( pCvarKevlar ) ) {
  428.  
  429. case 1: give_item( iClient, "item_kevlar" );
  430. case 2: give_item( iClient, "item_assaultsuit" );
  431. default: return PLUGIN_CONTINUE;
  432. }
  433. }
  434.  
  435. if( get_pcvar_num( pCvarDefuser ) ) {
  436.  
  437. give_item( iClient, "item_thighpack" );
  438. }
  439.  
  440. if( !get_pcvar_num( pCvarUnAmmo ) ) {
  441.  
  442. new weapons[ 32 ];
  443. new weaponsnum;
  444. get_user_weapons( iClient, weapons, weaponsnum );
  445. for( new i = 0; i < weaponsnum; i++ )
  446. if( is_user_alive( iClient ) )
  447. if( maxAmmo[ weapons[ i ] ] > 0 )
  448. cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] );
  449. }
  450.  
  451. g_bHasWeapon[ iClient ] = true;
  452. return PLUGIN_CONTINUE;
  453. }
  454.  
  455.  
  456. //Stolen from CSDM Weapon Menu
  457. stock StripUserWeapons( iClient ) {
  458.  
  459. new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );
  460.  
  461. if( iC4Ent > 0 ) {
  462.  
  463. set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT );
  464. }
  465.  
  466. strip_user_weapons( iClient );
  467. set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );
  468.  
  469. if( iC4Ent > 0 ) {
  470.  
  471. set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) );
  472. set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );
  473.  
  474. cs_set_user_bpammo( iClient, CSW_C4, 1 );
  475. cs_set_user_plant( iClient, 1 );
  476. }
  477.  
  478. return PLUGIN_HANDLED;
  479. }
  480.  
  481. stock ColorChat( iClient, const input[], any:...)
  482. {
  483. new count = 1, players[ 32 ];
  484. static msg[ 191 ];
  485. vformat( msg, 190, input, 3 );
  486.  
  487. replace_all( msg, 190, "^x01" , "^1");
  488. replace_all( msg, 190, "^x03" , "^3");
  489. replace_all( msg, 190, "^x04" , "^4");
  490.  
  491. if ( iClient ) players[ 0 ] = iClient; else get_players( players , count , "ch" );
  492. {
  493. for ( new i = 0; i < count; i++ )
  494. {
  495. if ( is_user_connected( players[ i ] ) )
  496. {
  497. message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] );
  498. write_byte( players[ i ] );
  499. write_string( msg );
  500. message_end( );
  501. }
  502. }
  503. }
  504. }
  505.  


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.12.11. 19:18 
Offline
Felfüggesztve
Avatar

Csatlakozott: 2013.06.09. 18:47
Hozzászólások: 2004
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 220 alkalommal
A 12. sorban tudod majd módosítani a prefixet.

AMXX Stúdió:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size: 1604 bytes
Code size: 10356 bytes
Data size: 8404 bytes
Stack/heap size: 16384 bytes; estimated max. usage=781 cells (3124 bytes)
Total requirements: 36748 bytes
Done.


SMA Forráskód: [ Mindet kijelol ]
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < fun >
  4. #include < fakemeta >
  5. #include < cstrike >
  6. #include < hamsandwich >
  7.  
  8. #pragma semicolon 1
  9.  
  10. #define VERSION "0.0.1"
  11.  
  12. #define prefix "-|MNK|-"
  13.  
  14. #define Max_Players 32
  15.  
  16. #define OFFSET_PRIMARYWEAPON 116
  17. #define OFFSET_C4_SLOT 372
  18.  
  19. #define Weapon_Menu_Name "\r[\wFegyver Csomagok\r]"
  20.  
  21. #define Next_Button "Következő"
  22. #define Back_Button "Vissza"
  23. #define Exit_Button "Kilépés"
  24.  
  25. #define Money_Hud ( 1 << 5 )
  26.  
  27. new g_iWPCT;
  28. new g_iWPTE;
  29.  
  30. new pCvarMaxCTWps;
  31. new pCvarMaxTEWps;
  32.  
  33. new pCvarWPBlock;
  34.  
  35. new pCvarFlash;
  36. new pCvarHe;
  37. new pCvarSmoke;
  38.  
  39. new pCvarKevlar;
  40. new pCvarDefuser;
  41.  
  42. new pCvarMoney;
  43. new pCvarBlockBuy;
  44. new pCvarUnAmmo;
  45.  
  46. new const g_szMessages [ ] [ ] =
  47. {
  48. "",
  49. "Csapatonként csak két ember AWP-zhet!",
  50. "^3%s^1 WP^4 csak^1 4v4-től használható!",
  51. "A vásárlás letíltva!",
  52. "Te már választottál fegyvert!"
  53. };
  54.  
  55. new const g_szWeaponMenuNames [ ] [ ] = {
  56.  
  57. "\d[\rM4A1 Csomag\d]",
  58. "\d[\rAK47 Csomag\d]",
  59. "\d[\rAWP Csomag\d]",
  60. "\d[\rM249 Csomag\d]",
  61. "\d[\rAUG Csomag\d]",
  62. "\d[\rFamas Csomag\d]",
  63. "\d[\rGalil Csomag\d]",
  64. "\d[\rMP5 Csomag\d]",
  65. "\d[\rXM1014 Csomag\d]",
  66. "\d[\rM3 Csomag\d]",
  67. "\d[\rScout Csomag\d]"
  68. };
  69.  
  70. new const g_szWeaponsName [ ] [ ] = {
  71.  
  72. "weapon_m4a1",
  73. "weapon_ak47",
  74. "weapon_awp",
  75. "weapon_m249",
  76. "weapon_aug",
  77. "weapon_famas",
  78. "weapon_galil",
  79. "weapon_mp5navy",
  80. "weapon_xm1014",
  81. "weapon_m3",
  82. "weapon_scout"
  83. };
  84.  
  85. new const g_szPistolName [ ] = "weapon_deagle";
  86.  
  87. const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );
  88. new const maxAmmo[ 31 ] = {
  89.  
  90. 0,
  91. 52,
  92. 0,
  93. 90,
  94. 1,
  95. 32,
  96. 1,
  97. 100,
  98. 90,
  99. 1,
  100. 120,
  101. 100,
  102. 100,
  103. 90,
  104. 90,
  105. 90,
  106. 100,
  107. 120,
  108. 30,
  109. 120,
  110. 200,
  111. 32,
  112. 90,
  113. 120,
  114. 90,
  115. 2,
  116. 35,
  117. 90,
  118. 90,
  119. 0,
  120. 100
  121. };
  122.  
  123. new g_szBuyCommands[ ][ ] =
  124. {
  125. "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47",
  126. "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren",
  127. "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge",
  128. "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550",
  129. "buyammo1", "buyammo2"
  130. };
  131.  
  132. new const g_szMenuCommands[ ] [ ] =
  133. {
  134. "fegyo",
  135. "say fegyo",
  136. "say_team fegyo",
  137.  
  138. "fegyver",
  139. "say fegyver",
  140. "say_team fegyver",
  141.  
  142. "say /fegyo",
  143. "say_team /fegyo",
  144.  
  145. "say /fegyver",
  146. "say_team /fegyver"
  147.  
  148. };
  149.  
  150. new g_msgHideWeapon;
  151. new g_bHasWeapon[ Max_Players ];
  152.  
  153. public plugin_init ( ) {
  154.  
  155. register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );
  156.  
  157. RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );
  158.  
  159. pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "2" ); // Ct-nél 2 AWP-s lehet.
  160. pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "2" ); // Terroristáknál 2 AWP-s lehet.
  161.  
  162. pCvarWPBlock = register_cvar( "awm_allow_wp_player", "4" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t
  163.  
  164. pCvarFlash = register_cvar( "awm_give_flash", "2" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 2 Flash gránát
  165. pCvarHe = register_cvar( "awm_give_he", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 1 Robanó gránát
  166. pCvarSmoke = register_cvar( "awm_give_smoke", "0" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad )
  167.  
  168. pCvarKevlar = register_cvar( "awm_give_kevlar", "2" ); // Itt tudod beállítani ,hogy adjon-e kevlárt. ( 0 = Nem Ad ) Alap: 2 ( Kevlár + Sisak )
  169. pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad )
  170.  
  171. pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "1" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár )
  172.  
  173. pCvarBlockBuy = register_cvar( "awm_block_buy", "1" ); // Itt tudod beállítani ,hogy tiltsa-e a vásárlást vagy ne. Alap 1 ( Tehát tiltva van ) ( 0 = Nincs tiltva )
  174. pCvarMoney = register_cvar( "awm_set_money", "0" ); // Itt tudod beállítani ,hogy mennyi pénze legyen a játékosoknak. ( 0 = Nincs , eltűnik a hudról is ) Alap: 0
  175.  
  176. g_msgHideWeapon = get_user_msgid( "HideWeapon" );
  177.  
  178. for( new i = 0; i < sizeof( g_szBuyCommands ); i++ )
  179. register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );
  180.  
  181. for( new i = 0; i < sizeof( g_szMenuCommands ); i++ )
  182. register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );
  183.  
  184. register_event( "ResetHUD", "onResetHUD", "b" );
  185. register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );
  186.  
  187. register_message( g_msgHideWeapon, "msgHideWeapon" );
  188.  
  189. register_logevent( "eRoundEnd", 2, "1=Round_End" );
  190. }
  191.  
  192. public client_connect( iClient ) {
  193.  
  194. g_bHasWeapon[ iClient ] = false;
  195. }
  196.  
  197. public client_disconnect( iClient ) {
  198.  
  199. g_bHasWeapon[ iClient ] = false;
  200. }
  201.  
  202. public cmd_ShowWeaponMenu( iClient ) {
  203.  
  204. switch( g_bHasWeapon[ iClient ] ) {
  205.  
  206. case true:
  207. {
  208. ColorChat( iClient, "^3%s %s" , prefix, g_szMessages[ 4 ] );
  209.  
  210. return PLUGIN_HANDLED;
  211. }
  212. case false: func_OpenWeaponMenu( iClient );
  213. }
  214. return PLUGIN_HANDLED;
  215. }
  216.  
  217. public cmd_BlockBuy( iClient ) {
  218.  
  219. if( !get_pcvar_num( pCvarBlockBuy ) )
  220. return PLUGIN_CONTINUE;
  221.  
  222. ColorChat( iClient, "^3%s %s" , prefix, g_szMessages[ 3 ] );
  223. return PLUGIN_HANDLED;
  224. }
  225.  
  226. public eCurWeapon( iClient ) {
  227.  
  228. if( get_pcvar_num( pCvarUnAmmo ) ) {
  229.  
  230. if( is_user_alive( iClient ) ) {
  231.  
  232. new weapon = read_data( 2 );
  233. if( !( DoNotReload & ( 1 << weapon ) ) ) {
  234.  
  235. cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] );
  236. }
  237. }
  238. }
  239. }
  240.  
  241. public onResetHUD( iClient ) {
  242.  
  243. if( !get_pcvar_num( pCvarMoney ) ) {
  244.  
  245. message_begin( MSG_ONE, g_msgHideWeapon, _, iClient );
  246. write_byte( Money_Hud );
  247. message_end( );
  248. }
  249. }
  250.  
  251. public msgHideWeapon( ) {
  252.  
  253. if( !get_pcvar_num( pCvarMoney ) ) {
  254.  
  255. set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud );
  256. }
  257. }
  258.  
  259. public eRoundEnd ( ) {
  260.  
  261. g_iWPCT = 0;
  262. g_iWPTE = 0;
  263. }
  264.  
  265. public func_OpenWeaponMenu ( iClient ) {
  266.  
  267. if( !is_user_alive( iClient ) )
  268. return;
  269.  
  270. cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  271.  
  272.  
  273. g_bHasWeapon[ iClient ] = false;
  274.  
  275. new szMenuTitle[ 121 ];
  276. new szMenuItem[ 121 ];
  277.  
  278. format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", prefix, Weapon_Menu_Name );
  279.  
  280. StripUserWeapons( iClient );
  281. new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );
  282.  
  283. for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {
  284.  
  285. if( i != 2 ) {
  286.  
  287. format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] );
  288. }
  289. else {
  290. switch( get_user_team( iClient ) )
  291. {
  292. case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) );
  293. case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) );
  294. default: continue;
  295. }
  296. }
  297.  
  298. menu_additem( menu, szMenuItem, _, 0 );
  299. }
  300.  
  301. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  302. menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  303. menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  304. menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  305. menu_display( iClient, menu );
  306. }
  307.  
  308. public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {
  309.  
  310. if( iItem == MENU_EXIT ) {
  311.  
  312. menu_destroy( iMenu );
  313. return PLUGIN_HANDLED;
  314. }
  315.  
  316. new data[ 6 ], szName[ 64 ];
  317. new access, callback;
  318. menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  319.  
  320. if( iItem != 2 ) {
  321.  
  322. give_item( iClient, g_szWeaponsName[ iItem ] );
  323. give_item( iClient, g_szPistolName );
  324.  
  325. ColorChat( iClient, "", prefix ,g_szWeaponMenuNames[ iItem ] );
  326. }
  327. else {
  328.  
  329. new iTeams[ CsTeams ];
  330. GetPlayerCount( iTeams );
  331.  
  332. if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock )
  333. || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {
  334.  
  335. ColorChat( iClient, g_szMessages[ 2 ], prefix );
  336. func_OpenWeaponMenu( iClient );
  337.  
  338. return PLUGIN_HANDLED;
  339. }
  340.  
  341. new CsTeams:userTeam = cs_get_user_team( iClient );
  342. if( userTeam == CS_TEAM_CT ) {
  343.  
  344. if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {
  345.  
  346. give_item( iClient, g_szWeaponsName[ iItem ] );
  347. give_item( iClient, g_szPistolName );
  348.  
  349. ColorChat( iClient, "", prefix, g_szWeaponMenuNames[ iItem ] );
  350. g_iWPCT++;
  351. }
  352. else {
  353.  
  354. client_print( iClient, print_center, g_szMessages[ 1 ] );
  355. func_OpenWeaponMenu ( iClient );
  356.  
  357. return PLUGIN_HANDLED;
  358. }
  359. }
  360.  
  361. if( userTeam == CS_TEAM_T ) {
  362.  
  363. if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {
  364.  
  365.  
  366. give_item( iClient, g_szWeaponsName[ iItem ] );
  367. give_item( iClient, g_szPistolName );
  368.  
  369. ColorChat( iClient, "", prefix, g_szWeaponMenuNames[ iItem ] );
  370. g_iWPTE++;
  371. }
  372. else {
  373.  
  374. client_print( iClient, print_center, g_szMessages[ 1 ] );
  375. func_OpenWeaponMenu( iClient );
  376.  
  377. return PLUGIN_HANDLED;
  378. }
  379. }
  380. }
  381.  
  382. give_item( iClient, "weapon_knife" );
  383. give_player_stuff( iClient );
  384.  
  385. menu_destroy( iMenu );
  386. return PLUGIN_HANDLED;
  387. }
  388.  
  389. GetPlayerCount( iTeamPlayers[ CsTeams ] ) {
  390.  
  391. new iPlayers[ 32 ] , iPlayerCount;
  392.  
  393. get_players( iPlayers , iPlayerCount );
  394.  
  395. for ( new i = 0 ; i < iPlayerCount ; i++ )
  396. iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;
  397. }
  398.  
  399. stock give_player_stuff( iClient ) {
  400.  
  401. if( get_pcvar_num( pCvarFlash ) ) {
  402.  
  403. give_item( iClient, "weapon_flashbang" );
  404. cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) );
  405. }
  406.  
  407. if( get_pcvar_num( pCvarHe ) ) {
  408.  
  409. give_item( iClient, "weapon_hegrenade" );
  410. cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) );
  411. }
  412.  
  413. if( get_pcvar_num( pCvarSmoke ) ) {
  414.  
  415. give_item( iClient, "weapon_smokegrenade" );
  416. cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) );
  417. }
  418.  
  419. if( get_pcvar_num( pCvarKevlar ) ) {
  420.  
  421. switch( get_pcvar_num( pCvarKevlar ) ) {
  422.  
  423. case 1: give_item( iClient, "item_kevlar" );
  424. case 2: give_item( iClient, "item_assaultsuit" );
  425. default: return PLUGIN_CONTINUE;
  426. }
  427. }
  428.  
  429. if( get_pcvar_num( pCvarDefuser ) ) {
  430.  
  431. give_item( iClient, "item_thighpack" );
  432. }
  433.  
  434. if( !get_pcvar_num( pCvarUnAmmo ) ) {
  435.  
  436. new weapons[ 32 ];
  437. new weaponsnum;
  438. get_user_weapons( iClient, weapons, weaponsnum );
  439. for( new i = 0; i < weaponsnum; i++ )
  440. if( is_user_alive( iClient ) )
  441. if( maxAmmo[ weapons[ i ] ] > 0 )
  442. cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] );
  443. }
  444.  
  445. g_bHasWeapon[ iClient ] = true;
  446. return PLUGIN_CONTINUE;
  447. }
  448.  
  449.  
  450. //Stolen from CSDM Weapon Menu
  451. stock StripUserWeapons( iClient ) {
  452.  
  453. new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );
  454.  
  455. if( iC4Ent > 0 ) {
  456.  
  457. set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT );
  458. }
  459.  
  460. strip_user_weapons( iClient );
  461. set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );
  462.  
  463. if( iC4Ent > 0 ) {
  464.  
  465. set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) );
  466. set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );
  467.  
  468. cs_set_user_bpammo( iClient, CSW_C4, 1 );
  469. cs_set_user_plant( iClient, 1 );
  470. }
  471.  
  472. return PLUGIN_HANDLED;
  473. }
  474.  
  475. stock ColorChat( iClient, const input[], any:...)
  476. {
  477. new count = 1, players[ 32 ];
  478. static msg[ 191 ];
  479. vformat( msg, 190, input, 3 );
  480.  
  481. replace_all( msg, 190, "^x01" , "^1");
  482. replace_all( msg, 190, "^x03" , "^3");
  483. replace_all( msg, 190, "^x04" , "^4");
  484.  
  485. if ( iClient ) players[ 0 ] = iClient; else get_players( players , count , "ch" );
  486. {
  487. for ( new i = 0; i < count; i++ )
  488. {
  489. if ( is_user_connected( players[ i ] ) )
  490. {
  491. message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] );
  492. write_byte( players[ i ] );
  493. write_string( msg );
  494. message_end( );
  495. }
  496. }
  497. }
  498. }
  499.  


[kozep]Kép[/kozep]

_________________
Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.

Ők köszönték meg Anonymous1337 nek ezt a hozzászólást: ReC0iiL (2015.12.11. 19:20)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.12.11. 19:33 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Nagyon egyszerűen megjegyezte a szeró a cvart, innentől amxx.cfg-be módosítsd.

_________________
GitHub - mforce


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


Ki van itt

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