HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <fun>
  5. #include <hamsandwich>
  6. #include <xs>
  7. #include <fakemeta>
  8.  
  9. #define PLUGIN "FirstBlodMenu"
  10. #define VERSION "1.0"
  11. #define AUTHOR "Silent && IrOn && Metal && Kiki && Virtualcfg && Cocaine && ezmegmi? && DeteCT0R + fórum"
  12.  
  13. #define FEGYVERSZAM 24
  14.  
  15. new first_blood_player;
  16. new norecoil_blood_player;
  17. new fbmenu;
  18.  
  19. new Float:cl_pushangle[33][3]
  20.  
  21. /* Fegyverek */
  22. new const FEGYVEREK[FEGYVERSZAM][] =
  23. {
  24. "weapon_p228",
  25. "weapon_scout",
  26. "weapon_xm1014",
  27. "weapon_mac10",
  28. "weapon_aug",
  29. "weapon_elite",
  30. "weapon_fiveseven",
  31. "weapon_ump45",
  32. "weapon_sg550",
  33. "weapon_galil",
  34. "weapon_famas",
  35. "weapon_usp",
  36. "weapon_glock18",
  37. "weapon_awp",
  38. "weapon_mp5navy",
  39. "weapon_m249",
  40. "weapon_m3",
  41. "weapon_m4a1",
  42. "weapon_tmp",
  43. "weapon_g3sg1",
  44. "weapon_deagle",
  45. "weapon_sg552",
  46. "weapon_ak47",
  47. "weapon_p90"
  48. }
  49.  
  50. public plugin_init() {
  51. register_plugin(PLUGIN, VERSION, AUTHOR);
  52. register_logevent("round_start", 2, "1=Round_Start");
  53. register_event("DeathMsg", "hook_death", "a", "1>0");
  54. RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_m249", "norecoilgive" , 1 );
  55. fbmenu = menu_create("Grat!Valassz!", "fbMenuHandler");
  56. menu_additem(fbmenu, "NO-RECOIL", "1", 0);
  57. menu_additem(fbmenu, "Isten mod!", "2", 0);
  58. menu_additem(fbmenu, "250 HP", "3", 0);
  59. menu_additem(fbmenu, "400 Gravitacio", "4", 0);
  60. menu_additem(fbmenu, "Gyorsasag", "5", 0);
  61. menu_additem(fbmenu, "Random fegyver", "6", 0);
  62. menu_setprop(fbmenu, MPROP_EXIT, MEXIT_ALL);
  63. }
  64.  
  65. public round_start()
  66. {
  67. if (first_blood_player != 0 && is_user_connected(first_blood_player))
  68. {
  69. set_user_health(first_blood_player, 100);
  70. set_user_gravity(first_blood_player, 1.0);
  71. set_user_godmode(first_blood_player, 0);
  72. set_user_maxspeed(first_blood_player, 340.0);
  73. }
  74. norecoil_blood_player = 0;
  75. first_blood_player = 0;
  76. }
  77.  
  78. public hook_death()
  79. {
  80. new killer = read_data(1);
  81. new victim = read_data(2);
  82. if(first_blood_player == 0)
  83. {
  84. first_blood_player = killer;
  85. menu_display(killer, fbmenu);
  86. client_print(killer, print_chat, "Te vagy az elso gyilkos, valassz jutalmat!");
  87. client_print(victim, print_chat, "Te vagy az elso ver, ez szanalmas...");
  88. }
  89. }
  90.  
  91. public fbMenuHandler(id, fbmenu, item)
  92. {
  93. if(item == MENU_EXIT)
  94. {
  95. menu_destroy(fbmenu);
  96. return PLUGIN_HANDLED;
  97. }
  98. new data[6], szName[64];
  99. new access, callback;
  100. menu_item_getinfo(fbmenu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  101. new key = str_to_num(data);
  102. new kname[32];
  103. get_user_name(id, kname, 31);
  104.  
  105. new Players[32]
  106. new playerCount, i, player
  107. get_players(Players, playerCount, "ch")
  108.  
  109. switch(key)
  110. {
  111. case 1:
  112. {
  113. norecoil_blood_player = id;
  114. client_print(id, print_chat ,"Kaptal no-recoilt!Mostantol nem rangat a fegyvered!");
  115. for (i=0; i<playerCount; i++)
  116. if (Players[i] != id)
  117. client_print(Players[i], print_chat, "%s kapott no-recoilt, mivel ove volt az elso ver!", kname);
  118. }
  119. case 2:
  120. {
  121. set_user_godmode(id, 1);
  122. client_print(id, print_chat ,"Kaptal isten modot!Mostantol nem tudnak sebezni");
  123. for (i=0; i<playerCount; i++)
  124. if (Players[i] != id)
  125. client_print(Players[i], print_chat, "%s kapott isten modot, mivel ove volt az elso ver!", kname);
  126. }
  127. case 3:
  128. {
  129. set_user_health(id, 250);
  130. client_print(id, print_chat ,"Kaptal 250HP-t!");
  131. for (i=0; i<playerCount; i++)
  132. if (Players[i] != id)
  133. client_print(Players[i], print_chat, "%s kapott 250HP-t, mivel ove volt az elso ver!", kname);
  134. }
  135. case 4:
  136. {
  137. set_user_gravity(id, 0.5)
  138. client_print(id, print_chat ,"Kisebb lett a gravitaciod, nagyobbat ugrasz!");
  139. for (i=0; i<playerCount; i++)
  140. if (Players[i] != id)
  141. client_print(Players[i], print_chat, "%s-nak kisebb lett a gravitacioja, mivel ove volt az elso ver!", kname);
  142. }
  143. case 5:
  144. {
  145. set_user_maxspeed(id, 450.0)
  146. client_print(id, print_chat ,"Kaptal extra sebesseget!");
  147. for (i=0; i<playerCount; i++)
  148. if (Players[i] != id)
  149. client_print(Players[i], print_chat, "%s kapott extra sebesseget, mivel ove volt az elso ver!", kname);
  150. }
  151. case 6:
  152. {
  153. give_item(id, FEGYVEREK[random(FEGYVERSZAM)]);
  154. client_print(id, print_chat ,"Kaptal egy veletlen fegyvert!");
  155. for (i=0; i<playerCount; i++)
  156. if (Players[i] != id)
  157. client_print(Players[i], print_chat, "%s kapott veletlen fegyvert, mivel ove volt az elso ver!", kname);
  158. }
  159. }
  160. return PLUGIN_HANDLED
  161. }
  162.  
  163. public norecoilgive(Weapon)
  164. {
  165. new weapon_user = get_pdata_cbase(Weapon, 41, 4)
  166.  
  167. if(weapon_user == norecoil_blood_player && weapon_user != 0)
  168. {
  169. new Float:push[3]
  170. pev(weapon_user,pev_punchangle,push);
  171. xs_vec_sub(push,cl_pushangle[weapon_user],push);
  172.  
  173. xs_vec_mul_scalar(push,0.1,push);
  174. xs_vec_add(push,cl_pushangle[weapon_user],push);
  175. set_pev(weapon_user,pev_punchangle,push);
  176. }
  177. }