hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [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: TÖRÖLHETŐ!
HozzászólásElküldve: 2015.08.10. 20:16 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 495
Megköszönt másnak: 289 alkalommal
Megköszönték neki: 14 alkalommal
Hali!
Az alábbi plugin sma-jában van az, hogy amikor kiválasztjuk az AWP-t, akkor automata ad egy DEAGLE-t is(AMIT NEM KELLENE), majd lehet választani pisztolyt.
Így sajnos 2 pisztoly megszerzésére is van lehetőség, ami NEM KELLENE, hogy legyen.
Légyszíves ezt a hibát javítsa ki valaki.

SMA:

SMA Forráskód: [ Mindet kijelol ]#include < amxmodx >#include < amxmisc >#include < fun >#include < fakemeta >#include < cstrike >#include < hamsandwich > #pragma semicolon 1 #define VERSION "0.0.1" #define Max_Players 32 #define OFFSET_PRIMARYWEAPON 116#define OFFSET_C4_SLOT 372 #define Weapon_Menu_Name "Fegyverek"#define Pistol_Menu_Name "Pisztolyok" #define Next_Button "KövetkezĹ‘"#define Back_Button "Vissza"#define Exit_Button "KilĂ©pĂ©s" #define Money_Hud ( 1 << 5 ) new g_iWPCT;new g_iWPTE; new pCvarMaxCTWps;new pCvarMaxTEWps; new pCvarWPBlock; new pCvarFlash;new pCvarHe;new pCvarSmoke; new pCvarKevlar;new pCvarDefuser; new pCvarPrefix;new pCvarMoney;new pCvarBlockBuy;new pCvarUnAmmo; new const g_szMessages [ ] [ ] = { "", "CsapatonkĂ©nt csak kĂ©t ember AWP-zhet!", "^3%s^1 WP^4 csak^1 4v4-tĹ‘l használhatĂł!", "A vásárlás letĂ­ltva!", "Te már választottál fegyvert!"}; new const g_szWeaponMenuNames [ ] [ ] = {  "M4A1", "AK47", "AWP", "M249", "AUG", "Famas", "Galil", "MP5", "XM1014", "M3", "Scout"}; new const g_szWeaponsName [ ] [ ] = {  "weapon_m4a1", "weapon_ak47", "weapon_awp", "weapon_m249", "weapon_aug", "weapon_famas", "weapon_galil", "weapon_mp5navy", "weapon_xm1014", "weapon_m3", "weapon_scout"}; new const g_szPistolsMenuNames [ ] [ ] = {  "Deagle", "USP", "Glock18", "Fiveseven", "P228", "Elite"}; new const g_szPistolsName [ ] [ ] = {  "weapon_deagle", "weapon_usp", "weapon_glock18", "weapon_fiveseven", "weapon_p228", "weapon_elite"};  new const g_szPistolName [ ] = "weapon_deagle"; const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );new const maxAmmo[ 31 ] = {  0, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, 0, 100 }; new g_szBuyCommands[ ][ ] = { "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47", "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren", "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge", "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550", "buyammo1", "buyammo2"}; new const g_szMenuCommands[ ] [ ] = { "fegyo", "say fegyo", "say_team fegyo",  "fegyver", "say fegyver", "say_team fegyver",  "say /fegyo", "say_team /fegyo",  "say /fegyver", "say_team /fegyver" }; new g_szChatPrefix[ 64 ];new g_msgHideWeapon;new g_bHasWeapon[ Max_Players ]; public plugin_init ( ) {  register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );  RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );  pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "4" ); // Ct-nél 2 AWP-s lehet. pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "4" ); // Terroristáknál 2 AWP-s lehet.  pCvarWPBlock = register_cvar( "awm_allow_wp_player", "3" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t  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 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 pCvarSmoke = register_cvar( "awm_give_smoke", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad )  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 ) pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad )  pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "0" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár )  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 ) 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 pCvarPrefix = register_cvar( "awm_prefix", "szerver" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je.  g_msgHideWeapon = get_user_msgid( "HideWeapon" );  for( new i = 0; i < sizeof( g_szBuyCommands ); i++ ) register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );  for( new i = 0; i < sizeof( g_szMenuCommands ); i++ ) register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );  register_event( "ResetHUD", "onResetHUD", "b" ); register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );  register_message( g_msgHideWeapon, "msgHideWeapon" );  register_logevent( "eRoundEnd", 2, "1=Round_End" );} public client_connect( iClient ) {  g_bHasWeapon[ iClient ] = false;} public client_disconnect( iClient ) {  g_bHasWeapon[ iClient ] = false;} public cmd_ShowWeaponMenu( iClient ) {  switch( g_bHasWeapon[ iClient ] ) {  case true: { get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] );  return PLUGIN_HANDLED; } case false: func_OpenWeaponMenu( iClient ); } return PLUGIN_HANDLED;} public cmd_BlockBuy( iClient ) {  if( !get_pcvar_num( pCvarBlockBuy ) ) return PLUGIN_CONTINUE;  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 3 ] ); return PLUGIN_HANDLED;} public eCurWeapon( iClient ) {  if( get_pcvar_num( pCvarUnAmmo ) ) {  if( is_user_alive( iClient ) ) {  new weapon = read_data( 2 ); if( !( DoNotReload & ( 1 << weapon ) ) ) {  cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] ); } } }} public onResetHUD( iClient ) {  if( !get_pcvar_num( pCvarMoney ) ) {  message_begin( MSG_ONE, g_msgHideWeapon, _, iClient ); write_byte( Money_Hud ); message_end( ); }} public msgHideWeapon( ) {  if( !get_pcvar_num( pCvarMoney ) ) {  set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud ); }} public eRoundEnd ( ) {  g_iWPCT = 0; g_iWPTE = 0;} public func_OpenWeaponMenu ( iClient ) {  if( !is_user_alive( iClient ) ) return;  cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );  g_bHasWeapon[ iClient ] = false;  new szMenuTitle[ 121 ]; new szMenuItem[ 121 ];  format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name );  StripUserWeapons( iClient ); new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );  for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {  if( i != 2 ) {  format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] ); } else { switch( get_user_team( iClient ) ) { case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[ElsĹ‘ %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) ); case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[ElsĹ‘ %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) ); default: continue; } }  menu_additem( menu, szMenuItem, _, 0 ); }  menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); menu_setprop( menu, MPROP_BACKNAME, Back_Button ); menu_setprop( menu, MPROP_NEXTNAME, Next_Button ); menu_setprop( menu, MPROP_EXITNAME, Exit_Button ); menu_display( iClient, menu );} public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {  if( iItem == MENU_EXIT ) {  StripUserWeapons( iClient ); g_bHasWeapon[ iClient ] = false; menu_destroy( iMenu ); return PLUGIN_HANDLED; }  new data[ 6 ], szName[ 64 ]; new access, callback; menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );  if( iItem != 2 ) {  give_item( iClient, g_szWeaponsName[ iItem ] );  ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szWeaponMenuNames[ iItem ] ); } else {  new iTeams[ CsTeams ]; GetPlayerCount( iTeams );  if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock ) || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {  ColorChat( iClient, g_szMessages[ 2 ], g_szChatPrefix ); func_OpenWeaponMenu( iClient );  return PLUGIN_HANDLED; }  new CsTeams:userTeam = cs_get_user_team( iClient ); if( userTeam == CS_TEAM_CT ) {  if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {  give_item( iClient, g_szWeaponsName[ iItem ] ); give_item( iClient, g_szPistolName );  ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] ); g_iWPCT++; } else {  client_print( iClient, print_center, g_szMessages[ 1 ] ); func_OpenWeaponMenu ( iClient );  return PLUGIN_HANDLED; } }  if( userTeam == CS_TEAM_T ) {  if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {   give_item( iClient, g_szWeaponsName[ iItem ] ); give_item( iClient, g_szPistolName );  ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] ); g_iWPTE++; } else {  client_print( iClient, print_center, g_szMessages[ 1 ] ); func_OpenWeaponMenu( iClient );  return PLUGIN_HANDLED; } } } func_OpenPistolMenu( iClient );  menu_destroy( iMenu ); return PLUGIN_HANDLED;}public func_OpenPistolMenu ( iClient ) {  if( !is_user_alive( iClient ) ) return;  cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );  new szMenuTitle[ 121 ]; new szMenuItem[ 121 ];  format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Pistol_Menu_Name );  new menu = menu_create( szMenuTitle, "func_OpenPistolMenu_handler" );  for( new i = 0; i < sizeof( g_szPistolsMenuNames ); i++ ) {  format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szPistolsMenuNames[ i ] ); menu_additem( menu, szMenuItem, _, 0 ); }  menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); menu_setprop( menu, MPROP_BACKNAME, Back_Button ); menu_setprop( menu, MPROP_NEXTNAME, Next_Button ); menu_setprop( menu, MPROP_EXITNAME, Exit_Button ); menu_display( iClient, menu );} public func_OpenPistolMenu_handler( iClient, iMenu, iItem ) {  if( iItem == MENU_EXIT ) {  StripUserWeapons( iClient ); g_bHasWeapon[ iClient ] = false; menu_destroy( iMenu ); return PLUGIN_HANDLED; }  new data[ 6 ], szName[ 64 ]; new access, callback; menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback ); get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );  give_item( iClient, g_szPistolsName[ iItem ] ); give_item( iClient, "weapon_knife" );  give_player_stuff( iClient );  ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szPistolsMenuNames[ iItem ] );  menu_destroy( iMenu ); return PLUGIN_HANDLED;} GetPlayerCount( iTeamPlayers[ CsTeams ] ) {  new iPlayers[ 32 ] , iPlayerCount;  get_players( iPlayers , iPlayerCount );   for ( new i = 0 ; i < iPlayerCount ; i++ ) iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;}  stock give_player_stuff( iClient ) {  if( get_pcvar_num( pCvarFlash ) ) {  give_item( iClient, "weapon_flashbang" ); cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) ); }  if( get_pcvar_num( pCvarHe ) ) {  give_item( iClient, "weapon_hegrenade" ); cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) ); }  if( get_pcvar_num( pCvarSmoke ) ) {  give_item( iClient, "weapon_smokegrenade" ); cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) ); }  if( get_pcvar_num( pCvarKevlar ) ) {  switch( get_pcvar_num( pCvarKevlar ) ) {  case 1: give_item( iClient, "item_kevlar" ); case 2: give_item( iClient, "item_assaultsuit" ); default: return PLUGIN_CONTINUE; } }  if( get_pcvar_num( pCvarDefuser ) ) {  give_item( iClient, "item_thighpack" ); }  if( !get_pcvar_num( pCvarUnAmmo ) ) {  new weapons[ 32 ]; new weaponsnum; get_user_weapons( iClient, weapons, weaponsnum ); for( new i = 0; i < weaponsnum; i++ ) if( is_user_alive( iClient ) ) if( maxAmmo[ weapons[ i ] ] > 0 ) cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] ); }  g_bHasWeapon[ iClient ] = true; return PLUGIN_CONTINUE;} stock ColorChat( iClient, const input[], any:...) { new count = 1, players[ 32 ]; static msg[ 191 ]; vformat( msg, 190, input, 3 );  replace_all( msg, 190, "^x01" , "^1"); replace_all( msg, 190, "^x03" , "^3"); replace_all( msg, 190, "^x04" , "^4");   if ( iClient ) players[ 0 ] = iClient; else get_players( players , count , "ch" ); { for ( new i = 0; i < count; i++ ) { if ( is_user_connected( players[ i ] ) ) { message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] ); write_byte( players[ i ] ); write_string( msg ); message_end( ); } } } }   //Stolen from CSDM Weapon Menustock StripUserWeapons( iClient ) {  new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );  if( iC4Ent > 0 ) {  set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT ); }  strip_user_weapons( iClient ); set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );  if( iC4Ent > 0 ) {  set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) ); set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );  cs_set_user_bpammo( iClient, CSW_C4, 1 ); cs_set_user_plant( iClient, 1 ); }  return PLUGIN_HANDLED;}
 
Előre is köszönöm!


A hozzászólást 2 alkalommal szerkesztették, utoljára ZiT3K 2021.02.13. 02:58-kor.

Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.08.11. 18:05 
Offline
Lelkes
Avatar

Csatlakozott: 2015.08.09. 11:22
Hozzászólások: 29
Megköszönték neki: 2 alkalommal
Üdv!
Teszt volt! Most már nem add 2 pisztolyt!
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 "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. new g_iWPCT;
  27. new g_iWPTE;
  28.  
  29. new pCvarMaxCTWps;
  30. new pCvarMaxTEWps;
  31.  
  32. new pCvarWPBlock;
  33.  
  34. new pCvarFlash;
  35. new pCvarHe;
  36. new pCvarSmoke;
  37.  
  38. new pCvarKevlar;
  39. new pCvarDefuser;
  40.  
  41. new pCvarPrefix;
  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. "M4A1",
  58. "AK47",
  59. "AWP",
  60. "M249",
  61. "AUG",
  62. "Famas",
  63. "Galil",
  64. "MP5",
  65. "XM1014",
  66. "M3",
  67. "Scout"
  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_szPistolsMenuNames [ ] [ ] = {
  86.  
  87. "Deagle",
  88. "USP",
  89. "Glock18",
  90. "Fiveseven",
  91. "P228",
  92. "Elite"
  93. };
  94.  
  95. new const g_szPistolsName [ ] [ ] = {
  96.  
  97. "weapon_deagle",
  98. "weapon_usp",
  99. "weapon_glock18",
  100. "weapon_fiveseven",
  101. "weapon_p228",
  102. "weapon_elite"
  103. };
  104.  
  105.  
  106.  
  107. const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );
  108. new const maxAmmo[ 31 ] = {
  109.  
  110. 0,
  111. 52,
  112. 0,
  113. 90,
  114. 1,
  115. 32,
  116. 1,
  117. 100,
  118. 90,
  119. 1,
  120. 120,
  121. 100,
  122. 100,
  123. 90,
  124. 90,
  125. 90,
  126. 100,
  127. 120,
  128. 30,
  129. 120,
  130. 200,
  131. 32,
  132. 90,
  133. 120,
  134. 90,
  135. 2,
  136. 35,
  137. 90,
  138. 90,
  139. 0,
  140. 100
  141. };
  142.  
  143. new g_szBuyCommands[ ][ ] =
  144. {
  145. "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47",
  146. "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren",
  147. "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge",
  148. "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550",
  149. "buyammo1", "buyammo2"
  150. };
  151.  
  152. new const g_szMenuCommands[ ] [ ] =
  153. {
  154. "fegyo",
  155. "say fegyo",
  156. "say_team fegyo",
  157.  
  158. "fegyver",
  159. "say fegyver",
  160. "say_team fegyver",
  161.  
  162. "say /fegyo",
  163. "say_team /fegyo",
  164.  
  165. "say /fegyver",
  166. "say_team /fegyver"
  167.  
  168. };
  169.  
  170. new g_szChatPrefix[ 64 ];
  171. new g_msgHideWeapon;
  172. new g_bHasWeapon[ Max_Players ];
  173.  
  174. public plugin_init ( ) {
  175.  
  176. register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );
  177.  
  178. RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );
  179.  
  180. pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "4" ); // Ct-nél 2 AWP-s lehet.
  181. pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "4" ); // Terroristáknál 2 AWP-s lehet.
  182.  
  183. pCvarWPBlock = register_cvar( "awm_allow_wp_player", "3" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t
  184.  
  185. 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
  186. 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
  187. pCvarSmoke = register_cvar( "awm_give_smoke", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad )
  188.  
  189. 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 )
  190. pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad )
  191.  
  192. pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "0" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár )
  193.  
  194. 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 )
  195. 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
  196. pCvarPrefix = register_cvar( "awm_prefix", "szerver" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je.
  197.  
  198. g_msgHideWeapon = get_user_msgid( "HideWeapon" );
  199.  
  200. for( new i = 0; i < sizeof( g_szBuyCommands ); i++ )
  201. register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );
  202.  
  203. for( new i = 0; i < sizeof( g_szMenuCommands ); i++ )
  204. register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );
  205.  
  206. register_event( "ResetHUD", "onResetHUD", "b" );
  207. register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );
  208.  
  209. register_message( g_msgHideWeapon, "msgHideWeapon" );
  210.  
  211. register_logevent( "eRoundEnd", 2, "1=Round_End" );
  212. }
  213.  
  214. public client_connect( iClient ) {
  215.  
  216. g_bHasWeapon[ iClient ] = false;
  217. }
  218.  
  219. public client_disconnect( iClient ) {
  220.  
  221. g_bHasWeapon[ iClient ] = false;
  222. }
  223.  
  224. public cmd_ShowWeaponMenu( iClient ) {
  225.  
  226. switch( g_bHasWeapon[ iClient ] ) {
  227.  
  228. case true:
  229. {
  230. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  231. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] );
  232.  
  233. return PLUGIN_HANDLED;
  234. }
  235. case false: func_OpenWeaponMenu( iClient );
  236. }
  237. return PLUGIN_HANDLED;
  238. }
  239.  
  240. public cmd_BlockBuy( iClient ) {
  241.  
  242. if( !get_pcvar_num( pCvarBlockBuy ) )
  243. return PLUGIN_CONTINUE;
  244.  
  245. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  246. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 3 ] );
  247. return PLUGIN_HANDLED;
  248. }
  249.  
  250. public eCurWeapon( iClient ) {
  251.  
  252. if( get_pcvar_num( pCvarUnAmmo ) ) {
  253.  
  254. if( is_user_alive( iClient ) ) {
  255.  
  256. new weapon = read_data( 2 );
  257. if( !( DoNotReload & ( 1 << weapon ) ) ) {
  258.  
  259. cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] );
  260. }
  261. }
  262. }
  263. }
  264.  
  265. public onResetHUD( iClient ) {
  266.  
  267. if( !get_pcvar_num( pCvarMoney ) ) {
  268.  
  269. message_begin( MSG_ONE, g_msgHideWeapon, _, iClient );
  270. write_byte( Money_Hud );
  271. message_end( );
  272. }
  273. }
  274.  
  275. public msgHideWeapon( ) {
  276.  
  277. if( !get_pcvar_num( pCvarMoney ) ) {
  278.  
  279. set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud );
  280. }
  281. }
  282.  
  283. public eRoundEnd ( ) {
  284.  
  285. g_iWPCT = 0;
  286. g_iWPTE = 0;
  287. }
  288.  
  289. public func_OpenWeaponMenu ( iClient ) {
  290.  
  291. if( !is_user_alive( iClient ) )
  292. return;
  293.  
  294. cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  295.  
  296. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  297.  
  298. g_bHasWeapon[ iClient ] = false;
  299.  
  300. new szMenuTitle[ 121 ];
  301. new szMenuItem[ 121 ];
  302.  
  303. format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name );
  304.  
  305. StripUserWeapons( iClient );
  306. new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );
  307.  
  308. for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {
  309.  
  310. if( i != 2 ) {
  311.  
  312. format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] );
  313. }
  314. else {
  315. switch( get_user_team( iClient ) )
  316. {
  317. case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) );
  318. case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) );
  319. default: continue;
  320. }
  321. }
  322.  
  323. menu_additem( menu, szMenuItem, _, 0 );
  324. }
  325.  
  326. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  327. menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  328. menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  329. menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  330. menu_display( iClient, menu );
  331. }
  332.  
  333. public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {
  334.  
  335. if( iItem == MENU_EXIT ) {
  336.  
  337. StripUserWeapons( iClient );
  338. g_bHasWeapon[ iClient ] = false;
  339. menu_destroy( iMenu );
  340. return PLUGIN_HANDLED;
  341. }
  342.  
  343. new data[ 6 ], szName[ 64 ];
  344. new access, callback;
  345. menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  346.  
  347. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  348.  
  349. if( iItem != 2 ) {
  350.  
  351. give_item( iClient, g_szWeaponsName[ iItem ] );
  352.  
  353. ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szWeaponMenuNames[ iItem ] );
  354. }
  355. else {
  356.  
  357. new iTeams[ CsTeams ];
  358. GetPlayerCount( iTeams );
  359.  
  360. if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock )
  361. || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {
  362.  
  363. ColorChat( iClient, g_szMessages[ 2 ], g_szChatPrefix );
  364. func_OpenWeaponMenu( iClient );
  365.  
  366. return PLUGIN_HANDLED;
  367. }
  368.  
  369. new CsTeams:userTeam = cs_get_user_team( iClient );
  370. if( userTeam == CS_TEAM_CT ) {
  371.  
  372. if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {
  373.  
  374. give_item( iClient, g_szWeaponsName[ iItem ] );
  375.  
  376. ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  377. g_iWPCT++;
  378. }
  379. else {
  380.  
  381. client_print( iClient, print_center, g_szMessages[ 1 ] );
  382. func_OpenWeaponMenu ( iClient );
  383.  
  384. return PLUGIN_HANDLED;
  385. }
  386. }
  387.  
  388. if( userTeam == CS_TEAM_T ) {
  389.  
  390. if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {
  391.  
  392.  
  393. give_item( iClient, g_szWeaponsName[ iItem ] );
  394.  
  395. ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix, 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. func_OpenPistolMenu( iClient );
  408.  
  409. menu_destroy( iMenu );
  410. return PLUGIN_HANDLED;
  411. }
  412. public func_OpenPistolMenu ( iClient ) {
  413.  
  414. if( !is_user_alive( iClient ) )
  415. return;
  416.  
  417. cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  418.  
  419. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  420.  
  421. new szMenuTitle[ 121 ];
  422. new szMenuItem[ 121 ];
  423.  
  424. format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Pistol_Menu_Name );
  425.  
  426. new menu = menu_create( szMenuTitle, "func_OpenPistolMenu_handler" );
  427.  
  428. for( new i = 0; i < sizeof( g_szPistolsMenuNames ); i++ ) {
  429.  
  430. format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szPistolsMenuNames[ i ] );
  431. menu_additem( menu, szMenuItem, _, 0 );
  432. }
  433.  
  434. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  435. menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  436. menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  437. menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  438. menu_display( iClient, menu );
  439. }
  440.  
  441. public func_OpenPistolMenu_handler( iClient, iMenu, iItem ) {
  442.  
  443. if( iItem == MENU_EXIT ) {
  444.  
  445. StripUserWeapons( iClient );
  446. g_bHasWeapon[ iClient ] = false;
  447. menu_destroy( iMenu );
  448. return PLUGIN_HANDLED;
  449. }
  450.  
  451. new data[ 6 ], szName[ 64 ];
  452. new access, callback;
  453. menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  454. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  455.  
  456. give_item( iClient, g_szPistolsName[ iItem ] );
  457. give_item( iClient, "weapon_knife" );
  458.  
  459. give_player_stuff( iClient );
  460.  
  461. ColorChat( iClient, "^3%s^1 Te az ^4%s^1-t választottad!", g_szChatPrefix ,g_szPistolsMenuNames[ iItem ] );
  462.  
  463. menu_destroy( iMenu );
  464. return PLUGIN_HANDLED;
  465. }
  466.  
  467. GetPlayerCount( iTeamPlayers[ CsTeams ] ) {
  468.  
  469. new iPlayers[ 32 ] , iPlayerCount;
  470.  
  471. get_players( iPlayers , iPlayerCount );
  472.  
  473. for ( new i = 0 ; i < iPlayerCount ; i++ )
  474. iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;
  475. }
  476.  
  477. stock give_player_stuff( iClient ) {
  478.  
  479. if( get_pcvar_num( pCvarFlash ) ) {
  480.  
  481. give_item( iClient, "weapon_flashbang" );
  482. cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) );
  483. }
  484.  
  485. if( get_pcvar_num( pCvarHe ) ) {
  486.  
  487. give_item( iClient, "weapon_hegrenade" );
  488. cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) );
  489. }
  490.  
  491. if( get_pcvar_num( pCvarSmoke ) ) {
  492.  
  493. give_item( iClient, "weapon_smokegrenade" );
  494. cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) );
  495. }
  496.  
  497. if( get_pcvar_num( pCvarKevlar ) ) {
  498.  
  499. switch( get_pcvar_num( pCvarKevlar ) ) {
  500.  
  501. case 1: give_item( iClient, "item_kevlar" );
  502. case 2: give_item( iClient, "item_assaultsuit" );
  503. default: return PLUGIN_CONTINUE;
  504. }
  505. }
  506.  
  507. if( get_pcvar_num( pCvarDefuser ) ) {
  508.  
  509. give_item( iClient, "item_thighpack" );
  510. }
  511.  
  512. if( !get_pcvar_num( pCvarUnAmmo ) ) {
  513.  
  514. new weapons[ 32 ];
  515. new weaponsnum;
  516. get_user_weapons( iClient, weapons, weaponsnum );
  517. for( new i = 0; i < weaponsnum; i++ )
  518. if( is_user_alive( iClient ) )
  519. if( maxAmmo[ weapons[ i ] ] > 0 )
  520. cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] );
  521. }
  522.  
  523. g_bHasWeapon[ iClient ] = true;
  524. return PLUGIN_CONTINUE;
  525. }
  526.  
  527. stock ColorChat( iClient, const input[], any:...)
  528. {
  529. new count = 1, players[ 32 ];
  530. static msg[ 191 ];
  531. vformat( msg, 190, input, 3 );
  532.  
  533. replace_all( msg, 190, "^x01" , "^1");
  534. replace_all( msg, 190, "^x03" , "^3");
  535. replace_all( msg, 190, "^x04" , "^4");
  536.  
  537. if ( iClient ) players[ 0 ] = iClient; else get_players( players , count , "ch" );
  538. {
  539. for ( new i = 0; i < count; i++ )
  540. {
  541. if ( is_user_connected( players[ i ] ) )
  542. {
  543. message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] );
  544. write_byte( players[ i ] );
  545. write_string( msg );
  546. message_end( );
  547. }
  548. }
  549. }
  550. }
  551.  
  552.  
  553. //Stolen from CSDM Weapon Menu
  554. stock StripUserWeapons( iClient ) {
  555.  
  556. new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );
  557.  
  558. if( iC4Ent > 0 ) {
  559.  
  560. set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT );
  561. }
  562.  
  563. strip_user_weapons( iClient );
  564. set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );
  565.  
  566. if( iC4Ent > 0 ) {
  567.  
  568. set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) );
  569. set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );
  570.  
  571. cs_set_user_bpammo( iClient, CSW_C4, 1 );
  572. cs_set_user_plant( iClient, 1 );
  573. }
  574.  
  575. return PLUGIN_HANDLED;
  576. }

Ők köszönték meg Cyberboy nek ezt a hozzászólást: ZiT3K (2015.08.11. 19:26)
  Népszerűség: 2.27%


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


Ki van itt

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