HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < cstrike >
  4. #include < fakemeta >
  5. #include < fun >
  6. #include < hamsandwich >
  7.  
  8. #define ADMIN_VOICE ADMIN_MENU
  9.  
  10.  
  11. new g_iMaxClients;
  12. new g_iMenu;
  13.  
  14. new bool:g_connected[33];
  15.  
  16. public plugin_init() {
  17. register_plugin( "Jailbreak Guard Classes", "1.0", "©toastt" );
  18. RegisterHam( Ham_Spawn, "player", "HamPlayerSpawn", 1 );
  19.  
  20. register_forward( FM_Voice_SetClientListening, "FwdSetVoice" );
  21.  
  22. g_iMaxClients = get_maxplayers();
  23.  
  24. g_iMenu = menu_create( "Válassz fegyvert!", "HandleWeaponsMenu" );
  25. menu_additem( g_iMenu, "AK47 Õr", "1", 0 );
  26. menu_additem( g_iMenu, "M4A1 Õr", "2", 0 );
  27. menu_additem( g_iMenu, "AWP Õr", "3", 0 );
  28. menu_additem( g_iMenu, "M3 Õr", "4", 0 );
  29. menu_additem( g_iMenu, "FAMAS Õr", "5", 0 );
  30. menu_additem( g_iMenu, "P90 Õr", "6", 0 );
  31. menu_additem( g_iMenu, "M249 Õr", "7", 0 );
  32. menu_setprop( g_iMenu, MPROP_EXIT, MEXIT_ALL );
  33.  
  34. g_iMaxClients = global_get( glb_maxClients );
  35. }
  36.  
  37. public HamPlayerSpawn(id) {
  38. if( is_user_alive( id ) && is_user_connected( id ) ) {
  39. strip_user_weapons( id );
  40. give_item( id, "weapon_knife" );
  41. if( cs_get_user_team( id ) == CS_TEAM_CT ) {
  42. give_item( id, "weapon_deagle" );
  43. cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
  44. menu_display( id, g_iMenu, 0 );
  45. }
  46. }
  47. }
  48.  
  49. public client_putinserver(client)
  50. {
  51. g_connected[client] = true;
  52. }
  53.  
  54. public client_disconnect(client)
  55. {
  56. g_connected[client] = false;
  57. }
  58.  
  59. public FwdSetVoice(receiver, sender, bool:listen)
  60. {
  61. if( !(1 <= receiver <= g_iMaxClients)
  62. || !g_connected[receiver]
  63. || !(1 <= sender <= g_iMaxClients)
  64. || !g_connected[sender] ) return FMRES_IGNORED;
  65.  
  66. new CsTeams:team = cs_get_user_team(sender);
  67. if( (team == CS_TEAM_T || team == CS_TEAM_CT && !is_user_alive(sender)) && !access(sender, ADMIN_VOICE) )
  68. {
  69. engfunc(EngFunc_SetClientListening, receiver, sender, 0);
  70. return FMRES_SUPERCEDE;
  71. }
  72.  
  73. return FMRES_IGNORED;
  74. }
  75.  
  76. public HandleWeaponsMenu( id, iMenu, iItem ) {
  77. if( iItem == MENU_EXIT || !is_user_alive( id ) )
  78. return PLUGIN_HANDLED;
  79.  
  80. new szKey[ 7 ], _Trash;
  81. menu_item_getinfo( iMenu, iItem, _Trash, szKey, 1, "", 0, _Trash );
  82.  
  83. switch( szKey[ 0 ] ) {
  84. case '1': {
  85. give_item( id, "weapon_ak47" );
  86. cs_set_user_bpammo( id, CSW_AK47, 90 );
  87. set_user_health(id, 200);
  88. }
  89. case '2': {
  90. give_item( id, "weapon_m4a1" );
  91. cs_set_user_bpammo( id, CSW_M4A1, 90 );
  92. set_user_health(id, 200);
  93. }
  94. case '3': {
  95. give_item( id, "weapon_awp" );
  96. cs_set_user_bpammo( id, CSW_AWP, 30 );
  97. set_user_health(id, 200);
  98. }
  99. case '4': {
  100. give_item( id, "weapon_m3" );
  101. cs_set_user_bpammo( id, CSW_M3, 32 );
  102. set_user_health(id, 200);
  103. }
  104. case '5': {
  105. give_item( id, "weapon_famas" );
  106. cs_set_user_bpammo( id, CSW_FAMAS, 90 );
  107. set_user_health(id, 200);
  108. }
  109. case '6': {
  110. give_item( id, "weapon_p90" );
  111. cs_set_user_bpammo( id, CSW_P90, 100 );
  112. set_user_health(id, 200);
  113. }
  114. case '7': {
  115. give_item( id, "weapon_m249" );
  116. cs_set_user_bpammo( id, CSW_M249, 200 );
  117. set_user_health(id, 200);
  118. }
  119. }
  120. return PLUGIN_HANDLED;
  121. }
  122.