hlmod.hu
https://hlmod.hu/

advanced fegyvermenü pályatiltóval
https://hlmod.hu/viewtopic.php?f=9&t=28315
Oldal: 1 / 1

Szerző:  matkoimre [ 2017.10.08. 13:09 ]
Hozzászólás témája:  advanced fegyvermenü pályatiltóval

Sziasztok!

Valaki javítaná nekem ezt a fegyvermenüt ?

Hiba:

L 10/03/2017 - 20:11:12: Start of error session.
L 10/03/2017 - 20:11:12: Info (map "$2000$") (file "addons/amxmodx/logs/error_20171003.log")
L 10/03/2017 - 20:11:12: [AMXX] Plugin ("fegyvermenu_tiltoval.amxx") is setting itself as failed.
L 10/03/2017 - 20:11:12: [AMXX] Plugin says: A plugin '$2000$' mapon nem fut. (configs/fegyvermenu_tiltas.ini)
L 10/03/2017 - 20:11:12: [AMXX] Run time error 1 (plugin "fegyvermenu_tiltoval.amxx") - forced exit
L 10/03/2017 - 21:20:08: Start of error session.
L 10/03/2017 - 21:20:08: Info (map "fy_pool_suite") (file "addons/amxmodx/logs/error_20171003.log")
L 10/03/2017 - 21:20:08: [AMXX] Plugin ("fegyvermenu_tiltoval.amxx") is setting itself as failed.
L 10/03/2017 - 21:20:08: [AMXX] Plugin says: A plugin 'fy_pool_suite' mapon nem fut. (configs/fegyvermenu_tiltas.ini)
L 10/03/2017 - 21:20:08: [AMXX] Run time error 1 (plugin "fegyvermenu_tiltoval.amxx") - forced exit
L 10/03/2017 - 22:11:34: Start of error session.
L 10/03/2017 - 22:11:34: Info (map "scout_towers") (file "addons/amxmodx/logs/error_20171003.log")
L 10/03/2017 - 22:11:34: [AMXX] Plugin ("fegyvermenu_tiltoval.amxx") is setting itself as failed.
L 10/03/2017 - 22:11:34: [AMXX] Plugin says: A plugin 'scout_towers' mapon nem fut. (configs/fegyvermenu_tiltas.ini)
L 10/03/2017 - 22:11:34: [AMXX] Run time error 1 (plugin "fegyvermenu_tiltoval.amxx") - forced exit

Segítséget köszönöm előre is!

Csatolmányok:
fegyvermenu_tiltoval.sma [13.25 KiB]
Letöltve 51 alkalommal.

Szerző:  regener [ 2017.10.08. 13:50 ]
Hozzászólás témája:  Re: advanced fegyvermenü pályatiltóval

Ez nem hiba, hanem így van megírva a plugin, hogy ott jelezzen hibát.
225. sor:
  1. set_fail_state(buffer);

Cseréld ki erre a loading_maps() függvényt:
  1. public loading_maps()
  2. {  
  3.     new fajl[64],linedata[1024],currentmap[64],mapnev[32];
  4.     get_mapname(currentmap,charsmax(currentmap));
  5.     formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/fegyvermenu_tiltas.ini");
  6.    
  7.     if (!file_exists("addons/amxmodx/configs/fegyvermenu_tiltas.ini")) {
  8.         new len,buffer[512];
  9.         len += formatex(buffer[len], charsmax(buffer),";Csak írd be azoknak a mapoknak a nevét amelyiken ne működjön a fegyvermenü. Pl:^n");
  10.         len += formatex(buffer[len], charsmax(buffer)-len,";^"awp_india^"^n");
  11.        
  12.         new file = fopen("addons/amxmodx/configs/fegyvermenu_tiltas.ini", "at");
  13.        
  14.         fprintf(file, buffer);
  15.         fclose(file);
  16.         return;
  17.     }
  18.    
  19.     new file = fopen(fajl, "rt");
  20.    
  21.     while (file && !feof(file))
  22.     {
  23.         // Read one line at a time
  24.         fgets(file, linedata, charsmax(linedata));
  25.         replace(linedata, charsmax(linedata), "^n", "");//Üres sorokat eltünteti
  26.        
  27.         parse(linedata,mapnev,31);
  28.         if(equali(currentmap,mapnev))
  29.         {
  30.             log_amx("A plugin '%s' mapon nem fut. (configs/fegyvermenu_tiltas.ini)",currentmap);
  31.             pause("ad");
  32.             return;
  33.         }
  34.     }
  35.     if (file) fclose(file);
  36. }

Szerző:  matkoimre [ 2017.10.16. 18:13 ]
Hozzászólás témája:  Re: advanced fegyvermenü pályatiltóval

regener írta:
Ez nem hiba, hanem így van megírva a plugin, hogy ott jelezzen hibát.
225. sor:
  1. set_fail_state(buffer);

Cseréld ki erre a loading_maps() függvényt:
  1. public loading_maps()
  2. {  
  3.     new fajl[64],linedata[1024],currentmap[64],mapnev[32];
  4.     get_mapname(currentmap,charsmax(currentmap));
  5.     formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/fegyvermenu_tiltas.ini");
  6.    
  7.     if (!file_exists("addons/amxmodx/configs/fegyvermenu_tiltas.ini")) {
  8.         new len,buffer[512];
  9.         len += formatex(buffer[len], charsmax(buffer),";Csak írd be azoknak a mapoknak a nevét amelyiken ne működjön a fegyvermenü. Pl:^n");
  10.         len += formatex(buffer[len], charsmax(buffer)-len,";^"awp_india^"^n");
  11.        
  12.         new file = fopen("addons/amxmodx/configs/fegyvermenu_tiltas.ini", "at");
  13.        
  14.         fprintf(file, buffer);
  15.         fclose(file);
  16.         return;
  17.     }
  18.    
  19.     new file = fopen(fajl, "rt");
  20.    
  21.     while (file && !feof(file))
  22.     {
  23.         // Read one line at a time
  24.         fgets(file, linedata, charsmax(linedata));
  25.         replace(linedata, charsmax(linedata), "^n", "");//Üres sorokat eltünteti
  26.        
  27.         parse(linedata,mapnev,31);
  28.         if(equali(currentmap,mapnev))
  29.         {
  30.             log_amx("A plugin '%s' mapon nem fut. (configs/fegyvermenu_tiltas.ini)",currentmap);
  31.             pause("ad");
  32.             return;
  33.         }
  34.     }
  35.     if (file) fclose(file);
  36. }



Valaki ezt beleírná nekem az sma fájlba hogy letudjam fordítani ?

Köszönöm Előre is!

Szerző:  Pika [ 2017.10.16. 20:42 ]
Hozzászólás témája:  Re: advanced fegyvermenü pályatiltóval

matkoimre írta:
regener írta:
Ez nem hiba, hanem így van megírva a plugin, hogy ott jelezzen hibát.
225. sor:
  1. set_fail_state(buffer);

Cseréld ki erre a loading_maps() függvényt:
  1. public loading_maps()
  2. {  
  3.     new fajl[64],linedata[1024],currentmap[64],mapnev[32];
  4.     get_mapname(currentmap,charsmax(currentmap));
  5.     formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/fegyvermenu_tiltas.ini");
  6.    
  7.     if (!file_exists("addons/amxmodx/configs/fegyvermenu_tiltas.ini")) {
  8.         new len,buffer[512];
  9.         len += formatex(buffer[len], charsmax(buffer),";Csak írd be azoknak a mapoknak a nevét amelyiken ne működjön a fegyvermenü. Pl:^n");
  10.         len += formatex(buffer[len], charsmax(buffer)-len,";^"awp_india^"^n");
  11.        
  12.         new file = fopen("addons/amxmodx/configs/fegyvermenu_tiltas.ini", "at");
  13.        
  14.         fprintf(file, buffer);
  15.         fclose(file);
  16.         return;
  17.     }
  18.    
  19.     new file = fopen(fajl, "rt");
  20.    
  21.     while (file && !feof(file))
  22.     {
  23.         // Read one line at a time
  24.         fgets(file, linedata, charsmax(linedata));
  25.         replace(linedata, charsmax(linedata), "^n", "");//Üres sorokat eltünteti
  26.        
  27.         parse(linedata,mapnev,31);
  28.         if(equali(currentmap,mapnev))
  29.         {
  30.             log_amx("A plugin '%s' mapon nem fut. (configs/fegyvermenu_tiltas.ini)",currentmap);
  31.             pause("ad");
  32.             return;
  33.         }
  34.     }
  35.     if (file) fclose(file);
  36. }



Valaki ezt beleírná nekem az sma fájlba hogy letudjam fordítani ?

Köszönöm Előre is!



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

Szerző:  matkoimre [ 2017.10.18. 17:44 ]
Hozzászólás témája:  Re: advanced fegyvermenü pályatiltóval

Pika írta:
matkoimre írta:
regener írta:
Ez nem hiba, hanem így van megírva a plugin, hogy ott jelezzen hibát.
225. sor:
  1. set_fail_state(buffer);

Cseréld ki erre a loading_maps() függvényt:
  1. public loading_maps()
  2. {  
  3.     new fajl[64],linedata[1024],currentmap[64],mapnev[32];
  4.     get_mapname(currentmap,charsmax(currentmap));
  5.     formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/fegyvermenu_tiltas.ini");
  6.    
  7.     if (!file_exists("addons/amxmodx/configs/fegyvermenu_tiltas.ini")) {
  8.         new len,buffer[512];
  9.         len += formatex(buffer[len], charsmax(buffer),";Csak írd be azoknak a mapoknak a nevét amelyiken ne működjön a fegyvermenü. Pl:^n");
  10.         len += formatex(buffer[len], charsmax(buffer)-len,";^"awp_india^"^n");
  11.        
  12.         new file = fopen("addons/amxmodx/configs/fegyvermenu_tiltas.ini", "at");
  13.        
  14.         fprintf(file, buffer);
  15.         fclose(file);
  16.         return;
  17.     }
  18.    
  19.     new file = fopen(fajl, "rt");
  20.    
  21.     while (file && !feof(file))
  22.     {
  23.         // Read one line at a time
  24.         fgets(file, linedata, charsmax(linedata));
  25.         replace(linedata, charsmax(linedata), "^n", "");//Üres sorokat eltünteti
  26.        
  27.         parse(linedata,mapnev,31);
  28.         if(equali(currentmap,mapnev))
  29.         {
  30.             log_amx("A plugin '%s' mapon nem fut. (configs/fegyvermenu_tiltas.ini)",currentmap);
  31.             pause("ad");
  32.             return;
  33.         }
  34.     }
  35.     if (file) fclose(file);
  36. }



Valaki ezt beleírná nekem az sma fájlba hogy letudjam fordítani ?

Köszönöm Előre is!



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


Köszönöm!
Sikerült lefordítani az sma fájt! Hálás köszönet érte! [quote="Pika"] :)

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/