Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- AMXX Stun
- Version 1.0
- BOYSplayCS
- Information about this plugin can be found at:
- http://forums.alliedmods.net/showthread.php?t=101401
- Thank you to the following people for helping:
- anakin_cstrike
- */
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #define VERSION "1.0"
- new const SOUND_LIGHTNING[] = "ambience/thunder_clap.wav"
- const FADE_IN = 0x0000;
- new sprLightning, sprSmoke;
- new playerControl[33];
- new playerStunIs[33];
- new g_nMsgScreenFade;
- new bool: freezetime;
- public plugin_init() {
- register_plugin("AMXX Stun", VERSION, "BOYSplayCS")
- register_event("CurWeapon", "eventWeapon", "be");
- register_concmd("amx_stun", "cmdStun", ADMIN_KICK, "<name [or] #userid>");
- register_concmd("amx_unstun", "cmdUnStun", ADMIN_KICK, "<name [or] #userid>");
- g_nMsgScreenFade = get_user_msgid("ScreenFade");
- register_dictionary("amx_stun.txt");
- }
- public plugin_precache()
- {
- precache_sound(SOUND_LIGHTNING);
- sprLightning = precache_model("sprites/lgtning.spr");
- sprSmoke = precache_model("sprites/steam1.spr");
- }
- public cmdStun(id, level, cid)
- {
- if (!cmd_access(id, level, cid, 1))
- return PLUGIN_HANDLED;
- new pArgs[32];
- read_argv(1, pArgs, 31);
- new pTarget = cmd_target(id, pArgs, 4);
- if (!pTarget)
- return PLUGIN_HANDLED;
- new targetName[32];
- get_user_name(pTarget, targetName, 31);
- new adminName[32];
- get_user_name(id, adminName, 31);
- if (!is_user_alive(pTarget))
- {
- client_print(id, print_chat, "[AMXX] %L", id, "UNABLE_STUN", targetName);
- client_print(id, print_chat, "[AMXX] %L", id, "DEAD");
- return PLUGIN_HANDLED;
- }
- client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "STUNNED", pTarget);
- new vOrigin[3], coord[3];
- get_user_origin(pTarget, vOrigin);
- vOrigin[2] -= 26
- coord[0] = vOrigin[0] + 150;
- coord[1] = vOrigin[1] + 150;
- coord[2] = vOrigin[2] + 800;
- createThunder(coord, vOrigin);
- emit_sound(pTarget, CHAN_ITEM, SOUND_LIGHTNING, 1.0, ATTN_NORM, 0, PITCH_NORM);
- set_user_rendering(pTarget, kRenderFxFlickerFast, 50, 150, 10, kRenderNormal, 25);
- set_user_maxspeed(pTarget, 0.1);
- set_user_gravity(pTarget, 3.0);
- strip_user_weapons(pTarget);
- message_begin(MSG_ONE_UNRELIABLE, g_nMsgScreenFade, {0, 0, 0}, pTarget);
- write_short(12 << 12);
- write_short(12 << 12);
- write_short(FADE_IN);
- write_byte(50);
- write_byte(50);
- write_byte(50);
- write_byte(127);
- message_end();
- freezetime = false;
- playerControl[id] = 1;
- playerStunIs[id] = 1;
- console_print(id, "[Command Echo] %L", id, "HAS_STUNNED", adminName, targetName);
- return PLUGIN_HANDLED;
- }
- public cmdUnStun(id, level, cid)
- {
- if (!cmd_access(id, level, cid, 1))
- return PLUGIN_HANDLED;
- new pArgs[32];
- read_argv(1, pArgs, 31);
- new pTarget = cmd_target(id, pArgs, 4);
- if (!pTarget)
- return PLUGIN_HANDLED;
- new targetName[32];
- get_user_name(pTarget, targetName, 31);
- new adminName[32];
- get_user_name(id, adminName, 31);
- if (!is_user_alive(pTarget))
- {
- client_print(id, print_chat, "[AMXX] %L", id, "UNABLE_UNSTUN", targetName);
- client_print(id, print_chat, "[AMXX] %L", id, "DEAD");
- return PLUGIN_HANDLED;
- }
- client_print(0, print_chat, "[AMXX] %L", LANG_PLAYER, "UNSTUNNED", pTarget);
- set_user_rendering(pTarget, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25);
- set_user_maxspeed(pTarget, 0.0);
- set_user_gravity(pTarget, 0.0);
- console_print(id, "[Command Echo] %L", id, "HAS_UNSTUNNED", adminName, targetName);
- return PLUGIN_HANDLED;
- }
- createThunder(vec1[3], vec2[3])
- {
- message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
- write_byte(0);
- write_coord(vec1[0]);
- write_coord(vec1[1]);
- write_coord(vec1[2]);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- write_short(sprLightning);
- write_byte(1);
- write_byte(5);
- write_byte(2);
- write_byte(20);
- write_byte(30);
- write_byte(200);
- write_byte(200);
- write_byte(200);
- write_byte(200);
- write_byte(200);
- message_end();
- message_begin(MSG_PVS, SVC_TEMPENTITY,vec2);
- write_byte(TE_SPARKS);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- message_end();
- message_begin(MSG_BROADCAST, SVC_TEMPENTITY, vec2);
- write_byte(TE_SMOKE);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- write_short(sprSmoke);
- write_byte(10);
- write_byte(10)
- message_end();
- }
- public eventWeapon(id)
- {
- if (!freezetime)
- {
- if (playerControl[id] == 1 && playerStunIs[id] == 1)
- {
- set_user_maxspeed(id, 0.1);
- set_user_gravity(id, 3.0);
- }
- }
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement