hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 11:21



Jelenlévő felhasználók

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

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

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

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



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

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: fegyvermenü
HozzászólásElküldve: 2017.04.13. 14:54 
Offline
Fanatikus

Csatlakozott: 2015.07.05. 12:18
Hozzászólások: 172
Megköszönt másnak: 41 alkalommal
Megköszönték neki: 1 alkalommal
valaki bele tudja írni a kis fegyvereket is


  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fun>
  4. #include <hamsandwich>
  5.  
  6. #define PLUGIN "Fegyvermenu"
  7. #define VERSION "1.0"
  8. #define AUTHOR "mforce"
  9.  
  10. new const PREFIX[] = "MagyarPUB";
  11. new bool:g_Used[33];
  12.  
  13. enum _:weapinfo {
  14.     name[32],
  15.     weap_name[32],
  16.     bpammo
  17. }
  18.  
  19. new const weapons[][weapinfo] = {
  20.     {"M4A1", "weapon_m4a1", 90},
  21.     {"AK47", "weapon_ak47", 90},
  22.     {"AWP", "weapon_awp", 30},
  23.     {"M249", "weapon_m249", 200},
  24.     {"AUG", "weapon_aug", 90},
  25.     {"FAMAS", "weapon_famas", 90},
  26.     {"GALIL", "weapon_galil", 90},
  27.     {"MP5NAVY", "mp5navy", 120},
  28.     {"XM1014", "weapon_xm1014", 32},
  29.     {"M3", "weapon_m3", 32},
  30.     {"SCOUT", "weapon_scout", 90},
  31.     {"SG552", "weapon_sg552", 90},
  32.     {"P90", "weapon_p90", 100},
  33.     {"TMP", "weapon_tmp", 120},
  34.     {"UMP45", "weapon_ump45", 100},
  35.     {"MAC10", "weapon_mac10", 100}
  36. };
  37.  
  38. public plugin_init() {
  39.     register_plugin(PLUGIN, VERSION, AUTHOR)
  40.     RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  41.     register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0")
  42.     register_clcmd("say /fegyo", "fegyvermenu");
  43.     register_clcmd("say /fegyomenu", "fegyvermenu");
  44.     register_clcmd("say /fegyver", "fegyvermenu");
  45.     register_clcmd("say /fegyvermenu", "fegyvermenu");
  46.    
  47.    
  48.     new sMapName[32], sMapPrefix[][] = { "awp_", "aim_", "35hp", "fy_" };
  49.     get_mapname(sMapName, charsmax(sMapName));
  50.     for(new i; i < sizeof sMapPrefix; i++) {
  51.         if(containi(sMapName, sMapPrefix[i]) != -1)
  52.             pause("ad");
  53.     }
  54. }
  55.  
  56. public Event_NewRound() {
  57.     arrayset(g_Used, false, sizeof(g_Used));
  58. }
  59.  
  60. public spawn_event(id) fegyvermenu(id);
  61.  
  62. public fegyvermenu(id) {
  63.     if (!is_user_alive(id) || g_Used[id]) return;
  64.  
  65.     new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "\r[%s] \wFegyvermenü", PREFIX);
  66.     new menu = menu_create(s_MenuName, "FegyverMenu_mh");
  67.     for(new i; i<sizeof(weapons);i++) {
  68.         menu_additem(menu, weapons[i][name], "", 0)
  69.     }
  70.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  71.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  72.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  73.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  74.     menu_display(id, menu, 0);
  75. }
  76.  
  77. public FegyverMenu_mh(id, menu, item) {
  78.     if(item == MENU_EXIT) {
  79.         menu_destroy(menu);
  80.         return PLUGIN_HANDLED;
  81.     }
  82.  
  83.     switch(cs_get_user_team(id)) {
  84.         case CS_TEAM_T: {
  85.             if(user_has_weapon(id, CSW_C4)) {
  86.                 strip_user_weapons(id)
  87.                 give_item(id, "weapon_c4")
  88.                 cs_set_user_plant(id,1,1)
  89.             }
  90.             else {
  91.                 strip_user_weapons(id)
  92.             }
  93.         }
  94.         case CS_TEAM_CT: {
  95.             strip_user_weapons(id)
  96.             cs_set_user_defuse(id, 1);
  97.         }
  98.     }
  99.    
  100.     give_item(id, "weapon_knife")
  101.     give_item(id, "weapon_deagle");
  102.     cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  103.     give_item(id, weapons[item][weap_name]);
  104.     cs_set_user_bpammo(id, get_weaponid(weapons[item][weap_name]), weapons[item][bpammo]);
  105.     cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
  106.     give_item(id, "weapon_hegrenade");
  107.     give_item(id, "weapon_flashbang");
  108.     cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  109.     give_item(id, "weapon_smokegrenade");
  110.  
  111.     ChatColor(id, "^4[%s]^3 %s ^1csomagot választottad.", PREFIX, weapons[item][name])
  112.     g_Used[id] = true;
  113.    
  114.     menu_destroy(menu);
  115.     return PLUGIN_HANDLED;
  116. }
  117.  
  118. stock ChatColor(const id, const szMessage[], any:...) {
  119.     static pnum, players[32], szMsg[190], IdMsg;
  120.     vformat(szMsg, charsmax(szMsg), szMessage, 3);
  121.    
  122.     if(!IdMsg) IdMsg = get_user_msgid("SayText");
  123.    
  124.     if(id) {
  125.         if(!is_user_connected(id)) return;
  126.         players[0] = id;
  127.         pnum = 1;
  128.     }
  129.     else get_players(players, pnum, "ch");
  130.    
  131.     for(new i; i < pnum; i++) {
  132.         message_begin(MSG_ONE, IdMsg, .player = players[i]);
  133.         write_byte(players[i]);
  134.         write_string(szMsg);
  135.         message_end();
  136.     }
  137. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: fegyvermenü
HozzászólásElküldve: 2017.04.13. 15:22 
Offline
Újonc
Avatar

Csatlakozott: 2017.04.13. 14:37
Hozzászólások: 14
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 1 alkalommal
Tessék.
  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    "Fegyverek"
  18.     #define Pistol_Menu_Name    "Pisztolyok"
  19.      
  20.     #define Next_Button     "Következő"
  21.     #define Back_Button     "Vissza"
  22.     #define Exit_Button     "Kilépés"
  23.      
  24.     #define Money_Hud       ( 1 << 5 )
  25.      
  26.     #define PREFIX "Fegyomenu"
  27.      
  28.     new g_iWPCT;
  29.     new g_iWPTE;
  30.      
  31.     new pCvarMaxCTWps;
  32.     new pCvarMaxTEWps;
  33.      
  34.     new pCvarWPBlock;
  35.      
  36.     new pCvarFlash;
  37.     new pCvarHe;
  38.     new pCvarSmoke;
  39.      
  40.     new pCvarKevlar;
  41.     new pCvarDefuser;
  42.      
  43.     new pCvarPrefix;
  44.     new pCvarMoney;
  45.     new pCvarBlockBuy;
  46.     new pCvarUnAmmo;
  47.      
  48.     new const g_szMessages [ ] [ ] =
  49.     {
  50.         "",
  51.         "Csapatonként csak két ember AWP-zhet!",
  52.         "^3%s^1 WP^4 csak^1 4v4-től használható!",
  53.         "A vásárlás letíltva!",
  54.         "Te már választottál fegyvert!"
  55.     };
  56.      
  57.     new const g_szWeaponMenuNames [ ] [ ] =  {
  58.      
  59.         "M4A1",
  60.         "AK47",
  61.         "AWP",
  62.         "M249",
  63.         "AUG",
  64.         "Famas",
  65.         "Galil",
  66.         "MP5",
  67.         "XM1014",
  68.         "M3",
  69.         "Scout"
  70.     };
  71.      
  72.     new const g_szWeaponsName [ ] [ ] = {
  73.      
  74.         "weapon_m4a1",
  75.         "weapon_ak47",
  76.         "weapon_awp",
  77.         "weapon_m249",
  78.         "weapon_aug",
  79.         "weapon_famas",
  80.         "weapon_galil",
  81.         "weapon_mp5navy",
  82.         "weapon_xm1014",
  83.         "weapon_m3",
  84.         "weapon_scout"
  85.     };
  86.      
  87.     new const g_szPistolsMenuNames [ ] [ ] =  {
  88.      
  89.         "Deagle",
  90.         "USP",
  91.         "Glock18",
  92.         "Fiveseven",
  93.         "P228",
  94.         "Elite"
  95.     };
  96.      
  97.     new const g_szPistolsName [ ] [ ] = {
  98.      
  99.         "weapon_deagle",
  100.         "weapon_usp",
  101.         "weapon_glock18",
  102.         "weapon_fiveseven",
  103.         "weapon_p228",
  104.         "weapon_elite"
  105.     };
  106.      
  107.      
  108.     new const g_szPistolName [ ] = "weapon_deagle";
  109.      
  110.     const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );
  111.     new const maxAmmo[ 31 ] = {
  112.      
  113.         0,
  114.         52,
  115.         0,
  116.         90,
  117.         1,
  118.         32,
  119.         1,
  120.         100,
  121.         90,
  122.         1,
  123.         120,
  124.         100,
  125.         100,
  126.         90,
  127.         90,
  128.         90,
  129.         100,
  130.         120,
  131.         30,
  132.         120,
  133.         200,
  134.         32,
  135.         90,
  136.         120,
  137.         90,
  138.         2,
  139.         35,
  140.         90,
  141.         90,
  142.         0,
  143.         100
  144.     };
  145.      
  146.     new g_szBuyCommands[  ][  ] =
  147.     {
  148.         "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47",
  149.         "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren",
  150.         "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge",
  151.         "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550",
  152.         "buyammo1", "buyammo2"
  153.     };
  154.      
  155.     new const g_szMenuCommands[  ] [  ] =
  156.     {
  157.         "fegyo",
  158.         "say fegyo",
  159.         "say_team fegyo",
  160.      
  161.         "fegyver",
  162.         "say fegyver",
  163.         "say_team fegyver",
  164.      
  165.         "say /fegyo",
  166.         "say_team /fegyo",
  167.      
  168.         "say /fegyver",
  169.         "say_team /fegyver"
  170.      
  171.     };
  172.      
  173.     new g_szChatPrefix[ 64 ];
  174.     new g_msgHideWeapon;
  175.     new g_bHasWeapon[ Max_Players+1 ];
  176.      
  177.     public plugin_init ( ) {
  178.      
  179.         register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );
  180.      
  181.         RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );
  182.      
  183.         pCvarMaxCTWps   = register_cvar( "awm_max_ct_awp",  "2" );
  184.         pCvarMaxTEWps   = register_cvar( "awm_max_te_awp",  "2" );
  185.      
  186.         pCvarWPBlock    = register_cvar( "awm_allow_wp_player",     "4" );
  187.      
  188.         pCvarFlash  = register_cvar( "awm_give_flash",  "2" );
  189.         pCvarHe     = register_cvar( "awm_give_he",         "1" );
  190.         pCvarSmoke  = register_cvar( "awm_give_smoke",  "0" );
  191.      
  192.         pCvarKevlar = register_cvar( "awm_give_kevlar", "2" );
  193.         pCvarDefuser    = register_cvar( "awm_give_defuser",    "1" );
  194.      
  195.         pCvarUnAmmo = register_cvar( "awm_unlimited_ammo""1" );
  196.      
  197.         pCvarBlockBuy   = register_cvar( "awm_block_buy",   "1" );
  198.         pCvarMoney  = register_cvar( "awm_set_money",   "0" );
  199.         pCvarPrefix     = register_cvar( "awm_prefix",      PREFIX );
  200.      
  201.         g_msgHideWeapon = get_user_msgid( "HideWeapon" );
  202.      
  203.         for( new i = 0; i < sizeof( g_szBuyCommands ); i++ )
  204.             register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );
  205.      
  206.         for( new i = 0; i < sizeof( g_szMenuCommands ); i++ )
  207.             register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );
  208.      
  209.         register_event( "ResetHUD", "onResetHUD", "b" );
  210.         register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );
  211.      
  212.         register_message( g_msgHideWeapon, "msgHideWeapon" );
  213.      
  214.         register_logevent( "eRoundEnd", 2, "1=Round_End" );
  215.     }
  216.      
  217.     public client_connect( iClient ) {
  218.      
  219.         g_bHasWeapon[ iClient ] = false;
  220.     }
  221.      
  222.     public client_disconnect( iClient ) {
  223.      
  224.         g_bHasWeapon[ iClient ] = false;
  225.     }
  226.      
  227.     public cmd_ShowWeaponMenu( iClient ) {
  228.      
  229.         switch( g_bHasWeapon[ iClient ] ) {
  230.      
  231.             case true:
  232.             {
  233.                 get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  234.                 ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] );
  235.      
  236.                 return PLUGIN_HANDLED;
  237.             }
  238.             case false:     func_OpenWeaponMenu( iClient );
  239.         }
  240.         return PLUGIN_HANDLED;
  241.     }
  242.      
  243.     public cmd_BlockBuy( iClient ) {
  244.      
  245.         if( !get_pcvar_num( pCvarBlockBuy ) )
  246.             return PLUGIN_CONTINUE;
  247.      
  248.         get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  249.         ColorChat( iClient,  "^3%s %s" , g_szChatPrefix, 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.         get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  300.      
  301.         g_bHasWeapon[ iClient ] = false;
  302.      
  303.         new szMenuTitle[ 121 ];
  304.         new szMenuItem[ 121 ];
  305.      
  306.         format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name );
  307.      
  308.         StripUserWeapons( iClient );
  309.         new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );
  310.      
  311.         for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {
  312.      
  313.             if( i != 2 ) {
  314.      
  315.                 format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] );
  316.             }
  317.             else {
  318.                 switch( get_user_team( iClient ) )
  319.                 {
  320.                     case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) );
  321.                     case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) );
  322.                     default: continue;
  323.                 }
  324.             }
  325.      
  326.             menu_additem( menu, szMenuItem, _, 0 );
  327.         }
  328.      
  329.         menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  330.         menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  331.         menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  332.         menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  333.         menu_display( iClient, menu );
  334.     }
  335.      
  336.     public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {
  337.      
  338.         if( iItem == MENU_EXIT ) {
  339.      
  340.             StripUserWeapons( iClient );
  341.             g_bHasWeapon[ iClient ] = false;
  342.             menu_destroy( iMenu );
  343.             return PLUGIN_HANDLED;
  344.         }
  345.      
  346.         new data[ 6 ], szName[ 64 ];
  347.         new access, callback;
  348.         menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  349.      
  350.         get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  351.      
  352.         if( iItem != 2 ) {
  353.      
  354.             give_item( iClient, g_szWeaponsName[ iItem ] );
  355.      
  356.             ColorChat( iClient,  "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szWeaponMenuNames[ iItem ] );
  357.         }
  358.         else {
  359.      
  360.             new iTeams[ CsTeams ];
  361.             GetPlayerCount( iTeams );
  362.      
  363.             if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock )
  364.             || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {
  365.      
  366.                 ColorChat( iClient,  g_szMessages[ 2 ], g_szChatPrefix );
  367.                 func_OpenWeaponMenu( iClient );
  368.      
  369.                 return PLUGIN_HANDLED;
  370.             }
  371.      
  372.             new CsTeams:userTeam = cs_get_user_team( iClient );
  373.             if( userTeam == CS_TEAM_CT ) {
  374.      
  375.                 if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {
  376.      
  377.                     give_item( iClient, g_szWeaponsName[ iItem ] );
  378.                     give_item( iClient, g_szPistolName );
  379.      
  380.                     ColorChat( iClient,  "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  381.                     g_iWPCT++;
  382.                 }
  383.                 else {
  384.      
  385.                     client_print( iClient, print_center, g_szMessages[ 1 ] );
  386.                     func_OpenWeaponMenu ( iClient );
  387.      
  388.                     return PLUGIN_HANDLED;
  389.                 }
  390.             }
  391.      
  392.             if( userTeam == CS_TEAM_T ) {
  393.      
  394.                 if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {
  395.      
  396.      
  397.                     give_item( iClient, g_szWeaponsName[ iItem ] );
  398.                     give_item( iClient, g_szPistolName );
  399.      
  400.                     ColorChat( iClient,  "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  401.                     g_iWPTE++;
  402.                 }
  403.                 else {
  404.      
  405.                     client_print( iClient, print_center, g_szMessages[ 1 ] );
  406.                     func_OpenWeaponMenu( iClient );
  407.      
  408.                     return PLUGIN_HANDLED;
  409.                 }
  410.             }
  411.         }
  412.         func_OpenPistolMenu( iClient );
  413.      
  414.         menu_destroy( iMenu );
  415.         return PLUGIN_HANDLED;
  416.     }
  417.     public func_OpenPistolMenu ( iClient ) {
  418.      
  419.         if( !is_user_alive( iClient ) )
  420.             return;
  421.      
  422.         cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  423.      
  424.         get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  425.      
  426.         new szMenuTitle[ 121 ];
  427.         new szMenuItem[ 121 ];
  428.      
  429.         format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Pistol_Menu_Name );
  430.      
  431.         new menu = menu_create( szMenuTitle, "func_OpenPistolMenu_handler" );
  432.      
  433.         for( new i = 0; i < sizeof( g_szPistolsMenuNames ); i++ ) {
  434.      
  435.             format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szPistolsMenuNames[ i ] );
  436.             menu_additem( menu, szMenuItem, _, 0 );
  437.         }
  438.      
  439.         menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  440.         menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  441.         menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  442.         menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  443.         menu_display( iClient, menu );
  444.     }
  445.      
  446.     public func_OpenPistolMenu_handler( iClient, iMenu, iItem ) {
  447.      
  448.         if( iItem == MENU_EXIT ) {
  449.      
  450.             StripUserWeapons( iClient );
  451.             g_bHasWeapon[ iClient ] = false;
  452.             menu_destroy( iMenu );
  453.             return PLUGIN_HANDLED;
  454.         }
  455.      
  456.         new data[ 6 ], szName[ 64 ];
  457.         new access, callback;
  458.         menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  459.         get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  460.      
  461.         give_item( iClient, g_szPistolsName[ iItem ] );
  462.         give_item( iClient, "weapon_knife" );
  463.      
  464.         give_player_stuff( iClient );
  465.      
  466.         ColorChat( iClient,  "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szPistolsMenuNames[ iItem ] );
  467.      
  468.         menu_destroy( iMenu );
  469.         return PLUGIN_HANDLED;
  470.     }
  471.      
  472.     GetPlayerCount( iTeamPlayers[ CsTeams ] ) {
  473.      
  474.         new iPlayers[ 32 ] , iPlayerCount;
  475.      
  476.         get_players( iPlayers , iPlayerCount );
  477.      
  478.         for ( new i = 0 ; i < iPlayerCount ; i++ )
  479.             iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;
  480.     }  
  481.      
  482.     stock give_player_stuff( iClient ) {
  483.      
  484.         if( get_pcvar_num( pCvarFlash ) ) {
  485.      
  486.             give_item( iClient, "weapon_flashbang" );
  487.             cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) );
  488.         }
  489.      
  490.         if( get_pcvar_num( pCvarHe ) ) {
  491.      
  492.             give_item( iClient, "weapon_hegrenade" );
  493.             cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) );
  494.         }
  495.      
  496.         if( get_pcvar_num( pCvarSmoke ) ) {
  497.      
  498.             give_item( iClient, "weapon_smokegrenade" );
  499.             cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) );
  500.         }
  501.      
  502.         if( get_pcvar_num( pCvarKevlar ) ) {
  503.      
  504.             switch( get_pcvar_num( pCvarKevlar ) ) {
  505.      
  506.                 case 1: give_item( iClient, "item_kevlar" );
  507.                 case 2: give_item( iClient, "item_assaultsuit" );
  508.                 default: return PLUGIN_CONTINUE;
  509.             }
  510.         }
  511.      
  512.         if( get_pcvar_num( pCvarDefuser ) ) {
  513.      
  514.             give_item( iClient, "item_thighpack" );
  515.         }
  516.      
  517.         if( !get_pcvar_num( pCvarUnAmmo ) ) {
  518.      
  519.             new weapons[ 32 ];
  520.             new weaponsnum;
  521.             get_user_weapons( iClient, weapons, weaponsnum );
  522.             for( new i = 0; i < weaponsnum; i++ )
  523.                 if( is_user_alive( iClient ) )
  524.                     if( maxAmmo[ weapons[ i ] ] > 0 )
  525.                         cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] );
  526.         }
  527.      
  528.         g_bHasWeapon[ iClient ] = true;
  529.         return PLUGIN_CONTINUE;
  530.     }
  531.      
  532.     stock ColorChat( iClient, const input[], any:...)
  533.     {
  534.         new count = 1, players[ 32 ];
  535.         static msg[ 191 ];
  536.         vformat( msg, 190, input, 3 );
  537.      
  538.         replace_all( msg, 190, "^x01" , "^1");
  539.         replace_all( msg, 190, "^x03" , "^3");
  540.         replace_all( msg, 190, "^x04" , "^4");
  541.      
  542.         if ( iClient )  players[ 0 ] = iClient; else get_players( players , count , "ch" );
  543.         {
  544.             for ( new i = 0; i < count; i++ )
  545.             {
  546.                 if ( is_user_connected( players[ i ] ) )
  547.                 {
  548.                     message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] );
  549.                     write_byte( players[ i ] );
  550.                     write_string( msg );
  551.                     message_end(  );
  552.                 }
  553.             }
  554.         }
  555.     }  
  556.      
  557.      
  558.     //Stolen from CSDM Weapon Menu
  559.     stock StripUserWeapons( iClient ) {
  560.      
  561.         new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );
  562.      
  563.         if( iC4Ent > 0 ) {
  564.      
  565.             set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT );
  566.         }
  567.      
  568.         strip_user_weapons( iClient );
  569.         set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );
  570.      
  571.         if( iC4Ent > 0 )  {
  572.      
  573.             set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) );
  574.             set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );
  575.      
  576.             cs_set_user_bpammo( iClient, CSW_C4, 1 );
  577.             cs_set_user_plant( iClient, 1 );
  578.         }
  579.      
  580.         return PLUGIN_HANDLED;
  581.     }


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


Ki van itt

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