Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. /*
  2. AMXX Stun
  3. Version 1.0
  4. BOYSplayCS
  5.  
  6. Information about this plugin can be found at:
  7. http://forums.alliedmods.net/showthread.php?t=101401
  8.  
  9. Thank you to the following people for helping:
  10. anakin_cstrike
  11.  
  12. */
  13.  
  14. #include <amxmodx>
  15. #include <amxmisc>
  16. #include <fun>
  17.  
  18. #define VERSION "1.0"
  19.  
  20. new const SOUND_LIGHTNING[] = "ambience/thunder_clap.wav"
  21. const FADE_IN = 0x0000;
  22.  
  23. new sprLightning, sprSmoke;
  24.  
  25. new playerControl[33];
  26. new playerStunIs[33];
  27. new g_nMsgScreenFade;
  28.  
  29. new bool: freezetime;
  30.  
  31. public plugin_init() {
  32. register_plugin("AMXX Stun", VERSION, "BOYSplayCS")
  33.  
  34. register_event("CurWeapon", "eventWeapon", "be");
  35.  
  36. register_concmd("amx_stun", "cmdStun", ADMIN_KICK, "<name [or] #userid>");
  37. register_concmd("amx_unstun", "cmdUnStun", ADMIN_KICK, "<name [or] #userid>");
  38.  
  39. g_nMsgScreenFade = get_user_msgid("ScreenFade");
  40.  
  41. register_dictionary("amx_stun.txt");
  42.  
  43. }
  44.  
  45. public plugin_precache()
  46. {
  47. precache_sound(SOUND_LIGHTNING);
  48.  
  49. sprLightning = precache_model("sprites/lgtning.spr");
  50. sprSmoke = precache_model("sprites/steam1.spr");
  51. }
  52.  
  53. public cmdStun(id, level, cid)
  54. {
  55. if (!cmd_access(id, level, cid, 1))
  56. return PLUGIN_HANDLED;
  57.  
  58. new pArgs[32];
  59. read_argv(1, pArgs, 31);
  60.  
  61. new pTarget = cmd_target(id, pArgs, 4);
  62.  
  63. if (!pTarget)
  64. return PLUGIN_HANDLED;
  65.  
  66. new targetName[32];
  67. get_user_name(pTarget, targetName, 31);
  68.  
  69. new adminName[32];
  70. get_user_name(id, adminName, 31);
  71.  
  72. if (!is_user_alive(pTarget))
  73. {
  74. client_print(id, print_chat, "[AMXX] %L", id, "UNABLE_STUN", targetName);
  75. client_print(id, print_chat, "[AMXX] %L", id, "DEAD");
  76.  
  77. return PLUGIN_HANDLED;
  78. }
  79.  
  80. client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "STUNNED", pTarget);
  81.  
  82. new vOrigin[3], coord[3];
  83. get_user_origin(pTarget, vOrigin);
  84.  
  85. vOrigin[2] -= 26
  86. coord[0] = vOrigin[0] + 150;
  87. coord[1] = vOrigin[1] + 150;
  88. coord[2] = vOrigin[2] + 800;
  89.  
  90. createThunder(coord, vOrigin);
  91. emit_sound(pTarget, CHAN_ITEM, SOUND_LIGHTNING, 1.0, ATTN_NORM, 0, PITCH_NORM);
  92.  
  93. set_user_rendering(pTarget, kRenderFxFlickerFast, 50, 150, 10, kRenderNormal, 25);
  94. set_user_maxspeed(pTarget, 0.1);
  95. set_user_gravity(pTarget, 3.0);
  96. strip_user_weapons(pTarget);
  97.  
  98. message_begin(MSG_ONE_UNRELIABLE, g_nMsgScreenFade, {0, 0, 0}, pTarget);
  99. write_short(12 << 12);
  100. write_short(12 << 12);
  101. write_short(FADE_IN);
  102. write_byte(50);
  103. write_byte(50);
  104. write_byte(50);
  105. write_byte(127);
  106. message_end();
  107.  
  108. freezetime = false;
  109. playerControl[id] = 1;
  110. playerStunIs[id] = 1;
  111.  
  112. console_print(id, "[Command Echo] %L", id, "HAS_STUNNED", adminName, targetName);
  113.  
  114. return PLUGIN_HANDLED;
  115. }
  116.  
  117. public cmdUnStun(id, level, cid)
  118. {
  119. if (!cmd_access(id, level, cid, 1))
  120. return PLUGIN_HANDLED;
  121.  
  122. new pArgs[32];
  123. read_argv(1, pArgs, 31);
  124.  
  125. new pTarget = cmd_target(id, pArgs, 4);
  126.  
  127. if (!pTarget)
  128. return PLUGIN_HANDLED;
  129.  
  130. new targetName[32];
  131. get_user_name(pTarget, targetName, 31);
  132.  
  133. new adminName[32];
  134. get_user_name(id, adminName, 31);
  135.  
  136. if (!is_user_alive(pTarget))
  137. {
  138. client_print(id, print_chat, "[AMXX] %L", id, "UNABLE_UNSTUN", targetName);
  139. client_print(id, print_chat, "[AMXX] %L", id, "DEAD");
  140.  
  141. return PLUGIN_HANDLED;
  142. }
  143.  
  144. client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "UNSTUNNED", pTarget);
  145.  
  146. set_user_rendering(pTarget, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25);
  147. set_user_maxspeed(pTarget, 0.0);
  148. set_user_gravity(pTarget, 0.0);
  149.  
  150. console_print(id, "[Command Echo] %L", id, "HAS_UNSTUNNED", adminName, targetName);
  151.  
  152. return PLUGIN_HANDLED;
  153. }
  154.  
  155. createThunder(vec1[3], vec2[3])
  156. {
  157. message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
  158. write_byte(0);
  159. write_coord(vec1[0]);
  160. write_coord(vec1[1]);
  161. write_coord(vec1[2]);
  162. write_coord(vec2[0]);
  163. write_coord(vec2[1]);
  164. write_coord(vec2[2]);
  165. write_short(sprLightning);
  166. write_byte(1);
  167. write_byte(5);
  168. write_byte(2);
  169. write_byte(20);
  170. write_byte(30);
  171. write_byte(200);
  172. write_byte(200);
  173. write_byte(200);
  174. write_byte(200);
  175. write_byte(200);
  176. message_end();
  177.  
  178. message_begin(MSG_PVS, SVC_TEMPENTITY,vec2);
  179. write_byte(TE_SPARKS);
  180. write_coord(vec2[0]);
  181. write_coord(vec2[1]);
  182. write_coord(vec2[2]);
  183. message_end();
  184.  
  185. message_begin(MSG_BROADCAST, SVC_TEMPENTITY, vec2);
  186. write_byte(TE_SMOKE);
  187. write_coord(vec2[0]);
  188. write_coord(vec2[1]);
  189. write_coord(vec2[2]);
  190. write_short(sprSmoke);
  191. write_byte(10);
  192. write_byte(10)
  193. message_end();
  194. }
  195.  
  196. public eventWeapon(id)
  197. {
  198. if (!freezetime)
  199. {
  200. if (playerControl[id] == 1 && playerStunIs[id] == 1)
  201. {
  202. set_user_maxspeed(id, 0.1);
  203. set_user_gravity(id, 3.0);
  204.  
  205. }
  206. }
  207. }
  208. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  209. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  210. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement