Заявка за оправяне на amx_disarm (Super Menu) да може да се disarm-ват и други играчи

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
illusion
Извън линия
Developer
Developer
Мнения: 1810
Регистриран на: 27 Ное 2016, 17:47
Местоположение: CraftVision
Се отблагодари: 151 пъти
Получена благодарност: 370 пъти
Обратна връзка:

Заявка за оправяне на amx_disarm (Super Menu) да може да се disarm-ват и други играчи

Мнение от illusion » 13 Сеп 2018, 18:14

Здравейте,
Ако може да оправите amx_disarm командата да може и да disarm-ва други играчи, защото в момента единствено себе си мога.

Код:

Код за потвърждение: Избери целия код

/* * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 
 * AMX Super - Fun Commands
 * Developed/Maintained by SuperCentral.co Scripting Team
 * Last Update: Jan 17 2014
 * 
 * Minimum Requirements
 * AMX Mod X 1.8.0
 * AMX Super 5.0
 * 
 * Credits
 * If I forgot you, let me know what you did and I will add you
 * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 
 * AMX Mod X script.
 *
 *   AMX Super - Fun Commands (amx_super-fun.sma)
 *   Copyright (C) 2013-2014 SuperCentral.co
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation; either version 2
 *   of the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 *   In addition, as a special exception, the author gives permission to
 *   link the code of this program with the Half-Life Game Engine ("HL
 *   Engine") and Modified Game Libraries ("MODs") developed by Valve,
 *   L.L.C ("Valve"). You must obey the GNU General Public License in all
 *   respects for all of the code used other than the HL Engine and MODs
 *   from Valve. If you modify this file, you may extend this exception
 *   to your version of the file, but you are not obligated to do so. If
 *   you do not wish to do so, delete this exception statement from your
 *   version.
 * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Fun commands

/*
 *	Nr 		COMMAND				CALLBACK FUNCTION			ADMIN LEVEL
 *	
 *	1)		amx_heal			Cmd_Heal					ADMIN_LEVEL_A		
 *	2)		amx_armor			Cmd_Armor					ADMIN_LEVEL_A
 *	3)		amx_teleport		Cmd_Teleport				ADMIN_LEVEL_A
 *	4)		amx_userorigin		Cmd_UserOrigin				ADMIN_LEVEL_A
 *	5)		amx_stack			Cmd_Stack					ADMIN_LEVEL_A
 *	6)		amx_gravity			Cmd_Gravity					ADMIN_LEVEL_A
 *	7)		amx_unammo			Cmd_UnAmmo					ADMIN_LEVEL_A
 *	8)		amx_weapon(menu)	Cmd_Weapon(Menu)			ADMIN_LEVEL_C
 *	9)		amx_drug			Cmd_Drug					ADMIN_LEVEL_C
 *	10)		amx_godmode			Cmd_Godmode					ADMIN_LEVEL_C
 *	11)		amx_setmoney		Cmd_SetMoney				ADMIN_LEVEL_C
 *	12)		amx_noclip			Cmd_Noclip					ADMIN_LEVEL_C
 *	13)		amx_speed			Cmd_Speed					ADMIN_LEVEL_C
 *	14)		amx_revive			Cmd_Revive					ADMIN_LEVEL_C
 *	15)		amx_bury			Cmd_Bury					ADMIN_LEVEL_B 	
 *	16)		amx_unbury			Cmd_Unbury					ADMIN_LEVEL_B
 *	17)		amx_disarm			Cmd_Disarm					ADMIN_LEVEL_B
 *	18)		amx_slay2			Cmd_Slay2					ADMIN_LEVEL_B
 *	19)		amx_rocket			Cmd_Rocket					ADMIN_LEVEL_B
 *	20)		amx_fire			Cmd_Fire					ADMIN_LEVEL_B
 *	21)		amx_flash			Cmd_Flash					ADMIN_LEVEL_B
 *	22)		amx_uberslap		Cmd_UberSlap				ADMIN_LEVEL_B
 *	23)		amx_glow(2)			Cmd_Glow					ADMIN_LEVEL_D
 *	24)		amx_glowcolors		Cmd_GlowColors				ADMIN_LEVEL_D
*/ 


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define SetPlayerBit(%1,%2)      (%1 |= (1<<(%2&31)))
#define ClearPlayerBit(%1,%2)    (%1 &= ~(1 <<(%2&31)))
#define CheckPlayerBit(%1,%2)    (%1 & (1<<(%2&31))) 

// amx_disarm
#define OFFSET_PRIMARYWEAPON        116 

// amx_glow & amx_glow2
#define MAX_COLORS 	30


// 	Used for the show_activity() / log_amx messages.
enum CmdTeam
{
	ALL,
	T,
	CT
};

new const g_szTeamNames[CmdTeam][] = 
{ 
	"all",
	"Terrorist", 
	"Counter-Terrorist" 
};


// cvar pointers
new g_pGravity;
// new g_pMaxSpeed;
new g_pAllowCatchFire;
new g_pFlashSound;

// perm checks
enum (<<=1) 
{
	PERMGOD = 1,
	PERMSPEED,
	PERMDRUGS,
	PERMNOCLIP,
	HASSPEED,
	HASGLOW
};
new g_iFlags[33];


// amx_weaponmenu
new g_iTeamMenu, g_iPlayerMenu;

// amx_speed
new bool: g_bIsFreezeTime;

// amx_fire
new g_iOnFireBit;

// amx_userorigin
new g_iUserOrigin[33][3];

// amx_unammo
new g_iUnammoBit, Float: g_iReloadTime[33];

// amx_glow, amx_glow2, amx_glowcolors
new const g_iColorValues[MAX_COLORS][3] = 
{
	{255, 0, 0},
	{255, 190, 190},
	{165, 0, 0},
	{255, 100, 100},
	{0, 0, 255},
	{0, 0, 136},
	{95, 200, 255},
	{0, 150, 255},
	{0, 255, 0},
	{180, 255, 175},
	{0, 155, 0},
	{150, 63, 0},
	{205, 123, 64},
	{255, 255, 255},
	{255, 255, 0},
	{189, 182, 0},
	{255, 255, 109},
	{255, 150, 0},
	{255, 190, 90},
	{222, 110, 0},
	{243, 138, 255},
	{255, 0, 255},
	{150, 0, 150},
	{100, 0, 100},
	{200, 0, 0},
	{220, 220, 0},
	{192, 192, 192},
	{190, 100, 10},
	{114, 114, 114},
	{0, 0, 0}
};

new const g_szColorNames[MAX_COLORS][] = 
{
	"red",
	"pink",
	"darkred",
	"lightred",
	"blue",
	"darkblue",
	"lightblue",
	"aqua",
	"green",
	"lightgreen",
	"darkgreen",
	"brown",
	"lightbrown",
	"white",
	"yellow",
	"darkyellow",
	"lightyellow",
	"orange",
	"lightorange",
	"darkorange",
	"lightpurple",
	"purple",
	"darkpurple",
	"violet",
	"maroon",
	"gold",
	"silver",
	"bronze",
	"grey",
	"off"
};
new g_iGlowColors[33][4];

// sprites for effects
new g_iSmokeSpr, g_iWhiteSpr, g_iLightSpr, g_iBlueflare2Spr, g_iMflashSpr;

// message ids
new g_iMsgDamage, g_iMsgScreenFade, g_iMsgSetFOV;


public plugin_init()
{
	register_plugin("Amx Super Fun", "5.0.2", "SuperCentral.co");
	register_dictionary("amx_super.txt");
	
	register_concmd("amx_heal", 		"Cmd_Heal", 		ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <HP to give>");
	register_concmd("amx_armor", 		"Cmd_Armor", 		ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <armor to give>");
	register_concmd("amx_teleport", 	"Cmd_Teleport", 	ADMIN_LEVEL_A, "<nick, #userid or authid> [x] [y] [z]");
	register_concmd("amx_userorigin", 	"Cmd_UserOrigin", 	ADMIN_LEVEL_A, "<nick, #userid or authid>");
	register_concmd("amx_stack", 		"Cmd_Stack", 		ADMIN_LEVEL_A, "<nick, #userid or authid> [0|1|2]");
	register_concmd("amx_gravity", 		"Cmd_Gravity", 		ADMIN_LEVEL_A, "<gravity #>");
	register_concmd("amx_unammo", 		"Cmd_UnAmmo", 		ADMIN_LEVEL_A, "<nick, #userid or @team> [0|1] - 0=OFF 1=ON");
	register_concmd("amx_weaponmenu", 	"Cmd_WeaponMenu", 	ADMIN_LEVEL_C, "shows the weapon menu");
	register_concmd("amx_weapon", 		"Cmd_Weapon", 		ADMIN_LEVEL_C, "<nick, #userid or @team> <weapon #>");
	register_concmd("amx_drug", 		"Cmd_Drug", 		ADMIN_LEVEL_C, "<@all, @team, nick, #userid, authid> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
	register_concmd("amx_godmode", 		"Cmd_Godmode", 		ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
	register_concmd("amx_setmoney",		"Cmd_SetMoney",		ADMIN_LEVEL_C, "<nick, #userid, authid or @team> <amount> - sets specified player's money");
	register_concmd("amx_money", 		"Cmd_SetMoney", 	ADMIN_LEVEL_C, "<nick, #userid, authid or @team> <amount> - sets specified player's money");
	register_concmd("amx_noclip", 		"Cmd_Noclip", 		ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
	register_concmd("amx_speed", 		"Cmd_Speed", 		ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
	register_concmd("amx_revive", 		"Cmd_Revive", 		ADMIN_LEVEL_C, "<nick, #userid, authid or @team>");
	register_concmd("amx_bury", 		"Cmd_Bury", 		ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
	register_concmd("amx_unbury", 		"Cmd_Unbury",		ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
	register_concmd("amx_disarm",		"Cmd_Disarm", 		ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
	register_concmd("amx_slay2", 		"Cmd_Slay2",		ADMIN_LEVEL_B, "<nick, #userid, authid or @team> [1-Lightning|2-Blood|3-Explode]");
	register_concmd("amx_rocket", 		"Cmd_Rocket", 		ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
	register_concmd("amx_fire", 		"Cmd_Fire", 		ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
	register_concmd("amx_flash", 		"Cmd_Flash", 		ADMIN_LEVEL_B, "<nick, #userid, authid or @team");
	register_concmd("amx_uberslap", 	"Cmd_UberSlap", 	ADMIN_LEVEL_B, "<nick, #userid or authid");
	register_concmd("amx_glow", 		"Cmd_Glow", 		ADMIN_LEVEL_D, "<nick, #userid, authid, or @team/@all> <color> (or) <rrr> <ggg> <bbb> <aaa> -- lasts 1 round");
	register_concmd("amx_glow2", 		"Cmd_Glow", 		ADMIN_LEVEL_D, "<nick, #userid, authid, or @team/@all> <color> (or) <rrr> <ggg> <bbb> <aaa> -- lasts forever");
	register_concmd("amx_glowcolors", 	"Cmd_GlowColors", 	ADMIN_LEVEL_D, "shows a list of colors for amx_glow and amx_glow2");
	
	// Register new cvars and get existing cvar pointers:
	g_pGravity 			= get_cvar_pointer("sv_gravity");
	// g_pMaxSpeed 		= get_cvar_pointer("sv_maxspeed");
	
	g_pAllowCatchFire 	= register_cvar("allow_catchfire", "1");
	g_pFlashSound 		= register_cvar("amx_flashsound","1");
	
	// amx_unammo
	register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
		
	// amx_weaponmenu
	g_iTeamMenu = menu_create("\rTeam?", "TeamHandler");
	menu_additem(g_iTeamMenu, "All", "1");
	menu_additem(g_iTeamMenu, "Counter-Terrorist", "2");
	menu_additem(g_iTeamMenu, "Terrorist", "3");
	menu_additem(g_iTeamMenu, "Player", "4");
	g_iPlayerMenu = menu_create("\rPlayers:", "PlayerHandler");
	
	// amx_drug
	g_iMsgSetFOV = get_user_msgid("SetFOV");
	
	// amx_speed
	RegisterHam(Ham_Item_PreFrame, "player", "FwdPlayerSpeedPost", 1);
	register_logevent("LogEventRoundStart", 2, "1=Round_Start");
	register_event("HLTV", "EventFreezeTime", "a");
	/*
		DREKES:
		set_pcvar_num() doesn't seem to take effect here.
		server_cmd() does.
	*/
	// set_pcvar_num(g_pMaxSpeed, 9999999);
	server_cmd("sv_maxspeed 999999");
	
	// message ids
	g_iMsgDamage = get_user_msgid("Damage");
	g_iMsgScreenFade = get_user_msgid("ScreenFade");
	
	// Used by several commands
	RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawnPost", 1);
}

/* Precache
 *---------
*/
public plugin_precache()
{
	// amx_slay2 & amx_rocket sprites
	g_iSmokeSpr 		= precache_model("sprites/steam1.spr");
	g_iWhiteSpr		= precache_model("sprites/white.spr");
	g_iLightSpr 		= precache_model("sprites/lgtning.spr");
	g_iBlueflare2Spr 	= precache_model( "sprites/blueflare2.spr");
	g_iMflashSpr 		= precache_model("sprites/muzzleflash.spr");
	
	// amx_rocket sounds
	precache_sound("ambience/thunder_clap.wav");
	precache_sound("weapons/headshot2.wav");
	precache_sound("weapons/rocketfire1.wav");
	precache_sound("weapons/rocket1.wav");
	
	// amx_fire sounds
	precache_sound("ambience/flameburst1.wav");
	precache_sound("scientist/scream21.wav");
	precache_sound("scientist/scream07.wav");
}


public plugin_cfg()
{
	new szInfo[2];
	get_localinfo("amx_super_executed", szInfo, charsmax(szInfo));
	
	if(szInfo[0] != '1')
	{
		set_localinfo("amx_super_executed", "1");
		
		server_cmd("exec addons/amxmodx/configs/amx_super.cfg");
		server_exec();

		set_task(5.0, "TaskRemoveExecInfo");
	}
}


public TaskRemoveExecInfo()
	set_localinfo("amx_super_executed", "0");

/* Player Spawn
 *-------------
*/
public FwdPlayerSpawnPost(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;
		
	if(g_iFlags[id] & PERMDRUGS)
		set_user_drugs(id, 1);
		
	if(g_iFlags[id] & PERMGOD)
		set_user_godmode(id, 1);
	
	if(g_iFlags[id] & PERMNOCLIP)
		set_user_noclip(id, 1);
		
	if(g_iFlags[id] & PERMSPEED)
		SetSpeed(id, 2);
	
	else if(g_iFlags[id] & HASSPEED)
	{
		g_iFlags[id] &= ~HASSPEED;
		SetSpeed(id, 0);
	}
	
	if(g_iFlags[id] & HASGLOW)
		set_user_rendering(id, kRenderFxGlowShell, g_iGlowColors[id][0], g_iGlowColors[id][1], g_iGlowColors[id][2], kRenderTransAlpha, g_iGlowColors[id][3]);	
	else
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0);
		
	return HAM_IGNORED;
}


/* Player Disconnects
 *-------------------
*/
public client_disconnect(id)
{
	if(CheckPlayerBit(g_iOnFireBit, id))
		ClearPlayerBit(g_iOnFireBit, id);
		
	g_iFlags[id] = 0;
}


/*	1)	amx_heal
 *--------------
*/
public Cmd_Heal(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 3))
		return PLUGIN_HANDLED;
	
	new szArg[35], szHealth[10];
	read_argv(1, szArg, charsmax(szArg));
	read_argv(2, szHealth, charsmax(szHealth));
	
	new iHealth = str_to_num(szHealth);
	
	new szAdminName[35], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid, szTargetName[35];
	
	if(iHealth <= 0)	
	{
		console_print(id, "%L", id, "AMX_SUPER_AMOUNT_GREATER");
		
		return PLUGIN_HANDLED;
	}
	
	if(szArg[0] == '@')
	{
		new iPlayers[32], iPlayersNum, CmdTeam: Team;
		
		switch(szArg[1])
		{
			case 'T', 't':
			{	
				get_players(iPlayers, iPlayersNum, "ae", "TERRORIST");
				
				Team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayersNum, "ae", "CT");
				
				Team = CT;
			}
			
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayersNum, "a");
				
				Team = ALL;
			}
		}
		
		if(!iPlayersNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}

		for(new i = 0; i < iPlayersNum; i++)
			set_user_health(iPlayers[i], iHealth);
		
		show_activity_key("AMX_SUPER_HEAL_TEAM_CASE1", "AMX_SUPER_HEAL_TEAM_CASE2", szAdminName, iHealth, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_TEAM_LOG", szAdminName, szAdminAuthid, iHealth, g_szTeamNames[Team]);
	}
	
	else
	{	
		iTempid = cmd_target(id, szArg, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			set_user_health(iTempid, iHealth);
			
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			show_activity_key("AMX_SUPER_HEAL_PLAYER_CASE1", "AMX_SUPER_HEAL_PLAYER_CASE2", szAdminName, iHealth, szTargetName);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_PLAYER_LOG", szAdminName, szAdminAuthid, iHealth, szTargetName, szTargetAuthid);
		}
	}

	return PLUGIN_HANDLED;
}


/* 2)	amx_armor
 *---------------
*/
public Cmd_Armor(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 3))
		return PLUGIN_HANDLED;
	
	new szArg[35], szArmor[10];
	read_argv(1, szArg, charsmax(szArg));
	read_argv(2, szArmor, charsmax(szArmor));
	
	new iArmor = str_to_num(szArmor);
	
	new szAdminName[35], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid, szTargetName[35];
	
	if(iArmor <= 0)	
	{
		console_print(id, "%L", id, "AMX_SUPER_AMOUNT_GREATER");
		
		return PLUGIN_HANDLED;
	}
	
	if(szArg[0] == '@')
	{
		new iPlayers[32], iPlayersNum, CmdTeam: Team;
		
		switch(szArg[1])
		{
			case 'T', 't':
			{	
				get_players(iPlayers, iPlayersNum, "ae", "TERRORIST");
				
				Team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayersNum, "ae", "CT");
				
				Team = CT;
			}
			
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayersNum, "a");
				
				Team = ALL;
			}
		}
		
		if(!iPlayersNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}

		for(new i = 0; i < iPlayersNum; i++)
			cs_set_user_armor(iPlayers[i], iArmor, CS_ARMOR_VESTHELM);
		
		show_activity_key("AMX_SUPER_ARMOR_TEAM_CASE1", "AMX_SUPER_ARMOR_TEAM_CASE2", szAdminName, iArmor, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_TEAM_LOG", szAdminName, szAdminAuthid, iArmor, g_szTeamNames[Team]);
	}
	
	else
	{	
		iTempid = cmd_target(id, szArg, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			cs_set_user_armor(iTempid, iArmor, CS_ARMOR_VESTHELM);
			
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			show_activity_key("AMX_SUPER_ARMOR_PLAYER_CASE1", "AMX_SUPER_ARMOR_PLAYER_CASE2", szAdminName, iArmor, szTargetName);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_PLAYER_LOG", szAdminName, szAdminAuthid, iArmor, szTargetName, szTargetAuthid);
		}
	}

	return PLUGIN_HANDLED;
}


/* 3)	amx_teleport
 *------------------
*/
public Cmd_Teleport(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 5))
		return PLUGIN_HANDLED;
	
	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
	
	if(iTempid)
	{
		new szOrigin1[5], szOrigin2[5], szOrigin3[5];
		read_argv(2, szOrigin1, charsmax(szOrigin1));
		read_argv(3, szOrigin2, charsmax(szOrigin2));
		read_argv(4, szOrigin3, charsmax(szOrigin3));
		
		new Float: flOrigin[3];
		flOrigin[0] = str_to_float(szOrigin1);
		flOrigin[1] = str_to_float(szOrigin2);
		flOrigin[2] = str_to_float(szOrigin3);
		
		engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
		
		new szAdminName[35], szAdminAuthid[35];
		get_user_name(id, szAdminName, charsmax(szAdminName));
		get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
		
		new szTargetName[35], szTargetAuthid[35];
		get_user_name(iTempid, szTargetName, charsmax(szTargetName));
		get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
		
		show_activity_key("AMX_SUPER_TELEPORT_PLAYER_CASE1", "AMX_SUPER_TELEPORT_PLAYER_CASE2", szAdminName, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_TELEPORT_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, floatround(flOrigin[0]), floatround(flOrigin[1]), floatround(flOrigin[2]));
	}
	
	return PLUGIN_HANDLED;
}

/* 4)	amx_userorigin
 *--------------------
*/
public Cmd_UserOrigin(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2)) 
		return PLUGIN_HANDLED;

	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));

	new iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
	
	if(iTempid)
	{
		new szTargetName[35];
		get_user_origin(iTempid, g_iUserOrigin[id]);
		get_user_name(iTempid, szTargetName, charsmax(szTargetName));

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_ORIGIN_SAVED", g_iUserOrigin[id][0], g_iUserOrigin[id][1], g_iUserOrigin[id][2], szTargetName);
	}
	
	return PLUGIN_HANDLED;
}

/* 5)	amx_stack
 *---------------
*/
public Cmd_Stack(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;

	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));

	new iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
	
	if(iTempid)
	{	
		new szType[5];
		read_argv(2, szType, charsmax(szType));
		
		new Float: flOrigin[3];
		pev(iTempid, pev_origin, flOrigin);

		new iYAxis = 36, iZAxis = 96;
		switch(str_to_num(szType))
		{
			case 0: iYAxis = 0;
			case 1: iZAxis = 0;
		}
	
		new iPlayers[32], iPlayerNum, iPlayer;
		get_players(iPlayers, iPlayerNum, "a");
		
		for(new i = 0; i < iPlayerNum ; i++)
		{
			iPlayer = iPlayers[i];
			
			if((iPlayer == id) || (get_user_flags(iPlayer) & ADMIN_IMMUNITY) && iPlayer != id) 
				continue;
				
			flOrigin[1] += iYAxis;
			flOrigin[2] += iZAxis;
			set_pev(iPlayer, pev_origin, flOrigin);
		}

		new szAdminName[35], szAdminAuthid[35];
		get_user_name(id, szAdminName, charsmax(szAdminName));
		get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
		
		new szTargetName[35], szTargetAuthid[35];
		get_user_name(iTempid, szTargetName, charsmax(szTargetName));
		get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));

		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_STACK_PLAYER_MSG", szTargetName);
		
		show_activity_key("AMX_SUPER_STACK_PLAYER_CASE1", "AMX_SUPER_STACK_PLAYER_CASE2", szAdminName, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_STACK_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
	}

	return PLUGIN_HANDLED;
}

/*	6)	amx_gravity
 *-----------------
*/
public Cmd_Gravity(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))	
		return PLUGIN_HANDLED;
	
	if(read_argc() < 2)
	{
		console_print(id, "%L", id, "AMX_SUPER_GRAVITY_STATUS", get_pcvar_num(g_pGravity));
		
		return PLUGIN_HANDLED;
	}
	
	new szArg[5];
	read_argv(1, szArg, charsmax(szArg));
	set_pcvar_num(g_pGravity, str_to_num(szArg));
	
	new szAdminName[35], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	console_print(id, "%L", id, "AMX_SUPER_GRAVITY_MSG", szArg);
	
	show_activity_key("AMX_SUPER_GRAVITY_SET_CASE1", "AMX_SUPER_GRAVITY_SET_CASE2", szAdminName, szArg);
	log_amx("%L", LANG_SERVER, "AMX_SUPER_GRAVITY_LOG", szAdminName, szAdminAuthid, szArg);
	
	return PLUGIN_HANDLED;
}

/* 7)	amx_unammo
 *----------------
*/
public Cmd_UnAmmo(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szArg1[35], szArg2[5];
	read_argv(1, szArg1, charsmax(szArg1));
	read_argv(2, szArg2, charsmax(szArg2));
	
	new iSetting = str_to_num(szArg2);
	
	new szAdminName[35], szAdminAuthid[35];
	new szTargetName[35];
	
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid;
	if(szArg1[0] == '@')
	{
		new CmdTeam: Team, iPlayers[32], iPlayerNum;
		
		switch(szArg1[1])
		{
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				Team = T;
			}
			
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				Team = ALL;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				Team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				console_print(id, "%L", "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			if(iSetting)
				SetPlayerBit(g_iUnammoBit, iTempid);
			
			else
				ClearPlayerBit(g_iUnammoBit, iTempid);
		}
		
		console_print(id, "%L", id, "AMX_SUPER_AMMO_TEAM_MSG", g_szTeamNames[Team], iSetting);
		
		show_activity_key("AMX_SUPER_AMMO_CASE1", "AMX_SUPER_AMMO_CASE2", szAdminName, g_szTeamNames[Team], iSetting);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team], iSetting);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{	
			if(iSetting)
				SetPlayerBit(g_iUnammoBit, iTempid);
			
			else
				ClearPlayerBit(g_iUnammoBit, iTempid);
				
			new szTargetAuthid[35];
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			
			console_print(id, "%L", id, "AMX_SUPER_AMMO_PLAYER_MSG", szTargetName, iSetting);
			
			show_activity_key("AMX_SUPER_AMMO_PLAYER_CASE1", "AMX_SUPER_AMMO_PLAYER_CASE2", szAdminName, szTargetName, iSetting);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, iSetting);
		}
	}
	
	return PLUGIN_HANDLED;
}

public Event_CurWeapon(id)
{
	if(CheckPlayerBit(g_iUnammoBit, id))
	{
		new iWeaponid = read_data(2);
		new iClip = read_data(3);
	
		if(iWeaponid == CSW_C4 
		|| iWeaponid == CSW_KNIFE
		|| iWeaponid == CSW_HEGRENADE
		|| iWeaponid == CSW_SMOKEGRENADE
		|| iWeaponid == CSW_FLASHBANG) {
			return PLUGIN_CONTINUE;
		}
		
		if(!iClip)
		{
			new iSystime = get_systime();
			
			if(g_iReloadTime[id] >= iSystime - 1)
				return PLUGIN_CONTINUE;
			
			new szWeaponName[20];
			get_weaponname(iWeaponid, szWeaponName, charsmax(szWeaponName));
			
			new EntId = -1;
			while((EntId = engfunc(EngFunc_FindEntityByString, EntId, "classname", szWeaponName)) != 0)
			{	
				if(pev_valid(EntId) && pev(EntId, pev_owner) == id)
				{
					cs_set_weapon_ammo(EntId, getMaxClipAmmo(iWeaponid));
					
					break;
				}
			}
		}
	}
	
	return PLUGIN_CONTINUE;
}

getMaxClipAmmo(iWeaponid)
{
	new iClip = -1;
	
	switch(iWeaponid)
	{
		case CSW_P228: iClip = 13;
		case CSW_SCOUT, CSW_AWP: iClip = 10;
		case CSW_HEGRENADE, CSW_C4, CSW_SMOKEGRENADE, CSW_FLASHBANG, CSW_KNIFE: iClip = 0;
		case CSW_XM1014, CSW_DEAGLE: iClip = 7;
		case CSW_MAC10, CSW_AUG, CSW_SG550, CSW_MP5NAVY, CSW_M4A1, CSW_SG552, CSW_AK47: iClip = 30;
		case CSW_ELITE: iClip = 15;
		case CSW_FIVESEVEN, CSW_GLOCK18, CSW_G3SG1: iClip = 20;
		case CSW_UMP45, CSW_FAMAS: iClip = 25;
		case CSW_GALI: iClip = 35;
		case CSW_USP: iClip = 12;
		case CSW_M249: iClip = 100;
		case CSW_M3: iClip = 8;
		case CSW_P90: iClip = 50;
	}
	
	return iClip;
}		

/* 8a)	amx_weapon
 *----------------
*/
enum
{
	WEAPON_USP,
	WEAPON_GLOCK18,
	WEAPON_DEAGLE,
	WEAPON_P228,
	WEAPON_ELITE,
	WEAPON_FIVESEVEN,
	WEAPON_M3,
	WEAPON_XM1014,
	WEAPON_TMP,
	WEAPON_MAC10,
	WEAPON_MP5NAVY,
	WEAPON_P90,
	WEAPON_UMP45,
	WEAPON_FAMAS,
	WEAPON_GALIL,
	WEAPON_AK47,
	WEAPON_M4A1,
	WEAPON_SG552,
	WEAPON_AUG,
	WEAPON_SCOUT,
	WEAPON_SG550,
	WEAPON_AWP,
	WEAPON_G3SG1,
	WEAPON_M249,
	WEAPON_HEGRENADE,
	WEAPON_SMOKEGRENADE,
	WEAPON_FLASHBANG,
	WEAPON_SHIELD,
	WEAPON_C4,
	WEAPON_KNIFE,
	ITEM_KEVLAR,
	ITEM_ASSAULTSUIT,
	ITEM_THIGHPACK
};

new bpammo[] =  // 0 denotes a blank weapon id
{
	0,
	52,
	0,
	90,
	1,
	32,
	1,
	100,
	90,
	1,
	120,
	100,
	100,
	90,
	90,
	90,
	100,
	120,
	30,
	120,
	200,
	32,
	90,
	120,
	90,
	2,
	35,
	90,
	90,
	0,
	100
};
	
	

new g_szWeapons[33][] =
{
	"weapon_usp",
	"weapon_glock18",
	"weapon_deagle",
	"weapon_p228",
	"weapon_elite",
	"weapon_fiveseven",
	"weapon_m3",
	"weapon_xm1014",
	"weapon_tmp",
	"weapon_mac10",
	"weapon_mp5navy",
	"weapon_p90",
	"weapon_ump45",
	"weapon_famas",
	"weapon_galil",
	"weapon_ak47",
	"weapon_m4a1",
	"weapon_sg552",
	"weapon_aug",
	"weapon_scout",
	"weapon_sg550",
	"weapon_awp",
	"weapon_g3sg1",
	"weapon_m249",
	"weapon_hegrenade",
	"weapon_smokegrenade",
	"weapon_flashbang",
	"weapon_shield",
	"weapon_c4",
	"weapon_knife",
	"item_kevlar",
	"item_assaultsuit",
	"item_thighpack"
};

new g_szWeaponNames[][] = 
{
	"All Weapons",
	"Knife",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"Glock",
	"USP",
	"P228",
	"Deagle",
	"Fiveseven",
	"Dual Elites",
	"",
	"",
	"",
	"",
	"M3",
	"XM1014",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"TMP",
	"MAC10",
	"MP5 Navy",
	"P90",
	"UMP45",
	"",
	"",
	"",
	"",
	"Famas",
	"Galil",
	"AK47",
	"M4A1",
	"SG552",
	"AUG",
	"Scout",
	"SG550",
	"Awp",
	"G3SG1",
	"",
	"M249",
	"Kevlar and Helmit", //82
	"HE Grenade",
	"Flashbang",
	"Smoke Grenade",
	"Defuse Kit",
	"Shield",
	"",
	"",
	"",
	"C4",
	"Night Vision"
};

public Cmd_Weapon(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 3))
		return PLUGIN_HANDLED;
	
	new szAdminName[32];
	get_user_name(id, szAdminName, 31);
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	new szArg1[32];
	read_argv(1, szArg1, 31);
	
	new szArg2[24];
	read_argv(2, szArg2, 23);
	
	new iWeapon = str_to_num(szArg2);
	
	if(szArg1[0] == '@')
	{	
		new iPlayers[32], iPlayerNum, CmdTeam: Team;
		
		
		switch(szArg1[1])
		{
			case 't', 'T':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i; i < iPlayerNum; i++)
			give_weapon(iPlayers[i], iWeapon);
					
		show_activity_key("AMX_SUPER_WEAPON_TEAM_CASE1", "AMX_SUPER_WEAPON_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_WEAPON_TEAM_MSG", iWeapon, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_TEAM_LOG", szAdminName, szAdminAuthid, iWeapon, g_szTeamNames[Team]);
	}
	
	else
	{
		new iPlayer = cmd_target(id, szArg1, 7);
		if(!iPlayer)
			return PLUGIN_HANDLED;
			
		give_weapon(iPlayer, iWeapon);
		
		new szTargetName[32];
		get_user_name(iPlayer, szTargetName, 31);
		
		new szTargetAuthid[36];
		get_user_authid(iPlayer, szTargetAuthid, 35);
		
		show_activity_key("AMX_SUPER_WEAPON_PLAYER_CASE1", "AMXX_SUPER_WEAPON_PLAYER_CASE2", szAdminName, szTargetName);

		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_PLAYER_MSG", iWeapon, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_PLAYER_LOG", szAdminName, szAdminAuthid, iWeapon, szTargetName, szTargetAuthid);
	}
	
	return PLUGIN_HANDLED;
}

/* 8b)	amx_weaponmenu
 *--------------------
*/
enum 
{ 
	All,
	Ct,
	Terro,
	Player
};

new gTeamChoice[33]
	, gPlayerName[33][34]
	, gPlayerId[33]
;

public Cmd_WeaponMenu(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))
		return PLUGIN_HANDLED;

	menu_display(id, g_iTeamMenu);
	return PLUGIN_HANDLED;
}

public CmdCallbackMenu(id)
	menu_display(id, g_iTeamMenu);

public TeamHandler(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
		return PLUGIN_HANDLED;

	switch(iItem)
	{
		case 0:
			gTeamChoice[id] = All;
		
		case 1:
			gTeamChoice[id] = Ct;
		
		case 2:
			gTeamChoice[id]  = Terro;
		
		case 3:
			gTeamChoice[id] = Player;
	}
	
	if(gTeamChoice[id] != Player)
		WeaponMenu(id);
		
	else
		PlayerMenu(id);
	
	return PLUGIN_HANDLED;
}

public PlayerMenu(id)
{
	new szName[34], szId[6];
	new iPlayers[32], iPlayerNum, iTempid;
	get_players(iPlayers, iPlayerNum, "a");
	for(new i; i < iPlayerNum; i++)
	{
		iTempid = iPlayers[i];
		
		get_user_name(iTempid, szName, 33);
		num_to_str(iTempid, szId, 5);
			
		menu_additem(g_iPlayerMenu, szName, szId);
	}
	
	menu_display(id, g_iPlayerMenu);
}

public PlayerHandler(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		CmdCallbackMenu(id);
		return PLUGIN_HANDLED;
	}
	
	new szInfo[6];
	new iAccess, iCallback;
	menu_item_getinfo(iMenu, iItem, iAccess, szInfo, 5, gPlayerName[id], 33, iCallback);
	
	gPlayerId[id] = str_to_num(szInfo);
	
	WeaponMenu(id);
	return PLUGIN_HANDLED;
}
	
public WeaponMenu(id)
{
	new szTitle[64], iMenu;
	
	switch(gTeamChoice[id])
	{	
		case All: 
			formatex(szTitle, charsmax(szTitle), "\rTeam: All Weapon ?");
		
		case Ct:
			formatex(szTitle, charsmax(szTitle), "\rTeam: CT Weapon ?");
		
		case Terro:
			formatex(szTitle, charsmax(szTitle), "\rTeam: T Weapon ?");
			
		case Player:
			formatex(szTitle, charsmax(szTitle), "\rPlayer: %s Weapon?", gPlayerName[id]);
	}
	
	iMenu = menu_create(szTitle, "WeaponHandler");
	
	new szInfo[6];
	for(new i; i < sizeof(g_szWeaponNames); i++)
	{
		if(strlen(g_szWeaponNames[i]))
		{
			num_to_str(i, szInfo, 5);
		
			menu_additem(iMenu, g_szWeaponNames[i], szInfo);
		}
	}
	
	menu_display(id, iMenu);
}

public WeaponHandler(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		CmdCallbackMenu(id);
		return PLUGIN_HANDLED;
	}
	
	new szName[32], szInfo[6];
	new iAccess, iCallback;
	menu_item_getinfo(iMenu, iItem, iAccess, szInfo, 5, szName, 31, iCallback);
	
	new iChoice = str_to_num(szInfo);
	
	if(gTeamChoice[id] == Player)
	{
		switch(iChoice)
		{
			case 1..51:
				give_weapon(gPlayerId[id], iChoice);
			
			case 52..62:
				give_weapon(gPlayerId[id], (iChoice+30));
			
			default:
				give_weapon(gPlayerId[id], 200);
		}
	}
	
	else
	{
		new iPlayers[32], iPlayerNum;

		switch(gTeamChoice[id])
		{
			case All:
				get_players(iPlayers, iPlayerNum, "a");
			
			case Terro:
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
			
			case Ct:
				get_players(iPlayers, iPlayerNum, "ae", "CT");
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			switch(iChoice)
			{
				case 1..51:
					give_weapon(iPlayers[i], iChoice);
				
				case 52..62:
					give_weapon(iPlayers[i], (iChoice + 30));
				
				default: 
					give_weapon(iPlayers[i], 200);
			}
		}
	}
	
	menu_destroy(iMenu);
	return PLUGIN_HANDLED;
}

give_weapon(id,iWeapon)
{
	switch (iWeapon)
	{
		//Secondary g_szWeapons
		//Pistols
		case 1:
		{
			give_item(id,g_szWeapons[WEAPON_KNIFE]);
		}
		
		case 11:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
		}
		
		case 12:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_USP]);
		}
		
		case 13:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_P228]);
		}
		
		case 14:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
		}
		
		case 15:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
		}
		
		case 16:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_ELITE]);
		}
		
		case 17:
		{
			//all pistols
			give_weapon(id,11);
			give_weapon(id,12);
			give_weapon(id,13);
			give_weapon(id,14);
			give_weapon(id,15);
			give_weapon(id,16);
		}
		
		//Primary g_szWeapons
		//Shotguns
		case 21:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_M3]);
		}
		
		case 22:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_XM1014]);
		}
		
		//SMGs
		case 31:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_TMP]);
		}
		
		case 32:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_MAC10]);
		}
		
		case 33:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_MP5NAVY]);
		}
		
		case 34:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_P90]);
		}
		
		case 35:
		{ 
			give_weapon_x(id, g_szWeapons[WEAPON_UMP45]);
		}
		
		//Rifles 
		case 40:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_FAMAS]);
		}
		
		case 41:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_GALIL]);
		}
		
		case 42:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_AK47]);
		}
		
		case 43:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_M4A1]);
		}
		
		case 44:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_SG552]);
		}
		
		case 45:
		{
			give_weapon_x(id,g_szWeapons[WEAPON_AUG]);
		}
		
		case 46:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_SCOUT]);
		}
		
		case 47:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_SG550]);
		}
		
		case 48:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
		}
		
		case 49:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_G3SG1]);
		}
		
		//Machine gun (M249 Para)
		case 51:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_M249]);
		}
		
		//Shield combos
		case 60:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
			give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		case 61:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
			give_weapon_x(id, g_szWeapons[WEAPON_USP]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		case 62:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
			give_weapon_x(id, g_szWeapons[WEAPON_P228]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		case 63:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
			give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		case 64:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
			give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		//Equipment 
		case 81:
		{
			give_item(id, g_szWeapons[ITEM_KEVLAR]);
		}
		
		case 82:
		{
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		case 83:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
		}
		
		case 84:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
		}
		
		case 85:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
		}
		
		case 86:
		{
			give_item(id, g_szWeapons[ITEM_THIGHPACK]);
		}
		
		case 87:
		{
			give_item(id, g_szWeapons[WEAPON_SHIELD]);
		}
		
		//All ammo
		case 88:
		{
			new iWeapons[32], WeaponNum;

			get_user_weapons(id, iWeapons, WeaponNum);
			for(new i; i < WeaponNum; i++) 
				cs_set_user_bpammo(id, iWeapons[i], bpammo[iWeapons[i]]);

		}
		
		//All grenades
		case 89:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
		}
		
		//C4
		case 91:
		{
			give_item(id, g_szWeapons[WEAPON_C4]);
			cs_set_user_plant(id, 1, 1);
		}
		
		case 92:
		{
			cs_set_user_nvg(id, 1);
		}
		
		//AWP Combo.
		case 100:
		{
			give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
			give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
			give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
			give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
		}
		
		//Money case.
 		case 160:
		{
			cs_set_user_money(id, 16000, 1);
		}
		
		//AllWeapons
		case 200:
		{
			//all up to wpnindex 51 are given.. replace w loop
			give_weapon_x(id, g_szWeapons[WEAPON_USP]);
			give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
			give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
			give_weapon_x(id, g_szWeapons[WEAPON_P228]);
			give_weapon_x(id, g_szWeapons[WEAPON_ELITE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
			give_weapon_x(id, g_szWeapons[WEAPON_M3]);
			give_weapon_x(id, g_szWeapons[WEAPON_XM1014]);
			give_weapon_x(id, g_szWeapons[WEAPON_TMP]);
			give_weapon_x(id, g_szWeapons[WEAPON_MAC10]);
			give_weapon_x(id, g_szWeapons[WEAPON_MP5NAVY]);
			give_weapon_x(id, g_szWeapons[WEAPON_P90]);
			give_weapon_x(id, g_szWeapons[WEAPON_UMP45]);
			give_weapon_x(id, g_szWeapons[WEAPON_FAMAS]);
			give_weapon_x(id, g_szWeapons[WEAPON_GALIL]);
			give_weapon_x(id, g_szWeapons[WEAPON_AK47]);
			give_weapon_x(id, g_szWeapons[WEAPON_M4A1]);
			give_weapon_x(id, g_szWeapons[WEAPON_SG552]);
			give_weapon_x(id, g_szWeapons[WEAPON_AUG]);
			give_weapon_x(id, g_szWeapons[WEAPON_SCOUT]);
			give_weapon_x(id, g_szWeapons[WEAPON_SG550]);
			give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
 			give_weapon_x(id, g_szWeapons[WEAPON_G3SG1]);
			give_weapon_x(id, g_szWeapons[WEAPON_M249]);
			give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
			give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
		}
		
		default: return false;
	}
	
	return true;
}

stock give_weapon_x(id, const szWeapon[])
{
	give_item(id, szWeapon);
	
	new iWeaponid = get_weaponid(szWeapon);
	
	if(iWeaponid)
		cs_set_user_bpammo(id, iWeaponid, bpammo[iWeaponid]);
}


/* 9)	amx_drug
 *--------------
*/
public Cmd_Drug(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
	
	new szArg1[24];
	read_argv(1, szArg1, 23);
	
	new szLength[6];
	read_argv(2, szLength, 2);
	
	new szAdminName[32], szAdminAuthid[32];
	get_user_name( id, szAdminName, 31 );
	get_user_authid( id, szAdminAuthid, 31 );
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, iPlayer, CmdTeam: Team;

		switch(szArg1[1])
		{
			case 't', 'T':	
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iPlayer = iPlayers[i];
			
			if((get_user_flags(iPlayer) & ADMIN_IMMUNITY) && iPlayer != id)
			{
				get_user_name(iPlayer, szArg1, charsmax(szArg1));
				console_print(id, "%L", "AMX_SUPER_TEAM_IMMUNITY", szArg1);
				
				continue;
			}
			
			set_user_drugs(iPlayers[i], str_to_num(szLength));
		}
		


		show_activity_key("AMX_SUPER_DRUG_TEAM_CASE1", "AMX_SUPER_DRUG_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);

		console_print( id, "%L", id, "AMX_SUPER_DRUG_TEAM_MSG", g_szTeamNames[Team]);
		log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team]);
	}
	
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(!iPlayer)
			return PLUGIN_HANDLED;

		set_user_drugs(iPlayer, str_to_num(szLength));
		
		new szTargetName[32], szTargetAuthid[32];
		get_user_name( iPlayer, szTargetName, 31 );
		get_user_authid( iPlayer, szTargetAuthid, 31 );

		show_activity_key("AMX_SUPER_DRUG_PLAYER_CASE1", "AMX_SUPER_DRUG_PLAYER_CASE2", szAdminName, szTargetName);

		console_print( id, "%L", id, "AMX_SUPER_DRUG_PLAYER_MSG", szTargetName );
		log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid );
	}
	
	return PLUGIN_HANDLED;
}

set_user_drugs(id, x)
{
	switch(x)
	{
		case 1,2:
		{
			message_begin(MSG_ONE, g_iMsgSetFOV, _, id);
			write_byte(180);
			message_end();
			
			if (x == 2)
				g_iFlags[id] |= PERMDRUGS;
		}

		default:
		{
			message_begin(MSG_ONE, g_iMsgSetFOV, _, id);
			write_byte(90);
			message_end();
			
			g_iFlags[id] &= ~PERMDRUGS;
		}
	}
}

/*	10)		amx_godmode
 *---------------------
*/
public Cmd_Godmode(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
	
	new szAdminName[32];
	get_user_name(id, szAdminName, 31);
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	new szArg1[24];
	read_argv(1, szArg1, 23);
	
	new szLength[6];
	read_argv(2, szLength, 2);
	
	new iGodmodeFlags = str_to_num(szLength);
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, iTempid, CmdTeam: Team;
		
		switch(szArg1[1])
		{
			case 't', 'T':	
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if(!iGodmodeFlags)
				g_iFlags[iTempid] &= ~PERMGOD;
				
			else if(iGodmodeFlags == 2)
				g_iFlags[iTempid] |= PERMGOD;
				
			set_user_godmode(iTempid, !!iGodmodeFlags);
			
		}

		show_activity_key("AMX_SUPER_GODMODE_TEAM_CASE1", "AMX_SUPER_GODMODE_TEAM_CASE2", szAdminName, iGodmodeFlags, g_szTeamNames[Team]);

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_TEAM_MSG", iGodmodeFlags, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_TEAM_LOG", szAdminName, szAdminAuthid, iGodmodeFlags, g_szTeamNames[Team]);
	}
	
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(!iPlayer)
			return PLUGIN_HANDLED;

		new szTargetName[32], szTargetAuthid[35];
		get_user_name(iPlayer, szTargetName, 31);
		get_user_authid(iPlayer, szTargetAuthid, charsmax(szTargetAuthid));
		
		set_user_godmode(iPlayer, !!iGodmodeFlags);
		
		if(!iGodmodeFlags)
			g_iFlags[iPlayer] &= ~PERMGOD;
			
		else if (iGodmodeFlags == 2)
			g_iFlags[iPlayer] |= PERMGOD;

		show_activity_key("AMX_SUPER_GODMODE_PLAYER_CASE1", "AMX_SUPER_GODMODE_PLAYER_CASE2", szAdminName, iGodmodeFlags, szTargetName);

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_PLAYER_MSG", iGodmodeFlags, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_PLAYER_LOG", szAdminName, szAdminAuthid, iGodmodeFlags, szTargetName, szTargetAuthid);
	}
	
	return PLUGIN_HANDLED;
}

/* 11)	amx_setmoney
 *-------------------
*/

// TODO: UPDATE ALL NON-EN ML STRINGS
public Cmd_SetMoney(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 3))
		return PLUGIN_HANDLED;
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	new szAdminName[32];
	get_user_name(id, szAdminName, 31);
	
	new szArg1[32];
	read_argv(1, szArg1, 31);
	
	new szArg2[32];
	read_argv(2, szArg2, 31);
	
	new iMoney = str_to_num(szArg2);
	if(iMoney > 16000)
		iMoney = 16000;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, CmdTeam: Team;
		
		switch(szArg1[1])
		{
			case 't', 'T':	
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i = 0; i < iPlayerNum; i++)				
			cs_set_user_money(iPlayers[i], iMoney);
	
		show_activity_key("AMX_SUPER_GIVEMONEY_TEAM_CASE1", "AMX_SUPER_GIVEMONEY_TEAM_CASE2", szAdminName, g_szTeamNames[Team], iMoney);
		
		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_TEAM_MSG", g_szTeamNames[Team], iMoney);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team], iMoney);
	}
	
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
		if(!iPlayer)
			return PLUGIN_HANDLED;
		
		cs_set_user_money(iPlayer, iMoney);
		
		new szTargetName[32];
		get_user_name(iPlayer, szTargetName, 31);
		
		new szTargetAuthid[36];
		get_user_authid(iPlayer, szTargetAuthid, 35);
		
		show_activity_key("AMX_SUPER_GIVEMONEY_PLAYER_CASE1", "AMX_SUPER_GIVEMONEY_PLAYER_CASE2", szAdminName, szTargetName, iMoney);
		
		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_PLAYER_MSG", szTargetName, iMoney);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, iMoney);
	}
	
	return PLUGIN_HANDLED;
}

/* 12)	amx_noclip
 *----------------
*/
public Cmd_Noclip(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szAdminName[32];
	get_user_name(id, szAdminName, 31);
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	new szArg1[24];
	read_argv(1, szArg1, 23);
	
	new szLength[6];
	read_argv(2, szLength, 2);
	
	new iSetting = str_to_num(szLength);
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, iTempid, CmdTeam: Team;
	
		switch(szArg1[1])
		{
			case 't', 'T':	
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
						
			if(!iSetting)
				g_iFlags[iTempid] &= ~PERMNOCLIP;
				
			else if (iSetting == 2)
				g_iFlags[iTempid] |= PERMNOCLIP;
				
			set_user_noclip(iTempid, !!iSetting);

		}
				
		show_activity_key("AMX_SUPER_NOCLIP_TEAM_CASE1", "AMX_SUPER_NOCLIP_TEAM_CASE2", szAdminName, iSetting, g_szTeamNames[Team]);
		
		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_TEAM_MSG", iSetting, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_TEAM_LOG", szAdminName, szAdminAuthid, iSetting, g_szTeamNames[Team]);
	}
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		if(!iPlayer)
			return PLUGIN_HANDLED;

		new szTargetName[32];
		get_user_name(iPlayer, szTargetName, 31);
		
		new szTargetAuthid[36];
		get_user_authid(iPlayer, szTargetAuthid, 35);

		set_user_noclip(iPlayer, !!iSetting);
		
		if(!iSetting)
			g_iFlags[iPlayer] &= ~PERMNOCLIP;
			
		else if (iSetting == 2)
			g_iFlags[iPlayer] |= PERMNOCLIP;

		
		show_activity_key("AMX_SUPER_NOCLIP_PLAYER_CASE1", "AMX_SUPER_NOCLIP_PLAYER_CASE2", szAdminName, iSetting, szTargetName);

		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_PLAYER_MSG",iSetting, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_PLAYER_LOG", szAdminName, szAdminAuthid, iSetting, szTargetName, szTargetAuthid);
	}
	
	return PLUGIN_HANDLED;
}

/* 13)	amx_speed
 *---------------
*/
public LogEventRoundStart()
	g_bIsFreezeTime = false;

public EventFreezeTime()
	g_bIsFreezeTime = true;
	
public FwdPlayerSpeedPost(id)
{
	if(!g_bIsFreezeTime && (g_iFlags[id] & HASSPEED) || (g_iFlags[id] & PERMSPEED))
		SetSpeed(id, 1);
}
		
public Cmd_Speed(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
	
	new szAdminName[32];
	get_user_name(id, szAdminName, 31);
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	new szArg1[24];
	read_argv(1, szArg1, 23);
	
	new szLength[6];
	read_argv(2, szLength, 2);
	
	new iSpeedFlag = str_to_num(szLength);
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, CmdTeam: Team;
		
		switch(szArg1[1])
		{
			case 't', 'T':	
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				Team = T;
			}
			
			case 'c', 'C':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				Team = CT;
			}
			
			case 'a', 'A':
			{
				get_players(iPlayers, iPlayerNum, "a");
				Team = ALL;
			}
		}
		
		for(new i = 0; i < iPlayerNum; i++)
			SetSpeed(iPlayers[i], iSpeedFlag);
		
		show_activity_key("AMX_SUPER_SPEED_TEAM_CASE1", "AMX_SUPER_SPEED_TEAM_CASE2", szAdminName, iSpeedFlag, g_szTeamNames[Team]);

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_TEAM_MSG", iSpeedFlag, g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_SPEED_TEAM_LOG", szAdminName, szAdminAuthid, iSpeedFlag, g_szTeamNames[Team]);
	}
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		if(!iPlayer)
			return PLUGIN_HANDLED;
			
		new szTargetName[32];
		get_user_name(iPlayer, szTargetName, 31);
		
		SetSpeed(iPlayer, iSpeedFlag);

		show_activity_key("AMX_SUPER_SPEED_PLAYER_CASE1", "AMX_SUPER_SPEED_PLAYER_CASE2", szAdminName, iSpeedFlag, szTargetName);

		console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_PLAYER_MSG", iSpeedFlag, szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_SPEED_PLAYER_LOG", szAdminName, szAdminAuthid, iSpeedFlag, szTargetName);
	}
	
	return PLUGIN_HANDLED;
}

SetSpeed(id, iSetting)
{
	if(!iSetting)
	{
		// Provided by ConnorMcLeod from cs_reset_user_maxspeed function in some of his plugns
		new Float:flMaxSpeed;
		
		switch ( get_user_weapon(id) )
		{
			case CSW_SG550, CSW_AWP, CSW_G3SG1 : flMaxSpeed = 210.0;
			case CSW_M249 : flMaxSpeed = 220.0;
			case CSW_AK47 : flMaxSpeed = 221.0;
			case CSW_M3, CSW_M4A1 : flMaxSpeed = 230.0;
			case CSW_SG552 : flMaxSpeed = 235.0;
			case CSW_XM1014, CSW_AUG, CSW_GALIL, CSW_FAMAS : flMaxSpeed = 240.0;
			case CSW_P90 : flMaxSpeed = 245.0;
			case CSW_SCOUT : flMaxSpeed = 260.0;
			default : flMaxSpeed = 250.0;
		}
		set_user_maxspeed(id, flMaxSpeed);
		
		g_iFlags[id] &= ~HASSPEED;
		g_iFlags[id] &= ~PERMSPEED;
	}
	
	else
	{
		new iFlag = iSetting == 2 ? PERMSPEED : HASSPEED;
		g_iFlags[id] |= iFlag;
			
		set_user_maxspeed(id, (get_user_maxspeed(id) * 2.0));
	}
}

/* 14)	amx_revive
 *----------------
*/
public Cmd_Revive(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
	
	new szArg1[24];
	read_argv(1, szArg1, 23);
	
	new szAdminName[34];
	get_user_name(id, szAdminName, 33);
	
	new szAdminAuthid[36];
	get_user_authid(id, szAdminAuthid, 35);
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, iPlayer, CmdTeam: Team;
		get_players(iPlayers, iPlayerNum);

		switch(szArg1[1])
		{
			case 't', 'T': Team = T;
			case 'c', 'C': Team = CT;
			case 'a', 'A': Team = ALL;
		}		
		
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iPlayer = iPlayers[i];
			
			switch(Team)
			{
				case T:
				{
					if(cs_get_user_team(iPlayer) == CS_TEAM_T)
						ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
				}
				
				case CT:
				{
					if(cs_get_user_team(iPlayer) == CS_TEAM_CT)
						ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
				}
				
				case ALL:
				{
					if(CS_TEAM_UNASSIGNED < cs_get_user_team(iPlayer) < CS_TEAM_SPECTATOR)
						ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
				}
			}
		}
		
		show_activity_key("AMX_SUPER_REVIVE_TEAM_CASE1", "AMX_SUPER_REVIVE_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);
	
		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_MSG", g_szTeamNames[Team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team]);
	}
	else
	{
		new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
		if(!iPlayer || !(CS_TEAM_UNASSIGNED < cs_get_user_team(iPlayer) < CS_TEAM_SPECTATOR))
			return PLUGIN_HANDLED;

		ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
		
		new szTargetName[34];
		get_user_name(iPlayer, szTargetName, 33);
		
		new szTargetAuthid[36];
		get_user_authid(iPlayer, szTargetAuthid, 35);
		
		show_activity_key("AMX_SUPER_REVIVE_PLAYER_CASE1", "AMX_SUPER_REVIVE_PLAYER_CASE2", szAdminName, szTargetName);
		
		console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_MSG", szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_PLAYER_LOG",szAdminName, szTargetAuthid, szTargetName, szTargetAuthid);
	}
	
	return PLUGIN_HANDLED;
}

/* 15)	amx_bury
 *--------------
*/
public Cmd_Bury(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
	
	new szArg1[32];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szTargetName[32];
	
	new szAdminName[32];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	
	new szAdminAuthid[25];
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
		
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
				
			BuryPlayer(iTempid);
		}
		
		show_activity_key("AMX_SUPER_BURY_TEAM_CASE1", "AMX_SUPER_BURY_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		
		log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			BuryPlayer(iTempid);
			
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			
			new szTargetAuthid[25];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			
			log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			show_activity_key("AMX_SUPER_BURY_PLAYER_CASE1", "AMX_SUPER_BURY_PLAYER_CASE2", szAdminName, szTargetName);

			console_print(id, "%L", id, "AMX_SUPER_BURY_MSG", szTargetName);
		}
	}
	
	return PLUGIN_HANDLED;
}

BuryPlayer(iTempid)
{
	new szVictimName[32];
	get_user_name(iTempid, szVictimName, charsmax(szVictimName));
	
	new iWeapons[32], iWeapon;
	get_user_weapons(iTempid, iWeapons, iWeapon);
	
	new szWeaponName[32];
	for(new i = 0; i < iWeapon; i++)
	{
		get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
		engclient_cmd(iTempid, "drop", szWeaponName);
	}
	
	engclient_cmd(iTempid, "weapon_knife");
	
	new Float: flOrigin[3];
	pev(iTempid, pev_origin, flOrigin);
	
	flOrigin[2] -= 30.0;
	engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
}

/*	16)		amx_unbury
 *--------------------
*/
public Cmd_Unbury(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szArg1[32];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szTargetName[32];
	
	new szAdminName[32];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	
	new szAdminAuthid[25];
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
		
	new iTempid;
	
	if(szArg1[0] == '@')
	{	
		new iPlayers[32], iPlayerNum, CmdTeam: team;
	
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{			
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			UnburyPlayer(iTempid);
		}
			
		show_activity_key("AMX_SUPER_UNBURY_TEAM_CASE1", "AMX_SUPER_UNBURY_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			UnburyPlayer(iTempid);
			
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			
			
			new szTargetAuthid[25];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));

			log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			show_activity_key("AMX_SUPER_UNBURY_PLAYER_CASE1", "AMX_SUPER_UNBURY_PLAYER_CASE2", szAdminName, szTargetName);
			
			console_print(id, "%L", id, "AMX_SUPER_UNBURY_MSG", szTargetName);
			
		}
	}

	return PLUGIN_HANDLED;
}

UnburyPlayer(iTempid)
{
	new szVictimName[32];
	get_user_name(iTempid, szVictimName, charsmax(szVictimName));
	
	new Float: flOrigin[3];
	pev(iTempid, pev_origin, flOrigin);
	
	flOrigin[2] += 35.0;
	engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
}

/* 17)	amx_disarm
 *----------------
*/
public Cmd_Disarm(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))
		return PLUGIN_HANDLED;

	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szAdminName[35], szTargetName[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	
	new szAdminAuthid[35];
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			strip_user_weapons(iTempid);
			set_pdata_int(iTempid, OFFSET_PRIMARYWEAPON, 0);		// Bugfix.
			give_item(iTempid, "weapon_knife");
		}
			
		show_activity_key("AMX_SUPER_DISARM_TEAM_CASE1", "AMX_SUPER_DISARM_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			strip_user_weapons(id);
			set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0);
			give_item(id, "weapon_knife");
			
			new szTargetAuthid[25];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));

			log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			show_activity_key("AMX_SUPER_DISARM_PLAYER_CASE1", "AMX_SUPER_DISARM_PLAYER_CASE2", szAdminName, szTargetName);

			console_print(id, "%L", id, "AMX_SUPER_DISARM_MSG", szTargetName);
		}
	}
	
	return PLUGIN_HANDLED;
}

/* 18)	amx_slay2
 *---------------
*/
public Cmd_Slay2(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szArg1[35], szSetting[2];
	
	new szAdminName[35], szTargetName[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	
	new szAdminAuthid[35];
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid, CmdTeam: team;
	
	read_argv(1, szArg1, charsmax(szArg1));
	read_argv(2, szSetting, charsmax(szSetting));
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			slay_player(iTempid, str_to_num(szSetting));
		}
			
		show_activity_key("AMX_SUPER_SLAY2_TEAM_CASE1", "AMX_SUPER_SLAY2_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			slay_player(iTempid, str_to_num(szSetting));
			
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			
			new szTargetAuthid[25];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			
			log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			show_activity_key("AMX_SUPER_SLAY2_PLAYER_CASE1", "AMX_SUPER_SLAY2_PLAYER_CASE2", szAdminName, szTargetName);
			
			console_print(id, "%L", id, "AMX_SUPER_SLAY2_PLAYER_MSG", szTargetName);
		}
	}
	
	return PLUGIN_HANDLED;
}

slay_player(iVictim,type)
{
	new iOrigin[3];
	get_user_origin(iVictim, iOrigin);

	iOrigin[2] -= 26;

	switch(type)
	{
		case 1:
		{
			new iSourceOrigin[3];
			iSourceOrigin[0] = iOrigin[0] + 150;
			iSourceOrigin[1] = iOrigin[1] + 150;
			iSourceOrigin[2] = iOrigin[2] + 400;
			lightning(iSourceOrigin, iOrigin);
			
			emit_sound(iVictim,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
		}
		
		case 2:
		{
			blood(iOrigin);
			emit_sound(iVictim,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
		}
		case 3: 
			explode(iOrigin);
	}
	
	user_kill(iVictim, 1);
}

explode(iOrigin[3]) 
{
	//Blast Circles
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
	write_byte(21);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2] + 16);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2] + 1936);
	write_short(g_iWhiteSpr);
	write_byte(0); // startframe
	write_byte(0); // framerate
	write_byte(2); // life
	write_byte(16); // width
	write_byte(0); // noise
	write_byte(188); // r
	write_byte(220); // g
	write_byte(255); // b
	write_byte(255); //brightness
	write_byte(0); // speed
	message_end();

	//Explosion2
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(12);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_byte(188); // byte (scale in 0.1's)
	write_byte(10); // byte (framerate)
	message_end();

	//Smoke
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
	write_byte(5);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(g_iSmokeSpr);
	write_byte(2);
	write_byte(10);
	message_end();
}

blood(iOrigin[3]) 
{
	//LAVASPLASH
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(10);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	message_end();
}

lightning (iOrigin[3],iOrigin2[3]) 
{
	//Lightning
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(0);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_coord(iOrigin2[0]);
	write_coord(iOrigin2[1]);
	write_coord(iOrigin2[2]);
	write_short(g_iLightSpr);
	write_byte(1); // framestart
	write_byte(5); // framerate
	write_byte(2); // life
	write_byte(20); // width
	write_byte(30); // noise
	write_byte(200); // r, g, b
	write_byte(200); // r, g, b
	write_byte(200); // r, g, b
	write_byte(200); // brightness
	write_byte(200); // speed
	message_end();

	//Sparks
	message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin2);
	write_byte(9);
	write_coord(iOrigin2[0]);
	write_coord(iOrigin2[1]);
	write_coord(iOrigin2[2]);
	message_end();

	//Smoke
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin2);
	write_byte(5);
	write_coord(iOrigin2[0]);
	write_coord(iOrigin2[1]);
	write_coord(iOrigin2[2]);
	write_short(g_iSmokeSpr);
	write_byte(10);
	write_byte(10);
	message_end();
}

/* 19)	amx_rocket
 *----------------
*/
new g_iRocketZAxis[33];

public Cmd_Rocket(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))
		return PLUGIN_HANDLED;
		
	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szAdminName[35], szTargetName[35], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum, CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
			{	
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			emit_sound(iTempid, CHAN_WEAPON , "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
			set_user_maxspeed(iTempid,0.01);
			
			set_task(1.2, "Task_Rocket_LiftOff" , iTempid);
		}
		
		console_print(id, "%L", id, "AMX_SUPER_ROCKET_TEAM_MSG", g_szTeamNames[team]);
		
		show_activity_key("AMX_SUPER_ROCKET_TEAM_CASE1", "AMX_SUPER_ROCKET_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			emit_sound(iTempid, CHAN_WEAPON, "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
			set_user_maxspeed(iTempid, 0.01);
			
			set_task(1.2, "Task_Rocket_LiftOff", iTempid);
			
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
						
			show_activity_key("AMX_SUPER_ROCKET_PLAYER_CASE1", "AMX_SUPER_ROCKET_PLAYER_CASE2", szAdminName, szTargetName);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			
			console_print(id, "%L", id, "AMX_SUPER_ROCKET_PLAYER_MSG", szTargetName);
		}
	}
	
	return PLUGIN_HANDLED;
}
		
public Task_Rocket_LiftOff(iVictim)
{
	if(!is_user_alive(iVictim))
		return;
		
	set_user_gravity(iVictim, -0.50);
	client_cmd(iVictim, "+jump;wait;wait;-jump");
	emit_sound(iVictim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM);
	
	rocket_effects(iVictim);
}

public rocket_effects(iVictim)
{
	if(!is_user_alive(iVictim)) 
		return;

	new iOrigin[3];
	get_user_origin(iVictim,iOrigin);

	message_begin(MSG_ONE, g_iMsgDamage, {0,0,0}, iVictim);
	write_byte(30); // dmg_save
	write_byte(30); // dmg_take
	write_long(1<<16); // visibleDamageBits
	write_coord(iOrigin[0]); // damageOrigin.x
	write_coord(iOrigin[1]); // damageOrigin.y
	write_coord(iOrigin[2]); // damageOrigin.z
	message_end();

	if(g_iRocketZAxis[iVictim] == iOrigin[2]) 
		rocket_explode(iVictim);

	g_iRocketZAxis[iVictim] = iOrigin[2];

	//Draw Trail and effects

	//TE_SPRITETRAIL - line of moving glow sprites with gravity, fadeout, and collisions
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(15);
	write_coord(iOrigin[0]); // coord, coord, coord (start)
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_coord(iOrigin[0]); // coord, coord, coord (end)
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2] - 30);
	write_short(g_iBlueflare2Spr); // short (sprite index)
	write_byte(5); // byte (count)
	write_byte(1); // byte (life in 0.1's)
	write_byte(1);  // byte (scale in 0.1's)
	write_byte(10); // byte (velocity along vector in 10's)
	write_byte(5);  // byte (randomness of velocity in 10's)
	message_end();

	//TE_SPRITE - additive sprite, plays 1 cycle
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(17);
	write_coord(iOrigin[0]);  // coord, coord, coord (position)
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2] - 30);
	write_short(g_iMflashSpr); // short (sprite index)
	write_byte(15); // byte (scale in 0.1's)
	write_byte(255); // byte (brightness)
	message_end();

	set_task(0.2, "rocket_effects", iVictim);
}

public rocket_explode(iVictim)
{
	if(is_user_alive(iVictim)) 
	{
		new iOrigin[3];
		get_user_origin(iVictim, iOrigin);

		// blast circles
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
		write_byte(21);
		write_coord(iOrigin[0]);
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2] - 10);
		write_coord(iOrigin[0]);
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2] + 1910);
		write_short(g_iWhiteSpr);
		write_byte(0); // startframe
		write_byte(0); // framerate
		write_byte(2); // life
		write_byte(16); // width
		write_byte(0); // noise
		write_byte(188); // r
		write_byte(220); // g
		write_byte(255); // b
		write_byte(255); //brightness
		write_byte(0); // speed
		message_end();

		//Explosion2
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
		write_byte(12);
		write_coord(iOrigin[0]);
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2]);
		write_byte(188); // byte (scale in 0.1's)
		write_byte(10); // byte (framerate)
		message_end();

		//smoke
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
		write_byte(5);
		write_coord(iOrigin[0]);
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2]);
		write_short(g_iSmokeSpr);
		write_byte(2);
		write_byte(10);
		message_end();

		user_kill(iVictim, 1);
	}

	//stop_sound
	emit_sound(iVictim, CHAN_VOICE, "weapons/rocket1.wav", 0.0, 0.0, (1<<5), PITCH_NORM);

	set_user_maxspeed(iVictim, 1.0);
	set_user_gravity(iVictim, 1.00);
}

/* 20)	amx_fire
 *--------------
*/
public Cmd_Fire(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))
		return PLUGIN_HANDLED;
		
	new szAdminName[35], szAdminAuthid[35], szTargetName[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum;
		new CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
		
			SetPlayerBit(g_iOnFireBit, iTempid);
			
			ignite_effects(iTempid);
			ignite_player(iTempid);
		}
		
		show_activity_key("AMX_SUPER_FIRE_TEAM_CASE1", "AMX_SUPER_FIRE_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			SetPlayerBit(g_iOnFireBit, iTempid);
			
			ignite_effects(iTempid);
			ignite_player(iTempid);
		
			show_activity_key("AMX_SUPER_FIRE_PLAYER_CASE1", "AMX_SUPER_FIRE_PLAYER_CASE2", szAdminName, szTargetName);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			
			console_print(id, "%L", id, "AMX_SUPER_FIRE_PLAYER_MSG", szTargetName);
		}
	}
	
	return PLUGIN_HANDLED;
}
	
public ignite_effects(id)  
{
	if(is_user_alive(id) && CheckPlayerBit(g_iOnFireBit, id))
    {
		new iOrigin[3];
		get_user_origin(id, iOrigin);
		
		//TE_SPRITE - additive sprite, plays 1 cycle
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
		write_byte(17);
		write_coord(iOrigin[0]);  // coord, coord, coord (position)
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2]);
		write_short(g_iMflashSpr); // short (sprite index)
		write_byte(20); // byte (scale in 0.1's)
		write_byte(200); // byte (brightness)
		message_end();
		
		//Smoke
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
		write_byte(5);
		write_coord(iOrigin[0]);// coord coord coord (position)
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2]);
		write_short(g_iSmokeSpr);// short (sprite index)
		write_byte(20); // byte (scale in 0.1's)
		write_byte(15); // byte (framerate)
		message_end();
		
		set_task(0.2, "ignite_effects", id);
	}
	
	else    
	{
		if(CheckPlayerBit(g_iOnFireBit, id))
		{
			emit_sound(id, CHAN_AUTO, "scientist/scream21.wav", 0.6, ATTN_NORM, 0, PITCH_HIGH);
			ClearPlayerBit(g_iOnFireBit, id);
		}
	}
}

public ignite_player(id)   
{
	if(is_user_alive(id) && CheckPlayerBit(g_iOnFireBit, id)) 
	{
		new iIdOrigin[3];
				
		new iHealth = get_user_health(id);
		get_user_origin(id, iIdOrigin);
		
		//create some damage
		set_user_health(id, iHealth - 10);
		
		message_begin(MSG_ONE, g_iMsgDamage, _, id);
		write_byte(30); // dmg_save
		write_byte(30); // dmg_take
		write_long(1<<21); // visibleDamageBits
		write_coord(iIdOrigin[0]); // damageOrigin.x
		write_coord(iIdOrigin[1]); // damageOrigin.y
		write_coord(iIdOrigin[2]); // damageOrigin.z
		message_end();
		
		//create some sound
		emit_sound(id, CHAN_ITEM, "ambience/flameburst1.wav", 0.6, ATTN_NORM, 0, PITCH_NORM);
		
		//Ignite Others 
		if(get_pcvar_num(g_pAllowCatchFire)) 
		{       
			new iTempOriginOrigin[3];
			
			new iPlayers[32], iPlayerNum, iTempid;
			get_players(iPlayers, iPlayerNum, "a");
			
			new szVictimName[32], szIgniterName[32]; 
			
			for(new i = 0; i < iPlayerNum; ++i) 
			{                   
				iTempid = iPlayers[i];
				
				get_user_origin(iTempid, iTempOriginOrigin);
				
				if(get_distance(iIdOrigin, iTempOriginOrigin) < 100)
				{ 
					if(!CheckPlayerBit(g_iOnFireBit, iTempid)) 
					{ 
						get_user_name(iTempid, szVictimName, charsmax(szVictimName));
						get_user_name(id, szIgniterName, charsmax(szIgniterName)); 
						
						emit_sound(iTempid, CHAN_WEAPON, "scientist/scream07.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH); 
						client_print(0, print_chat, "* [AMX] OH! NO! %s has caught %s on fire!", szIgniterName, szVictimName);
						
						SetPlayerBit(g_iOnFireBit, iTempid);
						
						ignite_player(iTempid);
						ignite_effects(iTempid);
					}                
				} 
			}           
		} 
		
		//Call Again in 2 seconds       
		set_task(2.0, "ignite_player", id);       
	}    
} 

/* 21)	amx_flash
 *---------------
*/
public Cmd_Flash(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szArg1[35], szTargetName[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szAdminName[35], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum;
		new CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
			{
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			Flash_Player(iTempid);
		}
		
		console_print(id, "%L", id, "AMX_SUPER_FLASH_TEAM_MSG", g_szTeamNames[team]);
		
		show_activity_key("AMX_SUPER_FLASH_TEAM_CASE1", "AMX_FLASH_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			Flash_Player(iTempid);
			
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			console_print(id, "%L", id, "AMX_SUPER_FLASH_PLAYER_MSG", szTargetName);
			
			show_activity_key("AMX_SUPER_FLASH_PLAYER_CASE1", "AMX_SUPER_FLASH_PLAYER_CASE2", szAdminName, szTargetName);
			
			log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
		}
	}
	
	return PLUGIN_HANDLED;
}

Flash_Player(id)
{
	message_begin(MSG_ONE, g_iMsgScreenFade, {0,0,0}, id);
	write_short(1<<15);
	write_short(1<<10);
	write_short(1<<12);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	message_end();

	if(get_pcvar_num(g_pFlashSound))
		emit_sound(id, CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH);
}

/* 22)	amx_uberslap
 *------------------
*/
public Cmd_UberSlap(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 2))
		return PLUGIN_HANDLED;
		
	new szArg1[35];
	read_argv(1, szArg1, charsmax(szArg1));
	
	new szTargetName[35], szAdminName[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
			
	new szAdminAuthid[35];
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
	new iTempid;
	
	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum;
		new CmdTeam: team;
		
		switch(szArg1[1])
		{
			case 'A', 'a':
			{
				get_players(iPlayers, iPlayerNum, "a");
				
				team = ALL;
			}
			
			case 'T', 't':
			{
				get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
				
				team = T;
			}
			
			case 'C', 'c':
			{
				get_players(iPlayers, iPlayerNum, "ae", "CT");
				
				team = CT;
			}
		}
		
		if(!iPlayerNum)
		{
			console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
			
			return PLUGIN_HANDLED;
		}
		
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
			{	
				get_user_name(iTempid, szTargetName, charsmax(szTargetName));
				
				console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
				
				continue;
			}
			
			set_task(0.1, "Slap_Player", iTempid, _, _, "a", 100);
		}
		
		show_activity_key("AMX_SUPER_UBERSLAP_TEAM_CASE1", "AMX_SUPER_UBERSLAP_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_UBERSLAP_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
	}
	
	else
	{
		iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
		
		if(iTempid)
		{
			get_user_name(iTempid, szTargetName, charsmax(szTargetName));
			
			new szTargetAuthid[35];
			get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
					
			set_task(0.1, "Slap_Player", iTempid, _, _, "a", 100);
			
			show_activity_key("AMX_SUPER_UBERSLAP_PLAYER_CASE1", "AMX_SUPER_UBERSLAP_PLAYER_CASE2", szAdminName, szTargetName);
			log_amx("%L", LANG_SERVER, "AMX_SUPER_UBERSLAP_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
			
			console_print(id, "%L", id, "AMX_SUPER_UBERSLAP_PLAYER_MSG", szTargetName);
		}
	}

	return PLUGIN_HANDLED;
}

public Slap_Player(id)
{
	if(get_user_health(id) > 1)
		user_slap(id, 1);
	
	else
		user_slap(id, 0);
}

/* 23)	amx_glow(2)
 *-----------------
*/
public Cmd_Glow(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 3))
		return PLUGIN_HANDLED;
		
	new szArg0[20], szArg1[35], szColor[20], szGreen[3], szBlue[3], szAlpha[3];
	read_argv(0, szArg0, charsmax(szArg0)); 			
	read_argv(1, szArg1, charsmax(szArg1));		
	read_argv(2, szColor, charsmax(szColor));		
	read_argv(3, szGreen, charsmax(szGreen));
	read_argv(4, szBlue, charsmax(szBlue));
	read_argv(5, szAlpha, charsmax(szAlpha));
	
	new iRed, iGreen, iBlueNum, iAlpha;
	
	new bool: bOff;
	new bool: bGlow2;
	
	if(szArg0[8] == '2')
		bGlow2 = true;
		
	else 
		bGlow2 = false;
		
	if(!strlen(szGreen))
	{
		new bool: bIsValidColor = false;
		
		for(new i = 0; i < MAX_COLORS; i++)
		{
			if(equali(szColor, g_szColorNames[i]))
			{	
				iRed = g_iColorValues[i][0];
				iGreen = g_iColorValues[i][1];
				iBlueNum = g_iColorValues[i][2];
				iAlpha = 255;
				
				if(equali(szColor, "off"))
					bOff = true;
				
				else 
					bOff = false;
					
				bIsValidColor = true;
				
				break;
			}
		}
		
		if(!bIsValidColor)
		{ 
			console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GLOW_INVALID_COLOR");
			
			return PLUGIN_HANDLED;
		}
	}
	
	else
	{
		iRed = str_to_num(szColor);
		iGreen = str_to_num(szGreen);
		iBlueNum = str_to_num(szBlue);
		iAlpha = str_to_num(szAlpha);
		
		clamp(iRed, 0, 255);
		clamp(iGreen, 0, 255);
		clamp(iBlueNum, 0, 255);
		clamp(iAlpha, 0, 255);
	}
	
	new iTempid;
	new szAdminName[34], szAdminAuthid[35];
	get_user_name(id, szAdminName, charsmax(szAdminName));
	get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));

	if(szArg1[0] == '@')
	{
		new iPlayers[32], iPlayerNum;
		
		if(equali(szArg1[1], "T"))
			copy(szArg1[1], charsmax(szArg1), "TERRORIST");
		
		if(equali(szArg1[1], "ALL"))
			get_players(iPlayers, iPlayerNum, "a");
		
		else
			get_players(iPlayers, iPlayerNum, "ae", szArg1[1]);
			
		for(new i = 0; i < iPlayerNum; i++)
		{
			iTempid = iPlayers[i];
			
			if(bGlow2)
			{
				g_iGlowColors[iTempid][0] = iRed;
				g_iGlowColors[iTempid][1] = iGreen;
				g_iGlowColors[iTempid][2] = iBlueNum;
				g_iGlowColors[iTempid][3] = iAlpha;
				
				g_iFlags[iTempid] |= HASGLOW;
				
			}
			
			else
			{
				arrayset(g_iGlowColors[iTempid], 0, 4);
				g_iFlags[iTempid] &= ~HASGLOW;
			}
			
			set_user_rendering(iTempid, kRenderFxGlowShell, iRed, iGreen, iBlueNum, kRenderTransAlpha, iAlpha);
		}
		
		if(bOff)
			show_activity_key("AMX_SUPER_GLOW_TEAM_OFF_CASE1", "AMX_SUPER_GLOW_TEAM_OFF_CASE2", szAdminName, szArg1[1]);
		
		else
			show_activity_key("AMX_SUPER_GLOW_TEAM_CASE1", "AMX_SUPER_GLOW_TEAM_CASE2", szAdminName, szArg1[1]);
		
		console_print(id, "%L", id, "AMX_SUPER_GLOW_TEAM_MSG", szArg1[1]);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_TEAM_LOG", szAdminName, szAdminAuthid, szArg1[1]);
	}

	else
	{
		iTempid = cmd_target(id, szArg1, 2);
		
		if(!iTempid)
			return PLUGIN_HANDLED;
			
		if(bGlow2)
		{
			g_iGlowColors[iTempid][0] = iRed;
			g_iGlowColors[iTempid][1] = iGreen;
			g_iGlowColors[iTempid][2] = iBlueNum;
			g_iGlowColors[iTempid][3] = iAlpha;
			
			g_iFlags[iTempid] |= HASGLOW;
		}
		
		else
		{
			arrayset(g_iGlowColors[iTempid], 0, sizeof(g_iGlowColors[]));
			g_iFlags[iTempid] &= ~HASGLOW;
		}
		
		set_user_rendering(iTempid, kRenderFxGlowShell, iRed, iGreen, iBlueNum, kRenderTransAlpha, iAlpha);
		
		new szTargetName[35];
		get_user_name(iTempid, szTargetName, charsmax(szTargetName));
		
		if(bOff)
			show_activity_key("AMX_SUPER_GLOW_PLAYER_OFF_CASE1", "AMX_SUPER_GLOW_PLAYER_OFF_CASE2", szAdminName, szTargetName);
			
		else
			show_activity_key("AMX_SUPER_GLOW_PLAYER_CASE1", "AMX_SUPER_GLOW_PLAYER_CASE2", szAdminName, szTargetName);

		console_print(id, "%L", id, "AMX_SUPER_GLOW_TEAM_MSG", szTargetName);
		log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_TEAM_LOG", szAdminName, szAdminAuthid, szTargetName);
	}
	return PLUGIN_HANDLED;
}

/* 24)	amx_glowcolors
 *--------------------
*/
public Cmd_GlowColors(id, iLevel, iCid)
{
	if(!cmd_access(id, iLevel, iCid, 1))
		return PLUGIN_HANDLED;
	
	console_print(id, "Colors:");
	
	for(new i = 0; i < MAX_COLORS; i++)
		console_print(id, "%i %s", i + 1, g_szColorNames[i]);
	
	console_print(id, "Example: ^"amx_glow superman yellow^"");
	
	return PLUGIN_HANDLED;
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за оправяне на amx_disarm (Super Menu) да може да се disarm-ват и други играчи

Мнение от OciXCrom » 13 Сеп 2018, 20:15

Код за потвърждение: Избери целия код

/* * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 
 * AMX Super - Fun Commands
 * Developed/Maintained by SuperCentral.co Scripting Team
 * Last Update: Jan 17 2014
 * 
 * Minimum Requirements
 * AMX Mod X 1.8.0
 * AMX Super 5.0
 * 
 * Credits
 * If I forgot you, let me know what you did and I will add you
 * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 
 * AMX Mod X script.
 *
 *   AMX Super - Fun Commands (amx_super-fun.sma)
 *   Copyright (C) 2013-2014 SuperCentral.co
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation; either version 2
 *   of the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 *   In addition, as a special exception, the author gives permission to
 *   link the code of this program with the Half-Life Game Engine ("HL
 *   Engine") and Modified Game Libraries ("MODs") developed by Valve,
 *   L.L.C ("Valve"). You must obey the GNU General Public License in all
 *   respects for all of the code used other than the HL Engine and MODs
 *   from Valve. If you modify this file, you may extend this exception
 *   to your version of the file, but you are not obligated to do so. If
 *   you do not wish to do so, delete this exception statement from your
 *   version.
 * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Fun commands

/*
 *  Nr      COMMAND             CALLBACK FUNCTION           ADMIN LEVEL
 *  
 *  1)      amx_heal            Cmd_Heal                    ADMIN_LEVEL_A       
 *  2)      amx_armor           Cmd_Armor                   ADMIN_LEVEL_A
 *  3)      amx_teleport        Cmd_Teleport                ADMIN_LEVEL_A
 *  4)      amx_userorigin      Cmd_UserOrigin              ADMIN_LEVEL_A
 *  5)      amx_stack           Cmd_Stack                   ADMIN_LEVEL_A
 *  6)      amx_gravity         Cmd_Gravity                 ADMIN_LEVEL_A
 *  7)      amx_unammo          Cmd_UnAmmo                  ADMIN_LEVEL_A
 *  8)      amx_weapon(menu)    Cmd_Weapon(Menu)            ADMIN_LEVEL_C
 *  9)      amx_drug            Cmd_Drug                    ADMIN_LEVEL_C
 *  10)     amx_godmode         Cmd_Godmode                 ADMIN_LEVEL_C
 *  11)     amx_setmoney        Cmd_SetMoney                ADMIN_LEVEL_C
 *  12)     amx_noclip          Cmd_Noclip                  ADMIN_LEVEL_C
 *  13)     amx_speed           Cmd_Speed                   ADMIN_LEVEL_C
 *  14)     amx_revive          Cmd_Revive                  ADMIN_LEVEL_C
 *  15)     amx_bury            Cmd_Bury                    ADMIN_LEVEL_B   
 *  16)     amx_unbury          Cmd_Unbury                  ADMIN_LEVEL_B
 *  17)     amx_disarm          Cmd_Disarm                  ADMIN_LEVEL_B
 *  18)     amx_slay2           Cmd_Slay2                   ADMIN_LEVEL_B
 *  19)     amx_rocket          Cmd_Rocket                  ADMIN_LEVEL_B
 *  20)     amx_fire            Cmd_Fire                    ADMIN_LEVEL_B
 *  21)     amx_flash           Cmd_Flash                   ADMIN_LEVEL_B
 *  22)     amx_uberslap        Cmd_UberSlap                ADMIN_LEVEL_B
 *  23)     amx_glow(2)         Cmd_Glow                    ADMIN_LEVEL_D
 *  24)     amx_glowcolors      Cmd_GlowColors              ADMIN_LEVEL_D
*/ 


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define SetPlayerBit(%1,%2)      (%1 |= (1<<(%2&31)))
#define ClearPlayerBit(%1,%2)    (%1 &= ~(1 <<(%2&31)))
#define CheckPlayerBit(%1,%2)    (%1 & (1<<(%2&31))) 

// amx_disarm
#define OFFSET_PRIMARYWEAPON        116 

// amx_glow & amx_glow2
#define MAX_COLORS  30


//  Used for the show_activity() / log_amx messages.
enum CmdTeam
{
    ALL,
    T,
    CT
};

new const g_szTeamNames[CmdTeam][] = 
{ 
    "all",
    "Terrorist", 
    "Counter-Terrorist" 
};


// cvar pointers
new g_pGravity;
// new g_pMaxSpeed;
new g_pAllowCatchFire;
new g_pFlashSound;

// perm checks
enum (<<=1) 
{
    PERMGOD = 1,
    PERMSPEED,
    PERMDRUGS,
    PERMNOCLIP,
    HASSPEED,
    HASGLOW
};
new g_iFlags[33];


// amx_weaponmenu
new g_iTeamMenu, g_iPlayerMenu;

// amx_speed
new bool: g_bIsFreezeTime;

// amx_fire
new g_iOnFireBit;

// amx_userorigin
new g_iUserOrigin[33][3];

// amx_unammo
new g_iUnammoBit, Float: g_iReloadTime[33];

// amx_glow, amx_glow2, amx_glowcolors
new const g_iColorValues[MAX_COLORS][3] = 
{
    {255, 0, 0},
    {255, 190, 190},
    {165, 0, 0},
    {255, 100, 100},
    {0, 0, 255},
    {0, 0, 136},
    {95, 200, 255},
    {0, 150, 255},
    {0, 255, 0},
    {180, 255, 175},
    {0, 155, 0},
    {150, 63, 0},
    {205, 123, 64},
    {255, 255, 255},
    {255, 255, 0},
    {189, 182, 0},
    {255, 255, 109},
    {255, 150, 0},
    {255, 190, 90},
    {222, 110, 0},
    {243, 138, 255},
    {255, 0, 255},
    {150, 0, 150},
    {100, 0, 100},
    {200, 0, 0},
    {220, 220, 0},
    {192, 192, 192},
    {190, 100, 10},
    {114, 114, 114},
    {0, 0, 0}
};

new const g_szColorNames[MAX_COLORS][] = 
{
    "red",
    "pink",
    "darkred",
    "lightred",
    "blue",
    "darkblue",
    "lightblue",
    "aqua",
    "green",
    "lightgreen",
    "darkgreen",
    "brown",
    "lightbrown",
    "white",
    "yellow",
    "darkyellow",
    "lightyellow",
    "orange",
    "lightorange",
    "darkorange",
    "lightpurple",
    "purple",
    "darkpurple",
    "violet",
    "maroon",
    "gold",
    "silver",
    "bronze",
    "grey",
    "off"
};
new g_iGlowColors[33][4];

// sprites for effects
new g_iSmokeSpr, g_iWhiteSpr, g_iLightSpr, g_iBlueflare2Spr, g_iMflashSpr;

// message ids
new g_iMsgDamage, g_iMsgScreenFade, g_iMsgSetFOV;


public plugin_init()
{
    register_plugin("Amx Super Fun", "5.0.2", "SuperCentral.co");
    register_dictionary("amx_super.txt");
    
    register_concmd("amx_heal",         "Cmd_Heal",         ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <HP to give>");
    register_concmd("amx_armor",        "Cmd_Armor",        ADMIN_LEVEL_A, "<nick, #userid, authid or @team> <armor to give>");
    register_concmd("amx_teleport",     "Cmd_Teleport",     ADMIN_LEVEL_A, "<nick, #userid or authid> [x] [y] [z]");
    register_concmd("amx_userorigin",   "Cmd_UserOrigin",   ADMIN_LEVEL_A, "<nick, #userid or authid>");
    register_concmd("amx_stack",        "Cmd_Stack",        ADMIN_LEVEL_A, "<nick, #userid or authid> [0|1|2]");
    register_concmd("amx_gravity",      "Cmd_Gravity",      ADMIN_LEVEL_A, "<gravity #>");
    register_concmd("amx_unammo",       "Cmd_UnAmmo",       ADMIN_LEVEL_A, "<nick, #userid or @team> [0|1] - 0=OFF 1=ON");
    register_concmd("amx_weaponmenu",   "Cmd_WeaponMenu",   ADMIN_LEVEL_C, "shows the weapon menu");
    register_concmd("amx_weapon",       "Cmd_Weapon",       ADMIN_LEVEL_C, "<nick, #userid or @team> <weapon #>");
    register_concmd("amx_drug",         "Cmd_Drug",         ADMIN_LEVEL_C, "<@all, @team, nick, #userid, authid> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
    register_concmd("amx_godmode",      "Cmd_Godmode",      ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
    register_concmd("amx_setmoney",     "Cmd_SetMoney",     ADMIN_LEVEL_C, "<nick, #userid, authid or @team> <amount> - sets specified player's money");
    register_concmd("amx_money",        "Cmd_SetMoney",     ADMIN_LEVEL_C, "<nick, #userid, authid or @team> <amount> - sets specified player's money");
    register_concmd("amx_noclip",       "Cmd_Noclip",       ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
    register_concmd("amx_speed",        "Cmd_Speed",        ADMIN_LEVEL_C, "<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND");
    register_concmd("amx_revive",       "Cmd_Revive",       ADMIN_LEVEL_C, "<nick, #userid, authid or @team>");
    register_concmd("amx_bury",         "Cmd_Bury",         ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
    register_concmd("amx_unbury",       "Cmd_Unbury",       ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
    register_concmd("amx_disarm",       "Cmd_Disarm",       ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
    register_concmd("amx_slay2",        "Cmd_Slay2",        ADMIN_LEVEL_B, "<nick, #userid, authid or @team> [1-Lightning|2-Blood|3-Explode]");
    register_concmd("amx_rocket",       "Cmd_Rocket",       ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
    register_concmd("amx_fire",         "Cmd_Fire",         ADMIN_LEVEL_B, "<nick, #userid, authid or @team>");
    register_concmd("amx_flash",        "Cmd_Flash",        ADMIN_LEVEL_B, "<nick, #userid, authid or @team");
    register_concmd("amx_uberslap",     "Cmd_UberSlap",     ADMIN_LEVEL_B, "<nick, #userid or authid");
    register_concmd("amx_glow",         "Cmd_Glow",         ADMIN_LEVEL_D, "<nick, #userid, authid, or @team/@all> <color> (or) <rrr> <ggg> <bbb> <aaa> -- lasts 1 round");
    register_concmd("amx_glow2",        "Cmd_Glow",         ADMIN_LEVEL_D, "<nick, #userid, authid, or @team/@all> <color> (or) <rrr> <ggg> <bbb> <aaa> -- lasts forever");
    register_concmd("amx_glowcolors",   "Cmd_GlowColors",   ADMIN_LEVEL_D, "shows a list of colors for amx_glow and amx_glow2");
    
    // Register new cvars and get existing cvar pointers:
    g_pGravity          = get_cvar_pointer("sv_gravity");
    // g_pMaxSpeed      = get_cvar_pointer("sv_maxspeed");
    
    g_pAllowCatchFire   = register_cvar("allow_catchfire", "1");
    g_pFlashSound       = register_cvar("amx_flashsound","1");
    
    // amx_unammo
    register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
        
    // amx_weaponmenu
    g_iTeamMenu = menu_create("\rTeam?", "TeamHandler");
    menu_additem(g_iTeamMenu, "All", "1");
    menu_additem(g_iTeamMenu, "Counter-Terrorist", "2");
    menu_additem(g_iTeamMenu, "Terrorist", "3");
    menu_additem(g_iTeamMenu, "Player", "4");
    g_iPlayerMenu = menu_create("\rPlayers:", "PlayerHandler");
    
    // amx_drug
    g_iMsgSetFOV = get_user_msgid("SetFOV");
    
    // amx_speed
    RegisterHam(Ham_Item_PreFrame, "player", "FwdPlayerSpeedPost", 1);
    register_logevent("LogEventRoundStart", 2, "1=Round_Start");
    register_event("HLTV", "EventFreezeTime", "a");
    /*
        DREKES:
        set_pcvar_num() doesn't seem to take effect here.
        server_cmd() does.
    */
    // set_pcvar_num(g_pMaxSpeed, 9999999);
    server_cmd("sv_maxspeed 999999");
    
    // message ids
    g_iMsgDamage = get_user_msgid("Damage");
    g_iMsgScreenFade = get_user_msgid("ScreenFade");
    
    // Used by several commands
    RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawnPost", 1);
}

/* Precache
 *---------
*/
public plugin_precache()
{
    // amx_slay2 & amx_rocket sprites
    g_iSmokeSpr         = precache_model("sprites/steam1.spr");
    g_iWhiteSpr     = precache_model("sprites/white.spr");
    g_iLightSpr         = precache_model("sprites/lgtning.spr");
    g_iBlueflare2Spr    = precache_model( "sprites/blueflare2.spr");
    g_iMflashSpr        = precache_model("sprites/muzzleflash.spr");
    
    // amx_rocket sounds
    precache_sound("ambience/thunder_clap.wav");
    precache_sound("weapons/headshot2.wav");
    precache_sound("weapons/rocketfire1.wav");
    precache_sound("weapons/rocket1.wav");
    
    // amx_fire sounds
    precache_sound("ambience/flameburst1.wav");
    precache_sound("scientist/scream21.wav");
    precache_sound("scientist/scream07.wav");
}


public plugin_cfg()
{
    new szInfo[2];
    get_localinfo("amx_super_executed", szInfo, charsmax(szInfo));
    
    if(szInfo[0] != '1')
    {
        set_localinfo("amx_super_executed", "1");
        
        server_cmd("exec addons/amxmodx/configs/amx_super.cfg");
        server_exec();

        set_task(5.0, "TaskRemoveExecInfo");
    }
}


public TaskRemoveExecInfo()
    set_localinfo("amx_super_executed", "0");

/* Player Spawn
 *-------------
*/
public FwdPlayerSpawnPost(id)
{
    if(!is_user_alive(id))
        return HAM_IGNORED;
        
    if(g_iFlags[id] & PERMDRUGS)
        set_user_drugs(id, 1);
        
    if(g_iFlags[id] & PERMGOD)
        set_user_godmode(id, 1);
    
    if(g_iFlags[id] & PERMNOCLIP)
        set_user_noclip(id, 1);
        
    if(g_iFlags[id] & PERMSPEED)
        SetSpeed(id, 2);
    
    else if(g_iFlags[id] & HASSPEED)
    {
        g_iFlags[id] &= ~HASSPEED;
        SetSpeed(id, 0);
    }
    
    if(g_iFlags[id] & HASGLOW)
        set_user_rendering(id, kRenderFxGlowShell, g_iGlowColors[id][0], g_iGlowColors[id][1], g_iGlowColors[id][2], kRenderTransAlpha, g_iGlowColors[id][3]);  
    else
        set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0);
        
    return HAM_IGNORED;
}


/* Player Disconnects
 *-------------------
*/
public client_disconnect(id)
{
    if(CheckPlayerBit(g_iOnFireBit, id))
        ClearPlayerBit(g_iOnFireBit, id);
        
    g_iFlags[id] = 0;
}


/*  1)  amx_heal
 *--------------
*/
public Cmd_Heal(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 3))
        return PLUGIN_HANDLED;
    
    new szArg[35], szHealth[10];
    read_argv(1, szArg, charsmax(szArg));
    read_argv(2, szHealth, charsmax(szHealth));
    
    new iHealth = str_to_num(szHealth);
    
    new szAdminName[35], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid, szTargetName[35];
    
    if(iHealth <= 0)    
    {
        console_print(id, "%L", id, "AMX_SUPER_AMOUNT_GREATER");
        
        return PLUGIN_HANDLED;
    }
    
    if(szArg[0] == '@')
    {
        new iPlayers[32], iPlayersNum, CmdTeam: Team;
        
        switch(szArg[1])
        {
            case 'T', 't':
            {   
                get_players(iPlayers, iPlayersNum, "ae", "TERRORIST");
                
                Team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayersNum, "ae", "CT");
                
                Team = CT;
            }
            
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayersNum, "a");
                
                Team = ALL;
            }
        }
        
        if(!iPlayersNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }

        for(new i = 0; i < iPlayersNum; i++)
            set_user_health(iPlayers[i], iHealth);
        
        show_activity_key("AMX_SUPER_HEAL_TEAM_CASE1", "AMX_SUPER_HEAL_TEAM_CASE2", szAdminName, iHealth, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_TEAM_LOG", szAdminName, szAdminAuthid, iHealth, g_szTeamNames[Team]);
    }
    
    else
    {   
        iTempid = cmd_target(id, szArg, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            set_user_health(iTempid, iHealth);
            
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            show_activity_key("AMX_SUPER_HEAL_PLAYER_CASE1", "AMX_SUPER_HEAL_PLAYER_CASE2", szAdminName, iHealth, szTargetName);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_PLAYER_LOG", szAdminName, szAdminAuthid, iHealth, szTargetName, szTargetAuthid);
        }
    }

    return PLUGIN_HANDLED;
}


/* 2)   amx_armor
 *---------------
*/
public Cmd_Armor(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 3))
        return PLUGIN_HANDLED;
    
    new szArg[35], szArmor[10];
    read_argv(1, szArg, charsmax(szArg));
    read_argv(2, szArmor, charsmax(szArmor));
    
    new iArmor = str_to_num(szArmor);
    
    new szAdminName[35], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid, szTargetName[35];
    
    if(iArmor <= 0) 
    {
        console_print(id, "%L", id, "AMX_SUPER_AMOUNT_GREATER");
        
        return PLUGIN_HANDLED;
    }
    
    if(szArg[0] == '@')
    {
        new iPlayers[32], iPlayersNum, CmdTeam: Team;
        
        switch(szArg[1])
        {
            case 'T', 't':
            {   
                get_players(iPlayers, iPlayersNum, "ae", "TERRORIST");
                
                Team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayersNum, "ae", "CT");
                
                Team = CT;
            }
            
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayersNum, "a");
                
                Team = ALL;
            }
        }
        
        if(!iPlayersNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }

        for(new i = 0; i < iPlayersNum; i++)
            cs_set_user_armor(iPlayers[i], iArmor, CS_ARMOR_VESTHELM);
        
        show_activity_key("AMX_SUPER_ARMOR_TEAM_CASE1", "AMX_SUPER_ARMOR_TEAM_CASE2", szAdminName, iArmor, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_TEAM_LOG", szAdminName, szAdminAuthid, iArmor, g_szTeamNames[Team]);
    }
    
    else
    {   
        iTempid = cmd_target(id, szArg, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            cs_set_user_armor(iTempid, iArmor, CS_ARMOR_VESTHELM);
            
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            show_activity_key("AMX_SUPER_ARMOR_PLAYER_CASE1", "AMX_SUPER_ARMOR_PLAYER_CASE2", szAdminName, iArmor, szTargetName);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_PLAYER_LOG", szAdminName, szAdminAuthid, iArmor, szTargetName, szTargetAuthid);
        }
    }

    return PLUGIN_HANDLED;
}


/* 3)   amx_teleport
 *------------------
*/
public Cmd_Teleport(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 5))
        return PLUGIN_HANDLED;
    
    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
    
    if(iTempid)
    {
        new szOrigin1[5], szOrigin2[5], szOrigin3[5];
        read_argv(2, szOrigin1, charsmax(szOrigin1));
        read_argv(3, szOrigin2, charsmax(szOrigin2));
        read_argv(4, szOrigin3, charsmax(szOrigin3));
        
        new Float: flOrigin[3];
        flOrigin[0] = str_to_float(szOrigin1);
        flOrigin[1] = str_to_float(szOrigin2);
        flOrigin[2] = str_to_float(szOrigin3);
        
        engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
        
        new szAdminName[35], szAdminAuthid[35];
        get_user_name(id, szAdminName, charsmax(szAdminName));
        get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
        
        new szTargetName[35], szTargetAuthid[35];
        get_user_name(iTempid, szTargetName, charsmax(szTargetName));
        get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
        
        show_activity_key("AMX_SUPER_TELEPORT_PLAYER_CASE1", "AMX_SUPER_TELEPORT_PLAYER_CASE2", szAdminName, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_TELEPORT_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, floatround(flOrigin[0]), floatround(flOrigin[1]), floatround(flOrigin[2]));
    }
    
    return PLUGIN_HANDLED;
}

/* 4)   amx_userorigin
 *--------------------
*/
public Cmd_UserOrigin(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2)) 
        return PLUGIN_HANDLED;

    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));

    new iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
    
    if(iTempid)
    {
        new szTargetName[35];
        get_user_origin(iTempid, g_iUserOrigin[id]);
        get_user_name(iTempid, szTargetName, charsmax(szTargetName));

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_ORIGIN_SAVED", g_iUserOrigin[id][0], g_iUserOrigin[id][1], g_iUserOrigin[id][2], szTargetName);
    }
    
    return PLUGIN_HANDLED;
}

/* 5)   amx_stack
 *---------------
*/
public Cmd_Stack(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;

    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));

    new iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
    
    if(iTempid)
    {   
        new szType[5];
        read_argv(2, szType, charsmax(szType));
        
        new Float: flOrigin[3];
        pev(iTempid, pev_origin, flOrigin);

        new iYAxis = 36, iZAxis = 96;
        switch(str_to_num(szType))
        {
            case 0: iYAxis = 0;
            case 1: iZAxis = 0;
        }
    
        new iPlayers[32], iPlayerNum, iPlayer;
        get_players(iPlayers, iPlayerNum, "a");
        
        for(new i = 0; i < iPlayerNum ; i++)
        {
            iPlayer = iPlayers[i];
            
            if((iPlayer == id) || (get_user_flags(iPlayer) & ADMIN_IMMUNITY) && iPlayer != id) 
                continue;
                
            flOrigin[1] += iYAxis;
            flOrigin[2] += iZAxis;
            set_pev(iPlayer, pev_origin, flOrigin);
        }

        new szAdminName[35], szAdminAuthid[35];
        get_user_name(id, szAdminName, charsmax(szAdminName));
        get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
        
        new szTargetName[35], szTargetAuthid[35];
        get_user_name(iTempid, szTargetName, charsmax(szTargetName));
        get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));

        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_STACK_PLAYER_MSG", szTargetName);
        
        show_activity_key("AMX_SUPER_STACK_PLAYER_CASE1", "AMX_SUPER_STACK_PLAYER_CASE2", szAdminName, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_STACK_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
    }

    return PLUGIN_HANDLED;
}

/*  6)  amx_gravity
 *-----------------
*/
public Cmd_Gravity(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))    
        return PLUGIN_HANDLED;
    
    if(read_argc() < 2)
    {
        console_print(id, "%L", id, "AMX_SUPER_GRAVITY_STATUS", get_pcvar_num(g_pGravity));
        
        return PLUGIN_HANDLED;
    }
    
    new szArg[5];
    read_argv(1, szArg, charsmax(szArg));
    set_pcvar_num(g_pGravity, str_to_num(szArg));
    
    new szAdminName[35], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    console_print(id, "%L", id, "AMX_SUPER_GRAVITY_MSG", szArg);
    
    show_activity_key("AMX_SUPER_GRAVITY_SET_CASE1", "AMX_SUPER_GRAVITY_SET_CASE2", szAdminName, szArg);
    log_amx("%L", LANG_SERVER, "AMX_SUPER_GRAVITY_LOG", szAdminName, szAdminAuthid, szArg);
    
    return PLUGIN_HANDLED;
}

/* 7)   amx_unammo
 *----------------
*/
public Cmd_UnAmmo(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szArg1[35], szArg2[5];
    read_argv(1, szArg1, charsmax(szArg1));
    read_argv(2, szArg2, charsmax(szArg2));
    
    new iSetting = str_to_num(szArg2);
    
    new szAdminName[35], szAdminAuthid[35];
    new szTargetName[35];
    
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid;
    if(szArg1[0] == '@')
    {
        new CmdTeam: Team, iPlayers[32], iPlayerNum;
        
        switch(szArg1[1])
        {
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                Team = T;
            }
            
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                Team = ALL;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                Team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                console_print(id, "%L", "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            if(iSetting)
                SetPlayerBit(g_iUnammoBit, iTempid);
            
            else
                ClearPlayerBit(g_iUnammoBit, iTempid);
        }
        
        console_print(id, "%L", id, "AMX_SUPER_AMMO_TEAM_MSG", g_szTeamNames[Team], iSetting);
        
        show_activity_key("AMX_SUPER_AMMO_CASE1", "AMX_SUPER_AMMO_CASE2", szAdminName, g_szTeamNames[Team], iSetting);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team], iSetting);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {   
            if(iSetting)
                SetPlayerBit(g_iUnammoBit, iTempid);
            
            else
                ClearPlayerBit(g_iUnammoBit, iTempid);
                
            new szTargetAuthid[35];
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            
            console_print(id, "%L", id, "AMX_SUPER_AMMO_PLAYER_MSG", szTargetName, iSetting);
            
            show_activity_key("AMX_SUPER_AMMO_PLAYER_CASE1", "AMX_SUPER_AMMO_PLAYER_CASE2", szAdminName, szTargetName, iSetting);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, iSetting);
        }
    }
    
    return PLUGIN_HANDLED;
}

public Event_CurWeapon(id)
{
    if(CheckPlayerBit(g_iUnammoBit, id))
    {
        new iWeaponid = read_data(2);
        new iClip = read_data(3);
    
        if(iWeaponid == CSW_C4 
        || iWeaponid == CSW_KNIFE
        || iWeaponid == CSW_HEGRENADE
        || iWeaponid == CSW_SMOKEGRENADE
        || iWeaponid == CSW_FLASHBANG) {
            return PLUGIN_CONTINUE;
        }
        
        if(!iClip)
        {
            new iSystime = get_systime();
            
            if(g_iReloadTime[id] >= iSystime - 1)
                return PLUGIN_CONTINUE;
            
            new szWeaponName[20];
            get_weaponname(iWeaponid, szWeaponName, charsmax(szWeaponName));
            
            new EntId = -1;
            while((EntId = engfunc(EngFunc_FindEntityByString, EntId, "classname", szWeaponName)) != 0)
            {   
                if(pev_valid(EntId) && pev(EntId, pev_owner) == id)
                {
                    cs_set_weapon_ammo(EntId, getMaxClipAmmo(iWeaponid));
                    
                    break;
                }
            }
        }
    }
    
    return PLUGIN_CONTINUE;
}

getMaxClipAmmo(iWeaponid)
{
    new iClip = -1;
    
    switch(iWeaponid)
    {
        case CSW_P228: iClip = 13;
        case CSW_SCOUT, CSW_AWP: iClip = 10;
        case CSW_HEGRENADE, CSW_C4, CSW_SMOKEGRENADE, CSW_FLASHBANG, CSW_KNIFE: iClip = 0;
        case CSW_XM1014, CSW_DEAGLE: iClip = 7;
        case CSW_MAC10, CSW_AUG, CSW_SG550, CSW_MP5NAVY, CSW_M4A1, CSW_SG552, CSW_AK47: iClip = 30;
        case CSW_ELITE: iClip = 15;
        case CSW_FIVESEVEN, CSW_GLOCK18, CSW_G3SG1: iClip = 20;
        case CSW_UMP45, CSW_FAMAS: iClip = 25;
        case CSW_GALI: iClip = 35;
        case CSW_USP: iClip = 12;
        case CSW_M249: iClip = 100;
        case CSW_M3: iClip = 8;
        case CSW_P90: iClip = 50;
    }
    
    return iClip;
}       

/* 8a)  amx_weapon
 *----------------
*/
enum
{
    WEAPON_USP,
    WEAPON_GLOCK18,
    WEAPON_DEAGLE,
    WEAPON_P228,
    WEAPON_ELITE,
    WEAPON_FIVESEVEN,
    WEAPON_M3,
    WEAPON_XM1014,
    WEAPON_TMP,
    WEAPON_MAC10,
    WEAPON_MP5NAVY,
    WEAPON_P90,
    WEAPON_UMP45,
    WEAPON_FAMAS,
    WEAPON_GALIL,
    WEAPON_AK47,
    WEAPON_M4A1,
    WEAPON_SG552,
    WEAPON_AUG,
    WEAPON_SCOUT,
    WEAPON_SG550,
    WEAPON_AWP,
    WEAPON_G3SG1,
    WEAPON_M249,
    WEAPON_HEGRENADE,
    WEAPON_SMOKEGRENADE,
    WEAPON_FLASHBANG,
    WEAPON_SHIELD,
    WEAPON_C4,
    WEAPON_KNIFE,
    ITEM_KEVLAR,
    ITEM_ASSAULTSUIT,
    ITEM_THIGHPACK
};

new bpammo[] =  // 0 denotes a blank weapon id
{
    0,
    52,
    0,
    90,
    1,
    32,
    1,
    100,
    90,
    1,
    120,
    100,
    100,
    90,
    90,
    90,
    100,
    120,
    30,
    120,
    200,
    32,
    90,
    120,
    90,
    2,
    35,
    90,
    90,
    0,
    100
};
    
    

new g_szWeapons[33][] =
{
    "weapon_usp",
    "weapon_glock18",
    "weapon_deagle",
    "weapon_p228",
    "weapon_elite",
    "weapon_fiveseven",
    "weapon_m3",
    "weapon_xm1014",
    "weapon_tmp",
    "weapon_mac10",
    "weapon_mp5navy",
    "weapon_p90",
    "weapon_ump45",
    "weapon_famas",
    "weapon_galil",
    "weapon_ak47",
    "weapon_m4a1",
    "weapon_sg552",
    "weapon_aug",
    "weapon_scout",
    "weapon_sg550",
    "weapon_awp",
    "weapon_g3sg1",
    "weapon_m249",
    "weapon_hegrenade",
    "weapon_smokegrenade",
    "weapon_flashbang",
    "weapon_shield",
    "weapon_c4",
    "weapon_knife",
    "item_kevlar",
    "item_assaultsuit",
    "item_thighpack"
};

new g_szWeaponNames[][] = 
{
    "All Weapons",
    "Knife",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "Glock",
    "USP",
    "P228",
    "Deagle",
    "Fiveseven",
    "Dual Elites",
    "",
    "",
    "",
    "",
    "M3",
    "XM1014",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "TMP",
    "MAC10",
    "MP5 Navy",
    "P90",
    "UMP45",
    "",
    "",
    "",
    "",
    "Famas",
    "Galil",
    "AK47",
    "M4A1",
    "SG552",
    "AUG",
    "Scout",
    "SG550",
    "Awp",
    "G3SG1",
    "",
    "M249",
    "Kevlar and Helmit", //82
    "HE Grenade",
    "Flashbang",
    "Smoke Grenade",
    "Defuse Kit",
    "Shield",
    "",
    "",
    "",
    "C4",
    "Night Vision"
};

public Cmd_Weapon(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 3))
        return PLUGIN_HANDLED;
    
    new szAdminName[32];
    get_user_name(id, szAdminName, 31);
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    new szArg1[32];
    read_argv(1, szArg1, 31);
    
    new szArg2[24];
    read_argv(2, szArg2, 23);
    
    new iWeapon = str_to_num(szArg2);
    
    if(szArg1[0] == '@')
    {   
        new iPlayers[32], iPlayerNum, CmdTeam: Team;
        
        
        switch(szArg1[1])
        {
            case 't', 'T':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i; i < iPlayerNum; i++)
            give_weapon(iPlayers[i], iWeapon);
                    
        show_activity_key("AMX_SUPER_WEAPON_TEAM_CASE1", "AMX_SUPER_WEAPON_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_WEAPON_TEAM_MSG", iWeapon, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_TEAM_LOG", szAdminName, szAdminAuthid, iWeapon, g_szTeamNames[Team]);
    }
    
    else
    {
        new iPlayer = cmd_target(id, szArg1, 7);
        if(!iPlayer)
            return PLUGIN_HANDLED;
            
        give_weapon(iPlayer, iWeapon);
        
        new szTargetName[32];
        get_user_name(iPlayer, szTargetName, 31);
        
        new szTargetAuthid[36];
        get_user_authid(iPlayer, szTargetAuthid, 35);
        
        show_activity_key("AMX_SUPER_WEAPON_PLAYER_CASE1", "AMXX_SUPER_WEAPON_PLAYER_CASE2", szAdminName, szTargetName);

        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_PLAYER_MSG", iWeapon, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_PLAYER_LOG", szAdminName, szAdminAuthid, iWeapon, szTargetName, szTargetAuthid);
    }
    
    return PLUGIN_HANDLED;
}

/* 8b)  amx_weaponmenu
 *--------------------
*/
enum 
{ 
    All,
    Ct,
    Terro,
    Player
};

new gTeamChoice[33]
    , gPlayerName[33][34]
    , gPlayerId[33]
;

public Cmd_WeaponMenu(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED;

    menu_display(id, g_iTeamMenu);
    return PLUGIN_HANDLED;
}

public CmdCallbackMenu(id)
    menu_display(id, g_iTeamMenu);

public TeamHandler(id, iMenu, iItem)
{
    if(iItem == MENU_EXIT)
        return PLUGIN_HANDLED;

    switch(iItem)
    {
        case 0:
            gTeamChoice[id] = All;
        
        case 1:
            gTeamChoice[id] = Ct;
        
        case 2:
            gTeamChoice[id]  = Terro;
        
        case 3:
            gTeamChoice[id] = Player;
    }
    
    if(gTeamChoice[id] != Player)
        WeaponMenu(id);
        
    else
        PlayerMenu(id);
    
    return PLUGIN_HANDLED;
}

public PlayerMenu(id)
{
    new szName[34], szId[6];
    new iPlayers[32], iPlayerNum, iTempid;
    get_players(iPlayers, iPlayerNum, "a");
    for(new i; i < iPlayerNum; i++)
    {
        iTempid = iPlayers[i];
        
        get_user_name(iTempid, szName, 33);
        num_to_str(iTempid, szId, 5);
            
        menu_additem(g_iPlayerMenu, szName, szId);
    }
    
    menu_display(id, g_iPlayerMenu);
}

public PlayerHandler(id, iMenu, iItem)
{
    if(iItem == MENU_EXIT)
    {
        CmdCallbackMenu(id);
        return PLUGIN_HANDLED;
    }
    
    new szInfo[6];
    new iAccess, iCallback;
    menu_item_getinfo(iMenu, iItem, iAccess, szInfo, 5, gPlayerName[id], 33, iCallback);
    
    gPlayerId[id] = str_to_num(szInfo);
    
    WeaponMenu(id);
    return PLUGIN_HANDLED;
}
    
public WeaponMenu(id)
{
    new szTitle[64], iMenu;
    
    switch(gTeamChoice[id])
    {   
        case All: 
            formatex(szTitle, charsmax(szTitle), "\rTeam: All Weapon ?");
        
        case Ct:
            formatex(szTitle, charsmax(szTitle), "\rTeam: CT Weapon ?");
        
        case Terro:
            formatex(szTitle, charsmax(szTitle), "\rTeam: T Weapon ?");
            
        case Player:
            formatex(szTitle, charsmax(szTitle), "\rPlayer: %s Weapon?", gPlayerName[id]);
    }
    
    iMenu = menu_create(szTitle, "WeaponHandler");
    
    new szInfo[6];
    for(new i; i < sizeof(g_szWeaponNames); i++)
    {
        if(strlen(g_szWeaponNames[i]))
        {
            num_to_str(i, szInfo, 5);
        
            menu_additem(iMenu, g_szWeaponNames[i], szInfo);
        }
    }
    
    menu_display(id, iMenu);
}

public WeaponHandler(id, iMenu, iItem)
{
    if(iItem == MENU_EXIT)
    {
        CmdCallbackMenu(id);
        return PLUGIN_HANDLED;
    }
    
    new szName[32], szInfo[6];
    new iAccess, iCallback;
    menu_item_getinfo(iMenu, iItem, iAccess, szInfo, 5, szName, 31, iCallback);
    
    new iChoice = str_to_num(szInfo);
    
    if(gTeamChoice[id] == Player)
    {
        switch(iChoice)
        {
            case 1..51:
                give_weapon(gPlayerId[id], iChoice);
            
            case 52..62:
                give_weapon(gPlayerId[id], (iChoice+30));
            
            default:
                give_weapon(gPlayerId[id], 200);
        }
    }
    
    else
    {
        new iPlayers[32], iPlayerNum;

        switch(gTeamChoice[id])
        {
            case All:
                get_players(iPlayers, iPlayerNum, "a");
            
            case Terro:
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
            
            case Ct:
                get_players(iPlayers, iPlayerNum, "ae", "CT");
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            switch(iChoice)
            {
                case 1..51:
                    give_weapon(iPlayers[i], iChoice);
                
                case 52..62:
                    give_weapon(iPlayers[i], (iChoice + 30));
                
                default: 
                    give_weapon(iPlayers[i], 200);
            }
        }
    }
    
    menu_destroy(iMenu);
    return PLUGIN_HANDLED;
}

give_weapon(id,iWeapon)
{
    switch (iWeapon)
    {
        //Secondary g_szWeapons
        //Pistols
        case 1:
        {
            give_item(id,g_szWeapons[WEAPON_KNIFE]);
        }
        
        case 11:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
        }
        
        case 12:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_USP]);
        }
        
        case 13:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_P228]);
        }
        
        case 14:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
        }
        
        case 15:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
        }
        
        case 16:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_ELITE]);
        }
        
        case 17:
        {
            //all pistols
            give_weapon(id,11);
            give_weapon(id,12);
            give_weapon(id,13);
            give_weapon(id,14);
            give_weapon(id,15);
            give_weapon(id,16);
        }
        
        //Primary g_szWeapons
        //Shotguns
        case 21:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_M3]);
        }
        
        case 22:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_XM1014]);
        }
        
        //SMGs
        case 31:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_TMP]);
        }
        
        case 32:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_MAC10]);
        }
        
        case 33:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_MP5NAVY]);
        }
        
        case 34:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_P90]);
        }
        
        case 35:
        { 
            give_weapon_x(id, g_szWeapons[WEAPON_UMP45]);
        }
        
        //Rifles 
        case 40:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_FAMAS]);
        }
        
        case 41:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_GALIL]);
        }
        
        case 42:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_AK47]);
        }
        
        case 43:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_M4A1]);
        }
        
        case 44:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_SG552]);
        }
        
        case 45:
        {
            give_weapon_x(id,g_szWeapons[WEAPON_AUG]);
        }
        
        case 46:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_SCOUT]);
        }
        
        case 47:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_SG550]);
        }
        
        case 48:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
        }
        
        case 49:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_G3SG1]);
        }
        
        //Machine gun (M249 Para)
        case 51:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_M249]);
        }
        
        //Shield combos
        case 60:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
            give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        case 61:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
            give_weapon_x(id, g_szWeapons[WEAPON_USP]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        case 62:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
            give_weapon_x(id, g_szWeapons[WEAPON_P228]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        case 63:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
            give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        case 64:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
            give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        //Equipment 
        case 81:
        {
            give_item(id, g_szWeapons[ITEM_KEVLAR]);
        }
        
        case 82:
        {
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        case 83:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
        }
        
        case 84:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
        }
        
        case 85:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
        }
        
        case 86:
        {
            give_item(id, g_szWeapons[ITEM_THIGHPACK]);
        }
        
        case 87:
        {
            give_item(id, g_szWeapons[WEAPON_SHIELD]);
        }
        
        //All ammo
        case 88:
        {
            new iWeapons[32], WeaponNum;

            get_user_weapons(id, iWeapons, WeaponNum);
            for(new i; i < WeaponNum; i++) 
                cs_set_user_bpammo(id, iWeapons[i], bpammo[iWeapons[i]]);

        }
        
        //All grenades
        case 89:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
        }
        
        //C4
        case 91:
        {
            give_item(id, g_szWeapons[WEAPON_C4]);
            cs_set_user_plant(id, 1, 1);
        }
        
        case 92:
        {
            cs_set_user_nvg(id, 1);
        }
        
        //AWP Combo.
        case 100:
        {
            give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
            give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
            give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
            give_item(id, g_szWeapons[ITEM_ASSAULTSUIT]);
        }
        
        //Money case.
        case 160:
        {
            cs_set_user_money(id, 16000, 1);
        }
        
        //AllWeapons
        case 200:
        {
            //all up to wpnindex 51 are given.. replace w loop
            give_weapon_x(id, g_szWeapons[WEAPON_USP]);
            give_weapon_x(id, g_szWeapons[WEAPON_GLOCK18]);
            give_weapon_x(id, g_szWeapons[WEAPON_DEAGLE]);
            give_weapon_x(id, g_szWeapons[WEAPON_P228]);
            give_weapon_x(id, g_szWeapons[WEAPON_ELITE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FIVESEVEN]);
            give_weapon_x(id, g_szWeapons[WEAPON_M3]);
            give_weapon_x(id, g_szWeapons[WEAPON_XM1014]);
            give_weapon_x(id, g_szWeapons[WEAPON_TMP]);
            give_weapon_x(id, g_szWeapons[WEAPON_MAC10]);
            give_weapon_x(id, g_szWeapons[WEAPON_MP5NAVY]);
            give_weapon_x(id, g_szWeapons[WEAPON_P90]);
            give_weapon_x(id, g_szWeapons[WEAPON_UMP45]);
            give_weapon_x(id, g_szWeapons[WEAPON_FAMAS]);
            give_weapon_x(id, g_szWeapons[WEAPON_GALIL]);
            give_weapon_x(id, g_szWeapons[WEAPON_AK47]);
            give_weapon_x(id, g_szWeapons[WEAPON_M4A1]);
            give_weapon_x(id, g_szWeapons[WEAPON_SG552]);
            give_weapon_x(id, g_szWeapons[WEAPON_AUG]);
            give_weapon_x(id, g_szWeapons[WEAPON_SCOUT]);
            give_weapon_x(id, g_szWeapons[WEAPON_SG550]);
            give_weapon_x(id, g_szWeapons[WEAPON_AWP]);
            give_weapon_x(id, g_szWeapons[WEAPON_G3SG1]);
            give_weapon_x(id, g_szWeapons[WEAPON_M249]);
            give_weapon_x(id, g_szWeapons[WEAPON_HEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_SMOKEGRENADE]);
            give_weapon_x(id, g_szWeapons[WEAPON_FLASHBANG]);
        }
        
        default: return false;
    }
    
    return true;
}

stock give_weapon_x(id, const szWeapon[])
{
    give_item(id, szWeapon);
    
    new iWeaponid = get_weaponid(szWeapon);
    
    if(iWeaponid)
        cs_set_user_bpammo(id, iWeaponid, bpammo[iWeaponid]);
}


/* 9)   amx_drug
 *--------------
*/
public Cmd_Drug(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
    
    new szArg1[24];
    read_argv(1, szArg1, 23);
    
    new szLength[6];
    read_argv(2, szLength, 2);
    
    new szAdminName[32], szAdminAuthid[32];
    get_user_name( id, szAdminName, 31 );
    get_user_authid( id, szAdminAuthid, 31 );
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, iPlayer, CmdTeam: Team;

        switch(szArg1[1])
        {
            case 't', 'T':  
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iPlayer = iPlayers[i];
            
            if((get_user_flags(iPlayer) & ADMIN_IMMUNITY) && iPlayer != id)
            {
                get_user_name(iPlayer, szArg1, charsmax(szArg1));
                console_print(id, "%L", "AMX_SUPER_TEAM_IMMUNITY", szArg1);
                
                continue;
            }
            
            set_user_drugs(iPlayers[i], str_to_num(szLength));
        }
        


        show_activity_key("AMX_SUPER_DRUG_TEAM_CASE1", "AMX_SUPER_DRUG_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);

        console_print( id, "%L", id, "AMX_SUPER_DRUG_TEAM_MSG", g_szTeamNames[Team]);
        log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team]);
    }
    
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(!iPlayer)
            return PLUGIN_HANDLED;

        set_user_drugs(iPlayer, str_to_num(szLength));
        
        new szTargetName[32], szTargetAuthid[32];
        get_user_name( iPlayer, szTargetName, 31 );
        get_user_authid( iPlayer, szTargetAuthid, 31 );

        show_activity_key("AMX_SUPER_DRUG_PLAYER_CASE1", "AMX_SUPER_DRUG_PLAYER_CASE2", szAdminName, szTargetName);

        console_print( id, "%L", id, "AMX_SUPER_DRUG_PLAYER_MSG", szTargetName );
        log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid );
    }
    
    return PLUGIN_HANDLED;
}

set_user_drugs(id, x)
{
    switch(x)
    {
        case 1,2:
        {
            message_begin(MSG_ONE, g_iMsgSetFOV, _, id);
            write_byte(180);
            message_end();
            
            if (x == 2)
                g_iFlags[id] |= PERMDRUGS;
        }

        default:
        {
            message_begin(MSG_ONE, g_iMsgSetFOV, _, id);
            write_byte(90);
            message_end();
            
            g_iFlags[id] &= ~PERMDRUGS;
        }
    }
}

/*  10)     amx_godmode
 *---------------------
*/
public Cmd_Godmode(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
    
    new szAdminName[32];
    get_user_name(id, szAdminName, 31);
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    new szArg1[24];
    read_argv(1, szArg1, 23);
    
    new szLength[6];
    read_argv(2, szLength, 2);
    
    new iGodmodeFlags = str_to_num(szLength);
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, iTempid, CmdTeam: Team;
        
        switch(szArg1[1])
        {
            case 't', 'T':  
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if(!iGodmodeFlags)
                g_iFlags[iTempid] &= ~PERMGOD;
                
            else if(iGodmodeFlags == 2)
                g_iFlags[iTempid] |= PERMGOD;
                
            set_user_godmode(iTempid, !!iGodmodeFlags);
            
        }

        show_activity_key("AMX_SUPER_GODMODE_TEAM_CASE1", "AMX_SUPER_GODMODE_TEAM_CASE2", szAdminName, iGodmodeFlags, g_szTeamNames[Team]);

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_TEAM_MSG", iGodmodeFlags, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_TEAM_LOG", szAdminName, szAdminAuthid, iGodmodeFlags, g_szTeamNames[Team]);
    }
    
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(!iPlayer)
            return PLUGIN_HANDLED;

        new szTargetName[32], szTargetAuthid[35];
        get_user_name(iPlayer, szTargetName, 31);
        get_user_authid(iPlayer, szTargetAuthid, charsmax(szTargetAuthid));
        
        set_user_godmode(iPlayer, !!iGodmodeFlags);
        
        if(!iGodmodeFlags)
            g_iFlags[iPlayer] &= ~PERMGOD;
            
        else if (iGodmodeFlags == 2)
            g_iFlags[iPlayer] |= PERMGOD;

        show_activity_key("AMX_SUPER_GODMODE_PLAYER_CASE1", "AMX_SUPER_GODMODE_PLAYER_CASE2", szAdminName, iGodmodeFlags, szTargetName);

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_PLAYER_MSG", iGodmodeFlags, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_PLAYER_LOG", szAdminName, szAdminAuthid, iGodmodeFlags, szTargetName, szTargetAuthid);
    }
    
    return PLUGIN_HANDLED;
}

/* 11)  amx_setmoney
 *-------------------
*/

// TODO: UPDATE ALL NON-EN ML STRINGS
public Cmd_SetMoney(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 3))
        return PLUGIN_HANDLED;
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    new szAdminName[32];
    get_user_name(id, szAdminName, 31);
    
    new szArg1[32];
    read_argv(1, szArg1, 31);
    
    new szArg2[32];
    read_argv(2, szArg2, 31);
    
    new iMoney = str_to_num(szArg2);
    if(iMoney > 16000)
        iMoney = 16000;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, CmdTeam: Team;
        
        switch(szArg1[1])
        {
            case 't', 'T':  
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i = 0; i < iPlayerNum; i++)             
            cs_set_user_money(iPlayers[i], iMoney);
    
        show_activity_key("AMX_SUPER_GIVEMONEY_TEAM_CASE1", "AMX_SUPER_GIVEMONEY_TEAM_CASE2", szAdminName, g_szTeamNames[Team], iMoney);
        
        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_TEAM_MSG", g_szTeamNames[Team], iMoney);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team], iMoney);
    }
    
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
        if(!iPlayer)
            return PLUGIN_HANDLED;
        
        cs_set_user_money(iPlayer, iMoney);
        
        new szTargetName[32];
        get_user_name(iPlayer, szTargetName, 31);
        
        new szTargetAuthid[36];
        get_user_authid(iPlayer, szTargetAuthid, 35);
        
        show_activity_key("AMX_SUPER_GIVEMONEY_PLAYER_CASE1", "AMX_SUPER_GIVEMONEY_PLAYER_CASE2", szAdminName, szTargetName, iMoney);
        
        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_PLAYER_MSG", szTargetName, iMoney);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid, iMoney);
    }
    
    return PLUGIN_HANDLED;
}

/* 12)  amx_noclip
 *----------------
*/
public Cmd_Noclip(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szAdminName[32];
    get_user_name(id, szAdminName, 31);
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    new szArg1[24];
    read_argv(1, szArg1, 23);
    
    new szLength[6];
    read_argv(2, szLength, 2);
    
    new iSetting = str_to_num(szLength);
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, iTempid, CmdTeam: Team;
    
        switch(szArg1[1])
        {
            case 't', 'T':  
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
                        
            if(!iSetting)
                g_iFlags[iTempid] &= ~PERMNOCLIP;
                
            else if (iSetting == 2)
                g_iFlags[iTempid] |= PERMNOCLIP;
                
            set_user_noclip(iTempid, !!iSetting);

        }
                
        show_activity_key("AMX_SUPER_NOCLIP_TEAM_CASE1", "AMX_SUPER_NOCLIP_TEAM_CASE2", szAdminName, iSetting, g_szTeamNames[Team]);
        
        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_TEAM_MSG", iSetting, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_TEAM_LOG", szAdminName, szAdminAuthid, iSetting, g_szTeamNames[Team]);
    }
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        if(!iPlayer)
            return PLUGIN_HANDLED;

        new szTargetName[32];
        get_user_name(iPlayer, szTargetName, 31);
        
        new szTargetAuthid[36];
        get_user_authid(iPlayer, szTargetAuthid, 35);

        set_user_noclip(iPlayer, !!iSetting);
        
        if(!iSetting)
            g_iFlags[iPlayer] &= ~PERMNOCLIP;
            
        else if (iSetting == 2)
            g_iFlags[iPlayer] |= PERMNOCLIP;

        
        show_activity_key("AMX_SUPER_NOCLIP_PLAYER_CASE1", "AMX_SUPER_NOCLIP_PLAYER_CASE2", szAdminName, iSetting, szTargetName);

        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_PLAYER_MSG",iSetting, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_PLAYER_LOG", szAdminName, szAdminAuthid, iSetting, szTargetName, szTargetAuthid);
    }
    
    return PLUGIN_HANDLED;
}

/* 13)  amx_speed
 *---------------
*/
public LogEventRoundStart()
    g_bIsFreezeTime = false;

public EventFreezeTime()
    g_bIsFreezeTime = true;
    
public FwdPlayerSpeedPost(id)
{
    if(!g_bIsFreezeTime && (g_iFlags[id] & HASSPEED) || (g_iFlags[id] & PERMSPEED))
        SetSpeed(id, 1);
}
        
public Cmd_Speed(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
    
    new szAdminName[32];
    get_user_name(id, szAdminName, 31);
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    new szArg1[24];
    read_argv(1, szArg1, 23);
    
    new szLength[6];
    read_argv(2, szLength, 2);
    
    new iSpeedFlag = str_to_num(szLength);
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, CmdTeam: Team;
        
        switch(szArg1[1])
        {
            case 't', 'T':  
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                Team = T;
            }
            
            case 'c', 'C':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                Team = CT;
            }
            
            case 'a', 'A':
            {
                get_players(iPlayers, iPlayerNum, "a");
                Team = ALL;
            }
        }
        
        for(new i = 0; i < iPlayerNum; i++)
            SetSpeed(iPlayers[i], iSpeedFlag);
        
        show_activity_key("AMX_SUPER_SPEED_TEAM_CASE1", "AMX_SUPER_SPEED_TEAM_CASE2", szAdminName, iSpeedFlag, g_szTeamNames[Team]);

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_TEAM_MSG", iSpeedFlag, g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_SPEED_TEAM_LOG", szAdminName, szAdminAuthid, iSpeedFlag, g_szTeamNames[Team]);
    }
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        if(!iPlayer)
            return PLUGIN_HANDLED;
            
        new szTargetName[32];
        get_user_name(iPlayer, szTargetName, 31);
        
        SetSpeed(iPlayer, iSpeedFlag);

        show_activity_key("AMX_SUPER_SPEED_PLAYER_CASE1", "AMX_SUPER_SPEED_PLAYER_CASE2", szAdminName, iSpeedFlag, szTargetName);

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_PLAYER_MSG", iSpeedFlag, szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_SPEED_PLAYER_LOG", szAdminName, szAdminAuthid, iSpeedFlag, szTargetName);
    }
    
    return PLUGIN_HANDLED;
}

SetSpeed(id, iSetting)
{
    if(!iSetting)
    {
        // Provided by ConnorMcLeod from cs_reset_user_maxspeed function in some of his plugns
        new Float:flMaxSpeed;
        
        switch ( get_user_weapon(id) )
        {
            case CSW_SG550, CSW_AWP, CSW_G3SG1 : flMaxSpeed = 210.0;
            case CSW_M249 : flMaxSpeed = 220.0;
            case CSW_AK47 : flMaxSpeed = 221.0;
            case CSW_M3, CSW_M4A1 : flMaxSpeed = 230.0;
            case CSW_SG552 : flMaxSpeed = 235.0;
            case CSW_XM1014, CSW_AUG, CSW_GALIL, CSW_FAMAS : flMaxSpeed = 240.0;
            case CSW_P90 : flMaxSpeed = 245.0;
            case CSW_SCOUT : flMaxSpeed = 260.0;
            default : flMaxSpeed = 250.0;
        }
        set_user_maxspeed(id, flMaxSpeed);
        
        g_iFlags[id] &= ~HASSPEED;
        g_iFlags[id] &= ~PERMSPEED;
    }
    
    else
    {
        new iFlag = iSetting == 2 ? PERMSPEED : HASSPEED;
        g_iFlags[id] |= iFlag;
            
        set_user_maxspeed(id, (get_user_maxspeed(id) * 2.0));
    }
}

/* 14)  amx_revive
 *----------------
*/
public Cmd_Revive(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
    
    new szArg1[24];
    read_argv(1, szArg1, 23);
    
    new szAdminName[34];
    get_user_name(id, szAdminName, 33);
    
    new szAdminAuthid[36];
    get_user_authid(id, szAdminAuthid, 35);
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, iPlayer, CmdTeam: Team;
        get_players(iPlayers, iPlayerNum);

        switch(szArg1[1])
        {
            case 't', 'T': Team = T;
            case 'c', 'C': Team = CT;
            case 'a', 'A': Team = ALL;
        }       
        
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iPlayer = iPlayers[i];
            
            switch(Team)
            {
                case T:
                {
                    if(cs_get_user_team(iPlayer) == CS_TEAM_T)
                        ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
                }
                
                case CT:
                {
                    if(cs_get_user_team(iPlayer) == CS_TEAM_CT)
                        ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
                }
                
                case ALL:
                {
                    if(CS_TEAM_UNASSIGNED < cs_get_user_team(iPlayer) < CS_TEAM_SPECTATOR)
                        ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
                }
            }
        }
        
        show_activity_key("AMX_SUPER_REVIVE_TEAM_CASE1", "AMX_SUPER_REVIVE_TEAM_CASE2", szAdminName, g_szTeamNames[Team]);
    
        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_MSG", g_szTeamNames[Team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[Team]);
    }
    else
    {
        new iPlayer = cmd_target(id, szArg1, CMDTARGET_ALLOW_SELF);
        if(!iPlayer || !(CS_TEAM_UNASSIGNED < cs_get_user_team(iPlayer) < CS_TEAM_SPECTATOR))
            return PLUGIN_HANDLED;

        ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
        
        new szTargetName[34];
        get_user_name(iPlayer, szTargetName, 33);
        
        new szTargetAuthid[36];
        get_user_authid(iPlayer, szTargetAuthid, 35);
        
        show_activity_key("AMX_SUPER_REVIVE_PLAYER_CASE1", "AMX_SUPER_REVIVE_PLAYER_CASE2", szAdminName, szTargetName);
        
        console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_MSG", szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_PLAYER_LOG",szAdminName, szTargetAuthid, szTargetName, szTargetAuthid);
    }
    
    return PLUGIN_HANDLED;
}

/* 15)  amx_bury
 *--------------
*/
public Cmd_Bury(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
    
    new szArg1[32];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szTargetName[32];
    
    new szAdminName[32];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    
    new szAdminAuthid[25];
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
        
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
                
            BuryPlayer(iTempid);
        }
        
        show_activity_key("AMX_SUPER_BURY_TEAM_CASE1", "AMX_SUPER_BURY_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        
        log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            BuryPlayer(iTempid);
            
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            
            new szTargetAuthid[25];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            
            log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            show_activity_key("AMX_SUPER_BURY_PLAYER_CASE1", "AMX_SUPER_BURY_PLAYER_CASE2", szAdminName, szTargetName);

            console_print(id, "%L", id, "AMX_SUPER_BURY_MSG", szTargetName);
        }
    }
    
    return PLUGIN_HANDLED;
}

BuryPlayer(iTempid)
{
    new szVictimName[32];
    get_user_name(iTempid, szVictimName, charsmax(szVictimName));
    
    new iWeapons[32], iWeapon;
    get_user_weapons(iTempid, iWeapons, iWeapon);
    
    new szWeaponName[32];
    for(new i = 0; i < iWeapon; i++)
    {
        get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
        engclient_cmd(iTempid, "drop", szWeaponName);
    }
    
    engclient_cmd(iTempid, "weapon_knife");
    
    new Float: flOrigin[3];
    pev(iTempid, pev_origin, flOrigin);
    
    flOrigin[2] -= 30.0;
    engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
}

/*  16)     amx_unbury
 *--------------------
*/
public Cmd_Unbury(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szArg1[32];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szTargetName[32];
    
    new szAdminName[32];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    
    new szAdminAuthid[25];
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
        
    new iTempid;
    
    if(szArg1[0] == '@')
    {   
        new iPlayers[32], iPlayerNum, CmdTeam: team;
    
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {           
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            UnburyPlayer(iTempid);
        }
            
        show_activity_key("AMX_SUPER_UNBURY_TEAM_CASE1", "AMX_SUPER_UNBURY_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            UnburyPlayer(iTempid);
            
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            
            
            new szTargetAuthid[25];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));

            log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            show_activity_key("AMX_SUPER_UNBURY_PLAYER_CASE1", "AMX_SUPER_UNBURY_PLAYER_CASE2", szAdminName, szTargetName);
            
            console_print(id, "%L", id, "AMX_SUPER_UNBURY_MSG", szTargetName);
            
        }
    }

    return PLUGIN_HANDLED;
}

UnburyPlayer(iTempid)
{
    new szVictimName[32];
    get_user_name(iTempid, szVictimName, charsmax(szVictimName));
    
    new Float: flOrigin[3];
    pev(iTempid, pev_origin, flOrigin);
    
    flOrigin[2] += 35.0;
    engfunc(EngFunc_SetOrigin, iTempid, flOrigin);
}

/* 17)  amx_disarm
 *----------------
*/
public Cmd_Disarm(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED;

    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szAdminName[35], szTargetName[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    
    new szAdminAuthid[35];
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            strip_user_weapons(iTempid);
            set_pdata_int(iTempid, OFFSET_PRIMARYWEAPON, 0);        // Bugfix.
            give_item(iTempid, "weapon_knife");
        }
            
        show_activity_key("AMX_SUPER_DISARM_TEAM_CASE1", "AMX_SUPER_DISARM_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            strip_user_weapons(iTempid);
            set_pdata_int(iTempid, OFFSET_PRIMARYWEAPON, 0);
            give_item(iTempid, "weapon_knife");
            
            new szTargetAuthid[25];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));

            log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            show_activity_key("AMX_SUPER_DISARM_PLAYER_CASE1", "AMX_SUPER_DISARM_PLAYER_CASE2", szAdminName, szTargetName);

            console_print(id, "%L", id, "AMX_SUPER_DISARM_MSG", szTargetName);
        }
    }
    
    return PLUGIN_HANDLED;
}

/* 18)  amx_slay2
 *---------------
*/
public Cmd_Slay2(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szArg1[35], szSetting[2];
    
    new szAdminName[35], szTargetName[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    
    new szAdminAuthid[35];
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid, CmdTeam: team;
    
    read_argv(1, szArg1, charsmax(szArg1));
    read_argv(2, szSetting, charsmax(szSetting));
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && iTempid != id)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            slay_player(iTempid, str_to_num(szSetting));
        }
            
        show_activity_key("AMX_SUPER_SLAY2_TEAM_CASE1", "AMX_SUPER_SLAY2_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            slay_player(iTempid, str_to_num(szSetting));
            
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            
            new szTargetAuthid[25];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            
            log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            show_activity_key("AMX_SUPER_SLAY2_PLAYER_CASE1", "AMX_SUPER_SLAY2_PLAYER_CASE2", szAdminName, szTargetName);
            
            console_print(id, "%L", id, "AMX_SUPER_SLAY2_PLAYER_MSG", szTargetName);
        }
    }
    
    return PLUGIN_HANDLED;
}

slay_player(iVictim,type)
{
    new iOrigin[3];
    get_user_origin(iVictim, iOrigin);

    iOrigin[2] -= 26;

    switch(type)
    {
        case 1:
        {
            new iSourceOrigin[3];
            iSourceOrigin[0] = iOrigin[0] + 150;
            iSourceOrigin[1] = iOrigin[1] + 150;
            iSourceOrigin[2] = iOrigin[2] + 400;
            lightning(iSourceOrigin, iOrigin);
            
            emit_sound(iVictim,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
        }
        
        case 2:
        {
            blood(iOrigin);
            emit_sound(iVictim,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
        }
        case 3: 
            explode(iOrigin);
    }
    
    user_kill(iVictim, 1);
}

explode(iOrigin[3]) 
{
    //Blast Circles
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
    write_byte(21);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2] + 16);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2] + 1936);
    write_short(g_iWhiteSpr);
    write_byte(0); // startframe
    write_byte(0); // framerate
    write_byte(2); // life
    write_byte(16); // width
    write_byte(0); // noise
    write_byte(188); // r
    write_byte(220); // g
    write_byte(255); // b
    write_byte(255); //brightness
    write_byte(0); // speed
    message_end();

    //Explosion2
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(12);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2]);
    write_byte(188); // byte (scale in 0.1's)
    write_byte(10); // byte (framerate)
    message_end();

    //Smoke
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
    write_byte(5);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2]);
    write_short(g_iSmokeSpr);
    write_byte(2);
    write_byte(10);
    message_end();
}

blood(iOrigin[3]) 
{
    //LAVASPLASH
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(10);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2]);
    message_end();
}

lightning (iOrigin[3],iOrigin2[3]) 
{
    //Lightning
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(0);
    write_coord(iOrigin[0]);
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2]);
    write_coord(iOrigin2[0]);
    write_coord(iOrigin2[1]);
    write_coord(iOrigin2[2]);
    write_short(g_iLightSpr);
    write_byte(1); // framestart
    write_byte(5); // framerate
    write_byte(2); // life
    write_byte(20); // width
    write_byte(30); // noise
    write_byte(200); // r, g, b
    write_byte(200); // r, g, b
    write_byte(200); // r, g, b
    write_byte(200); // brightness
    write_byte(200); // speed
    message_end();

    //Sparks
    message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin2);
    write_byte(9);
    write_coord(iOrigin2[0]);
    write_coord(iOrigin2[1]);
    write_coord(iOrigin2[2]);
    message_end();

    //Smoke
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin2);
    write_byte(5);
    write_coord(iOrigin2[0]);
    write_coord(iOrigin2[1]);
    write_coord(iOrigin2[2]);
    write_short(g_iSmokeSpr);
    write_byte(10);
    write_byte(10);
    message_end();
}

/* 19)  amx_rocket
 *----------------
*/
new g_iRocketZAxis[33];

public Cmd_Rocket(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED;
        
    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szAdminName[35], szTargetName[35], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum, CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
            {   
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            emit_sound(iTempid, CHAN_WEAPON , "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
            set_user_maxspeed(iTempid,0.01);
            
            set_task(1.2, "Task_Rocket_LiftOff" , iTempid);
        }
        
        console_print(id, "%L", id, "AMX_SUPER_ROCKET_TEAM_MSG", g_szTeamNames[team]);
        
        show_activity_key("AMX_SUPER_ROCKET_TEAM_CASE1", "AMX_SUPER_ROCKET_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            emit_sound(iTempid, CHAN_WEAPON, "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
            set_user_maxspeed(iTempid, 0.01);
            
            set_task(1.2, "Task_Rocket_LiftOff", iTempid);
            
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                        
            show_activity_key("AMX_SUPER_ROCKET_PLAYER_CASE1", "AMX_SUPER_ROCKET_PLAYER_CASE2", szAdminName, szTargetName);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            
            console_print(id, "%L", id, "AMX_SUPER_ROCKET_PLAYER_MSG", szTargetName);
        }
    }
    
    return PLUGIN_HANDLED;
}
        
public Task_Rocket_LiftOff(iVictim)
{
    if(!is_user_alive(iVictim))
        return;
        
    set_user_gravity(iVictim, -0.50);
    client_cmd(iVictim, "+jump;wait;wait;-jump");
    emit_sound(iVictim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM);
    
    rocket_effects(iVictim);
}

public rocket_effects(iVictim)
{
    if(!is_user_alive(iVictim)) 
        return;

    new iOrigin[3];
    get_user_origin(iVictim,iOrigin);

    message_begin(MSG_ONE, g_iMsgDamage, {0,0,0}, iVictim);
    write_byte(30); // dmg_save
    write_byte(30); // dmg_take
    write_long(1<<16); // visibleDamageBits
    write_coord(iOrigin[0]); // damageOrigin.x
    write_coord(iOrigin[1]); // damageOrigin.y
    write_coord(iOrigin[2]); // damageOrigin.z
    message_end();

    if(g_iRocketZAxis[iVictim] == iOrigin[2]) 
        rocket_explode(iVictim);

    g_iRocketZAxis[iVictim] = iOrigin[2];

    //Draw Trail and effects

    //TE_SPRITETRAIL - line of moving glow sprites with gravity, fadeout, and collisions
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(15);
    write_coord(iOrigin[0]); // coord, coord, coord (start)
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2]);
    write_coord(iOrigin[0]); // coord, coord, coord (end)
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2] - 30);
    write_short(g_iBlueflare2Spr); // short (sprite index)
    write_byte(5); // byte (count)
    write_byte(1); // byte (life in 0.1's)
    write_byte(1);  // byte (scale in 0.1's)
    write_byte(10); // byte (velocity along vector in 10's)
    write_byte(5);  // byte (randomness of velocity in 10's)
    message_end();

    //TE_SPRITE - additive sprite, plays 1 cycle
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
    write_byte(17);
    write_coord(iOrigin[0]);  // coord, coord, coord (position)
    write_coord(iOrigin[1]);
    write_coord(iOrigin[2] - 30);
    write_short(g_iMflashSpr); // short (sprite index)
    write_byte(15); // byte (scale in 0.1's)
    write_byte(255); // byte (brightness)
    message_end();

    set_task(0.2, "rocket_effects", iVictim);
}

public rocket_explode(iVictim)
{
    if(is_user_alive(iVictim)) 
    {
        new iOrigin[3];
        get_user_origin(iVictim, iOrigin);

        // blast circles
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
        write_byte(21);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2] - 10);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2] + 1910);
        write_short(g_iWhiteSpr);
        write_byte(0); // startframe
        write_byte(0); // framerate
        write_byte(2); // life
        write_byte(16); // width
        write_byte(0); // noise
        write_byte(188); // r
        write_byte(220); // g
        write_byte(255); // b
        write_byte(255); //brightness
        write_byte(0); // speed
        message_end();

        //Explosion2
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
        write_byte(12);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2]);
        write_byte(188); // byte (scale in 0.1's)
        write_byte(10); // byte (framerate)
        message_end();

        //smoke
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
        write_byte(5);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2]);
        write_short(g_iSmokeSpr);
        write_byte(2);
        write_byte(10);
        message_end();

        user_kill(iVictim, 1);
    }

    //stop_sound
    emit_sound(iVictim, CHAN_VOICE, "weapons/rocket1.wav", 0.0, 0.0, (1<<5), PITCH_NORM);

    set_user_maxspeed(iVictim, 1.0);
    set_user_gravity(iVictim, 1.00);
}

/* 20)  amx_fire
 *--------------
*/
public Cmd_Fire(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED;
        
    new szAdminName[35], szAdminAuthid[35], szTargetName[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum;
        new CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
        
            SetPlayerBit(g_iOnFireBit, iTempid);
            
            ignite_effects(iTempid);
            ignite_player(iTempid);
        }
        
        show_activity_key("AMX_SUPER_FIRE_TEAM_CASE1", "AMX_SUPER_FIRE_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            SetPlayerBit(g_iOnFireBit, iTempid);
            
            ignite_effects(iTempid);
            ignite_player(iTempid);
        
            show_activity_key("AMX_SUPER_FIRE_PLAYER_CASE1", "AMX_SUPER_FIRE_PLAYER_CASE2", szAdminName, szTargetName);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            
            console_print(id, "%L", id, "AMX_SUPER_FIRE_PLAYER_MSG", szTargetName);
        }
    }
    
    return PLUGIN_HANDLED;
}
    
public ignite_effects(id)  
{
    if(is_user_alive(id) && CheckPlayerBit(g_iOnFireBit, id))
    {
        new iOrigin[3];
        get_user_origin(id, iOrigin);
        
        //TE_SPRITE - additive sprite, plays 1 cycle
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
        write_byte(17);
        write_coord(iOrigin[0]);  // coord, coord, coord (position)
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2]);
        write_short(g_iMflashSpr); // short (sprite index)
        write_byte(20); // byte (scale in 0.1's)
        write_byte(200); // byte (brightness)
        message_end();
        
        //Smoke
        message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
        write_byte(5);
        write_coord(iOrigin[0]);// coord coord coord (position)
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2]);
        write_short(g_iSmokeSpr);// short (sprite index)
        write_byte(20); // byte (scale in 0.1's)
        write_byte(15); // byte (framerate)
        message_end();
        
        set_task(0.2, "ignite_effects", id);
    }
    
    else    
    {
        if(CheckPlayerBit(g_iOnFireBit, id))
        {
            emit_sound(id, CHAN_AUTO, "scientist/scream21.wav", 0.6, ATTN_NORM, 0, PITCH_HIGH);
            ClearPlayerBit(g_iOnFireBit, id);
        }
    }
}

public ignite_player(id)   
{
    if(is_user_alive(id) && CheckPlayerBit(g_iOnFireBit, id)) 
    {
        new iIdOrigin[3];
                
        new iHealth = get_user_health(id);
        get_user_origin(id, iIdOrigin);
        
        //create some damage
        set_user_health(id, iHealth - 10);
        
        message_begin(MSG_ONE, g_iMsgDamage, _, id);
        write_byte(30); // dmg_save
        write_byte(30); // dmg_take
        write_long(1<<21); // visibleDamageBits
        write_coord(iIdOrigin[0]); // damageOrigin.x
        write_coord(iIdOrigin[1]); // damageOrigin.y
        write_coord(iIdOrigin[2]); // damageOrigin.z
        message_end();
        
        //create some sound
        emit_sound(id, CHAN_ITEM, "ambience/flameburst1.wav", 0.6, ATTN_NORM, 0, PITCH_NORM);
        
        //Ignite Others 
        if(get_pcvar_num(g_pAllowCatchFire)) 
        {       
            new iTempOriginOrigin[3];
            
            new iPlayers[32], iPlayerNum, iTempid;
            get_players(iPlayers, iPlayerNum, "a");
            
            new szVictimName[32], szIgniterName[32]; 
            
            for(new i = 0; i < iPlayerNum; ++i) 
            {                   
                iTempid = iPlayers[i];
                
                get_user_origin(iTempid, iTempOriginOrigin);
                
                if(get_distance(iIdOrigin, iTempOriginOrigin) < 100)
                { 
                    if(!CheckPlayerBit(g_iOnFireBit, iTempid)) 
                    { 
                        get_user_name(iTempid, szVictimName, charsmax(szVictimName));
                        get_user_name(id, szIgniterName, charsmax(szIgniterName)); 
                        
                        emit_sound(iTempid, CHAN_WEAPON, "scientist/scream07.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH); 
                        client_print(0, print_chat, "* [AMX] OH! NO! %s has caught %s on fire!", szIgniterName, szVictimName);
                        
                        SetPlayerBit(g_iOnFireBit, iTempid);
                        
                        ignite_player(iTempid);
                        ignite_effects(iTempid);
                    }                
                } 
            }           
        } 
        
        //Call Again in 2 seconds       
        set_task(2.0, "ignite_player", id);       
    }    
} 

/* 21)  amx_flash
 *---------------
*/
public Cmd_Flash(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szArg1[35], szTargetName[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szAdminName[35], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum;
        new CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
            {
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            Flash_Player(iTempid);
        }
        
        console_print(id, "%L", id, "AMX_SUPER_FLASH_TEAM_MSG", g_szTeamNames[team]);
        
        show_activity_key("AMX_SUPER_FLASH_TEAM_CASE1", "AMX_FLASH_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            Flash_Player(iTempid);
            
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            console_print(id, "%L", id, "AMX_SUPER_FLASH_PLAYER_MSG", szTargetName);
            
            show_activity_key("AMX_SUPER_FLASH_PLAYER_CASE1", "AMX_SUPER_FLASH_PLAYER_CASE2", szAdminName, szTargetName);
            
            log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
        }
    }
    
    return PLUGIN_HANDLED;
}

Flash_Player(id)
{
    message_begin(MSG_ONE, g_iMsgScreenFade, {0,0,0}, id);
    write_short(1<<15);
    write_short(1<<10);
    write_short(1<<12);
    write_byte(255);
    write_byte(255);
    write_byte(255);
    write_byte(255);
    message_end();

    if(get_pcvar_num(g_pFlashSound))
        emit_sound(id, CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH);
}

/* 22)  amx_uberslap
 *------------------
*/
public Cmd_UberSlap(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 2))
        return PLUGIN_HANDLED;
        
    new szArg1[35];
    read_argv(1, szArg1, charsmax(szArg1));
    
    new szTargetName[35], szAdminName[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
            
    new szAdminAuthid[35];
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));
    new iTempid;
    
    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum;
        new CmdTeam: team;
        
        switch(szArg1[1])
        {
            case 'A', 'a':
            {
                get_players(iPlayers, iPlayerNum, "a");
                
                team = ALL;
            }
            
            case 'T', 't':
            {
                get_players(iPlayers, iPlayerNum, "ae", "TERRORIST");
                
                team = T;
            }
            
            case 'C', 'c':
            {
                get_players(iPlayers, iPlayerNum, "ae", "CT");
                
                team = CT;
            }
        }
        
        if(!iPlayerNum)
        {
            console_print(id, "%L", id, "AMX_SUPER_NO_PLAYERS");
            
            return PLUGIN_HANDLED;
        }
        
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if((get_user_flags(iTempid) & ADMIN_IMMUNITY) && id != iTempid)
            {   
                get_user_name(iTempid, szTargetName, charsmax(szTargetName));
                
                console_print(id, "%L", id, "AMX_SUPER_TEAM_IMMUNITY", szTargetName);
                
                continue;
            }
            
            set_task(0.1, "Slap_Player", iTempid, _, _, "a", 100);
        }
        
        show_activity_key("AMX_SUPER_UBERSLAP_TEAM_CASE1", "AMX_SUPER_UBERSLAP_TEAM_CASE2", szAdminName, g_szTeamNames[team]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_UBERSLAP_TEAM_LOG", szAdminName, szAdminAuthid, g_szTeamNames[team]);
    }
    
    else
    {
        iTempid = cmd_target(id, szArg1, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE);
        
        if(iTempid)
        {
            get_user_name(iTempid, szTargetName, charsmax(szTargetName));
            
            new szTargetAuthid[35];
            get_user_authid(iTempid, szTargetAuthid, charsmax(szTargetAuthid));
                    
            set_task(0.1, "Slap_Player", iTempid, _, _, "a", 100);
            
            show_activity_key("AMX_SUPER_UBERSLAP_PLAYER_CASE1", "AMX_SUPER_UBERSLAP_PLAYER_CASE2", szAdminName, szTargetName);
            log_amx("%L", LANG_SERVER, "AMX_SUPER_UBERSLAP_PLAYER_LOG", szAdminName, szAdminAuthid, szTargetName, szTargetAuthid);
            
            console_print(id, "%L", id, "AMX_SUPER_UBERSLAP_PLAYER_MSG", szTargetName);
        }
    }

    return PLUGIN_HANDLED;
}

public Slap_Player(id)
{
    if(get_user_health(id) > 1)
        user_slap(id, 1);
    
    else
        user_slap(id, 0);
}

/* 23)  amx_glow(2)
 *-----------------
*/
public Cmd_Glow(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 3))
        return PLUGIN_HANDLED;
        
    new szArg0[20], szArg1[35], szColor[20], szGreen[3], szBlue[3], szAlpha[3];
    read_argv(0, szArg0, charsmax(szArg0));             
    read_argv(1, szArg1, charsmax(szArg1));     
    read_argv(2, szColor, charsmax(szColor));       
    read_argv(3, szGreen, charsmax(szGreen));
    read_argv(4, szBlue, charsmax(szBlue));
    read_argv(5, szAlpha, charsmax(szAlpha));
    
    new iRed, iGreen, iBlueNum, iAlpha;
    
    new bool: bOff;
    new bool: bGlow2;
    
    if(szArg0[8] == '2')
        bGlow2 = true;
        
    else 
        bGlow2 = false;
        
    if(!strlen(szGreen))
    {
        new bool: bIsValidColor = false;
        
        for(new i = 0; i < MAX_COLORS; i++)
        {
            if(equali(szColor, g_szColorNames[i]))
            {   
                iRed = g_iColorValues[i][0];
                iGreen = g_iColorValues[i][1];
                iBlueNum = g_iColorValues[i][2];
                iAlpha = 255;
                
                if(equali(szColor, "off"))
                    bOff = true;
                
                else 
                    bOff = false;
                    
                bIsValidColor = true;
                
                break;
            }
        }
        
        if(!bIsValidColor)
        { 
            console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GLOW_INVALID_COLOR");
            
            return PLUGIN_HANDLED;
        }
    }
    
    else
    {
        iRed = str_to_num(szColor);
        iGreen = str_to_num(szGreen);
        iBlueNum = str_to_num(szBlue);
        iAlpha = str_to_num(szAlpha);
        
        clamp(iRed, 0, 255);
        clamp(iGreen, 0, 255);
        clamp(iBlueNum, 0, 255);
        clamp(iAlpha, 0, 255);
    }
    
    new iTempid;
    new szAdminName[34], szAdminAuthid[35];
    get_user_name(id, szAdminName, charsmax(szAdminName));
    get_user_authid(id, szAdminAuthid, charsmax(szAdminAuthid));

    if(szArg1[0] == '@')
    {
        new iPlayers[32], iPlayerNum;
        
        if(equali(szArg1[1], "T"))
            copy(szArg1[1], charsmax(szArg1), "TERRORIST");
        
        if(equali(szArg1[1], "ALL"))
            get_players(iPlayers, iPlayerNum, "a");
        
        else
            get_players(iPlayers, iPlayerNum, "ae", szArg1[1]);
            
        for(new i = 0; i < iPlayerNum; i++)
        {
            iTempid = iPlayers[i];
            
            if(bGlow2)
            {
                g_iGlowColors[iTempid][0] = iRed;
                g_iGlowColors[iTempid][1] = iGreen;
                g_iGlowColors[iTempid][2] = iBlueNum;
                g_iGlowColors[iTempid][3] = iAlpha;
                
                g_iFlags[iTempid] |= HASGLOW;
                
            }
            
            else
            {
                arrayset(g_iGlowColors[iTempid], 0, 4);
                g_iFlags[iTempid] &= ~HASGLOW;
            }
            
            set_user_rendering(iTempid, kRenderFxGlowShell, iRed, iGreen, iBlueNum, kRenderTransAlpha, iAlpha);
        }
        
        if(bOff)
            show_activity_key("AMX_SUPER_GLOW_TEAM_OFF_CASE1", "AMX_SUPER_GLOW_TEAM_OFF_CASE2", szAdminName, szArg1[1]);
        
        else
            show_activity_key("AMX_SUPER_GLOW_TEAM_CASE1", "AMX_SUPER_GLOW_TEAM_CASE2", szAdminName, szArg1[1]);
        
        console_print(id, "%L", id, "AMX_SUPER_GLOW_TEAM_MSG", szArg1[1]);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_TEAM_LOG", szAdminName, szAdminAuthid, szArg1[1]);
    }

    else
    {
        iTempid = cmd_target(id, szArg1, 2);
        
        if(!iTempid)
            return PLUGIN_HANDLED;
            
        if(bGlow2)
        {
            g_iGlowColors[iTempid][0] = iRed;
            g_iGlowColors[iTempid][1] = iGreen;
            g_iGlowColors[iTempid][2] = iBlueNum;
            g_iGlowColors[iTempid][3] = iAlpha;
            
            g_iFlags[iTempid] |= HASGLOW;
        }
        
        else
        {
            arrayset(g_iGlowColors[iTempid], 0, sizeof(g_iGlowColors[]));
            g_iFlags[iTempid] &= ~HASGLOW;
        }
        
        set_user_rendering(iTempid, kRenderFxGlowShell, iRed, iGreen, iBlueNum, kRenderTransAlpha, iAlpha);
        
        new szTargetName[35];
        get_user_name(iTempid, szTargetName, charsmax(szTargetName));
        
        if(bOff)
            show_activity_key("AMX_SUPER_GLOW_PLAYER_OFF_CASE1", "AMX_SUPER_GLOW_PLAYER_OFF_CASE2", szAdminName, szTargetName);
            
        else
            show_activity_key("AMX_SUPER_GLOW_PLAYER_CASE1", "AMX_SUPER_GLOW_PLAYER_CASE2", szAdminName, szTargetName);

        console_print(id, "%L", id, "AMX_SUPER_GLOW_TEAM_MSG", szTargetName);
        log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_TEAM_LOG", szAdminName, szAdminAuthid, szTargetName);
    }
    return PLUGIN_HANDLED;
}

/* 24)  amx_glowcolors
 *--------------------
*/
public Cmd_GlowColors(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED;
    
    console_print(id, "Colors:");
    
    for(new i = 0; i < MAX_COLORS; i++)
        console_print(id, "%i %s", i + 1, g_szColorNames[i]);
    
    console_print(id, "Example: ^"amx_glow superman yellow^"");
    
    return PLUGIN_HANDLED;
}

Аватар
illusion
Извън линия
Developer
Developer
Мнения: 1810
Регистриран на: 27 Ное 2016, 17:47
Местоположение: CraftVision
Се отблагодари: 151 пъти
Получена благодарност: 370 пъти
Обратна връзка:

Заявка за оправяне на amx_disarm (Super Menu) да може да се disarm-ват и други играчи

Мнение от illusion » 13 Сеп 2018, 20:34

Вече си измислих друго решение - махнах amx_disarm от този плъгин и отделно сложих друг плъгин за това. Мерси все пак, може да заключвате.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за оправяне на amx_disarm (Super Menu) да може да се disarm-ват и други играчи

Мнение от OciXCrom » 13 Сеп 2018, 20:45

Това не е кой знае какво решение. Имаше грешка в кода и я оправих.

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 24 госта