seroff

Gifts For New Year [Не доделан!!!]

Dec 10th, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.34 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta_util>
  3. #include <cstrike>
  4. #include <hamsandwich>
  5.  
  6. new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0;
  7. static szPdamag[33],szGjump[33],szInvis[33],PLUGIN[][]={"Gifts For New Year","1.0","Seroff"};
  8.  
  9. new szMenu[][]={
  10. "\yМеню \wподарков \yк \rНовыму году^n^n",
  11. "\y[\r1\y] \wДополнительный прыжок^n",
  12. "\y[\r2\y] \wНевидимость^n",
  13. "\y[\r3\y] \wЗаражение^n",
  14. "\y[\r4\y] \rГраната боевая и заморозку^n",
  15. "\y[\r5\y] \wАнти-дот^n",
  16. "\y[\r6\y] \wДвойной урон^n",
  17. "\y[\r7\y] \wAmmo^n"};
  18.  
  19. public plugin_init(){
  20. register_plugin(PLUGIN[0], PLUGIN[1], PLUGIN[2]);
  21. RegisterHam(Ham_Player_Jump, "player", "fwd_PlayerJump", false);
  22. register_menu("case_menu", keys, "func_m");
  23. register_clcmd("menu_gifts", "menu_gifts");
  24. RegisterHam(Ham_TakeDamage, "player", "TakeDamage", 0);
  25. }
  26.  
  27. public TakeDamage(victim, inflictor, attacker, Float:damage, damage_type){
  28. if (victim == attacker || !is_user_connected(attacker)) return HAM_IGNORED;
  29. if(szPdamag[attacker]){
  30. SetHamParamFloat(4, damage * 2);
  31. }
  32. return HAM_IGNORED
  33. }
  34.  
  35. public menu_gifts(id){
  36. static menu[650], iLen;
  37. iLen = 0;
  38. for(new i;i<sizeof(szMenu);i++){
  39. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%s", szMenu[i]);
  40. }
  41. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\y[\r0\y] \wВыход^n");
  42. show_menu(id, keys, menu, -1, "case_menu");
  43. return PLUGIN_HANDLED
  44. }
  45.  
  46. public func_m(id, key){
  47. switch(key){
  48. case 0:{
  49. if(!szGjump[id]){ szGjump[id]=1; } else szGjump[id]=0;
  50. }
  51. case 1:{
  52. if(!szInvis[id]){
  53. fm_set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,0);
  54. szInvis[id]=1;
  55. }else{
  56. fm_set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,255);
  57. szInvis[id]=0;
  58. }
  59. }
  60. case 2:{
  61. zm_infe(id);
  62. }
  63. case 3:{
  64. fm_give_item(id,"weapon_hegrenade");
  65. fm_give_item(id,"weapon_smokegrenade");
  66. }
  67. case 4:{
  68. zm_adot(id);
  69. }
  70. case 5:{
  71. if(!szPdamag[id]){ szPdamag[id]=1; } else szPdamag[id]=0;
  72. }
  73. case 6:{
  74. get_ammo(id);
  75. }
  76. }
  77. }
  78.  
  79. new Weapon[]={
  80. CSW_P228,
  81. CSW_ELITE,
  82. CSW_FIVESEVEN,
  83. CSW_USP,
  84. CSW_GLOCK18,
  85. CSW_DEAGLE,
  86. CSW_SCOUT,
  87. CSW_XM1014,
  88. CSW_MAC10,
  89. CSW_AUG,
  90. CSW_UMP45,
  91. CSW_SG550,
  92. CSW_GALIL,
  93. CSW_AK47,
  94. CSW_AWP,
  95. CSW_MP5NAVY,
  96. CSW_M249,
  97. CSW_M3,
  98. CSW_M4A1,
  99. CSW_TMP,
  100. CSW_G3SG1,
  101. CSW_SG552,
  102. CSW_P90
  103. }
  104.  
  105.  
  106. new WeaponAmmo[]={
  107. 52,
  108. 120,
  109. 100,
  110. 100,
  111. 120,
  112. 35,
  113. 90,
  114. 32,
  115. 100,
  116. 90,
  117. 100,
  118. 90,
  119. 90,
  120. 90,
  121. 30,
  122. 120,
  123. 200,
  124. 32,
  125. 90,
  126. 120,
  127. 90,
  128. 90,
  129. 100
  130. }
  131.  
  132. public get_ammo(id){
  133. for(new i;i<sizeof(Weapon);i++){
  134. if(user_has_weapon(id,Weapon[i])) cs_set_user_bpammo(id, Weapon[i], WeaponAmmo[i]);
  135. }
  136. }
  137.  
  138. public zm_infe(id){
  139. new i_Menu = menu_create("\rВыберите игрока которого:", "menu_infected");
  140. new s_Players[32], i_Num, i_Player;
  141. new s_Name[32], s_Player[10];
  142. get_players(s_Players, i_Num);
  143. for (new i; i < i_Num; i++){
  144. i_Player = s_Players[i];
  145. get_user_name(i_Player, s_Name, charsmax(s_Name));
  146. num_to_str(i_Player, s_Player, charsmax(s_Player));
  147. menu_additem(i_Menu, s_Name, s_Player, 0);
  148. }
  149. menu_display(id, i_Menu, 0);
  150. }
  151.  
  152. public menu_infected(id, menu, item){
  153. if (item == MENU_EXIT){
  154. menu_destroy(menu);
  155. return PLUGIN_HANDLED;
  156. }
  157. new s_Data[6], s_Name[64], i_Access, i_Callback;
  158. menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback);
  159. new i_Player = str_to_num(s_Data);
  160. if (is_user_alive(i_Player)){
  161. // заражение!
  162. }
  163. menu_destroy(menu)
  164. return PLUGIN_HANDLED
  165. }
  166.  
  167. public zm_adot(id){
  168. new i_Menu = menu_create("\rВыберите игрока кому дать анти-дот:", "menu_antid");
  169. new s_Players[32], i_Num, i_Player;
  170. new s_Name[32], s_Player[10];
  171. get_players(s_Players, i_Num);
  172. for (new i; i < i_Num; i++){
  173. i_Player = s_Players[i];
  174. get_user_name(i_Player, s_Name, charsmax(s_Name));
  175. num_to_str(i_Player, s_Player, charsmax(s_Player));
  176. menu_additem(i_Menu, s_Name, s_Player, 0);
  177. }
  178. menu_display(id, i_Menu, 0);
  179. }
  180.  
  181. public menu_antid(id, menu, item){
  182. if (item == MENU_EXIT){
  183. menu_destroy(menu);
  184. return PLUGIN_HANDLED;
  185. }
  186. new s_Data[6], s_Name[64], i_Access, i_Callback;
  187. menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback);
  188. new i_Player = str_to_num(s_Data);
  189. if (is_user_alive(i_Player)){
  190. // анти-дот!
  191. }
  192. menu_destroy(menu)
  193. return PLUGIN_HANDLED
  194. }
  195.  
  196. public client_putinserver(id){
  197. szInvis[id]=0;
  198. szGjump[id]=0;
  199. szPdamag[id]=0;
  200. }
  201.  
  202. public client_disconnect(id){
  203. szInvis[id]=0;
  204. szGjump[id]=0;
  205. szPdamag[id]=0;
  206. }
  207.  
  208. stock register_menu(const title[],keys,const function[],outside=0) register_menucmd(register_menuid(title,outside),keys,function);
  209.  
  210. public fwd_PlayerJump(id){
  211. if(!szGjump[id]) return;
  212. if(pev(id, pev_oldbuttons) & IN_JUMP) return; // нужно
  213. static iJump[33];
  214. new Float:velocity[3]; pev(id, pev_velocity, velocity);
  215. if(iJump[id] >= 2){
  216. if(pev(id, pev_flags) & FL_ONGROUND){
  217. iJump[id] = 1;
  218. velocity[2] = random_float(295.0, 305.0);
  219. }
  220. }else{
  221. iJump[id]++;
  222. velocity[2] = random_float(295.0, 305.0);
  223. }
  224. set_pev(id, pev_velocity, velocity);
  225. set_pev(id, pev_gaitsequence, 6);
  226. }
Advertisement
Add Comment
Please, Sign In to add comment