Page 1 of 1

Problema amx_super

Posted: 24 Aug 2010, 18:35
by maddo_xxx
Salut! Am pe server amx_super si advanced_gag si se ciocneste gagul de la amx_super cu cel nou .Cu as putea sa il dezactivez pe cel din amx_super??? (advanced_gag l-am luat de aici de la voi).

Re: Problema amx_super

Posted: 24 Aug 2010, 19:15
by Bananee.
Posteaza sma aici !

Re: Problema amx_super

Posted: 24 Aug 2010, 20:06
by maddo_xxx

Re: Problema amx_super

Posted: 24 Aug 2010, 20:17
by Bananee.
/********************************************************************************
* AMX Mod X script.
*
* AMX Super (amx_super.sma)
* Copyright (C) 2006-2009 Bmann_420
*
* 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.
*
*********************************************************************************
*
* AMXX Super All-In-One Commands v4.2
* Last Update: 1/26/2009
* Plugin Count: 46
*
* by Bmann_420
* Link: http://forums.alliedmods.net/forumdisplay.php?f=111
*
*
*********************************************************************************
*
* +| Plugins |+
* -) ADMIN HEAL v0.9.3 by f117bomb, revised by JTP10181 -- Gives health to players.
* -) ADMIN ARMOR v1.0 by JTP10181 -- Gives armor to players.
* -) ADMIN REVIVE II v0.1 by SniperBeamer, revised by Bo0m! -- Revives dead players.
* -) ADMIN NOCLIP v1.0 by Bo0m! -- Gives players noclip.
* -) ADMIN GODMODE v1.0 by Bo0m! -- Give players godmode.
* -) ADMIN TELEPORT v0.9.3 by f117bomb, revised by JTP10181-- Teleport to a certain spot x y z
* -) ADMIN STACK v0.9.3 by f117bomb -- Stacks all players on someone's head.
* -) ADMIN ALLTALK v1.0 by BigBaller -- Sets alltalk.
* -) ADMIN GRAVITY v0.2 by JustinHoMi -- Sets gravity.
* -) ADMIN BURY v0.9.3 by f117bomb, revised by Bo0m! -- Buries players in the ground.
* -) ADMIN DISARM v1.1 by mike_cao, revised by Bo0m! -- Strips players of their weapons.
* -) ADMIN UBER SLAP v0.9.3 by BarMan (Skullz.NET) -- Slaps players through the air until they have 1 health (and probably die from a fall).
* -) ADMIN SLAY 2 v0.9.3 by f117bomb, revised by JTP10181 -- Like slay, only with special effects!
* -) ADMIN ROCKET v1.3 by f117bomb, revised by JTP10181 -- Turns players into rockets!
* -) ADMIN MONEY v1.0 by XxAvalanchexX with additions from Bo0m! -- Gives (or takes) money from players.
* -) ADMIN FIRE v1.0.0 by f117bomb -- Sets players on fire!
* -) ADMIN WEAPON III Build 6.7 by SniperBeamer\Girthesniper\Meatwad, revised by Bo0m!, menu by Sid 6.7-- Gives players weapons.
* -) ADMIN EXEC 2 v0.3 by v3x -- Executes commands on players.
* -) ADMIN STATUS by Zor -- Shows detailed player information in a MOTD window.
* -) ADMIN SERVER PASSWORD v1.0 by Sparky911 -- Sets a server password.
* -) ADMIN QUIT v1.0 by Bo0m! -- Forces players to close their game.
* -) ADMIN GAG v1.8.3 by EKS -- Gags players from speaking or using the voicecomm.
* -) ADMIN FLASH v1.0 by AssKicR, rewritten by Bo0m! -- Flashbangs players.
* -) ADMIN SERVER SHUTDOWN/RESTART 2.2 by Hawk552 -- Shuts down or Restarts the Server
* -) ADMIN TEAM LOCK v1.3 by Bmann_420, revised by Doombringer/Deviance -- Allows teams to be locked
* -) ADMIN TRANSFER v1.0 by Deviance -- Transfer players to diff teams, swap teams, and swap players
* -) ADMIN AMMO v1.0 by V3x, revised by Doombringer/Deviance -- Give/Take Unlimited Ammo
* -) ADMIN CHECK v1.15 by OneEyed -- Type /admin to see what admins are in the server
* -) ADMIN MAP EXTEND v1.1 by JSauce -- amx_extend the current map
* -) ADMIN LISTEN v2.3 by Psychoguard, rewritten by Maxim and ported by Oj@eKiLLzZz deb/urandom
* -) ADMIN VOCOM v1.3 by toazron1 Revised by X-olent
* -) ADMIN DRUG v1.0 by X-olent
* -) ADMIN SPEED vv1.0 by X-olent (Turbo)
* -) ADMIN BAD AIM 1.3 by Twistedeuphoria

* -) CHANGE TO SPEC AND BACK v1.0 Origional code by Regalis, Revised by Exolent
* -) ENTER/LEAVE MESSAGES v1.0 by by [Kindzhon] China Revised by Bmann_420 and X-olent
* -) DAMAGE DONE v0.4 by Manip, revised by JTP10181 and Vittu -- Shows how much damage you did to enemies by your crosshair.
* -) DEAD CHAT v2.1 by SuicideDog -- Talk to the other team via voicecomm while dead.
* -) LOADING SOUNDS v1.0 by [OSA]Odin/White Panther -- Plays music as players connect.
* -) SPECTATOR BUG FIX v1.0 by ]FUSION[ Gray Death -- Fixes the bug when ducking and being killed.
* -) "SHOWNDEAD" SCOREBOARD FIX v0.9.4 by EJ/Vantage/Mouse -- Fixes connecting players from showing up on a team.
* -) FIX ECHO SOUNDS v1.0 by Throstur -- Fixes echo sounds on some maps.
* -) AFK BOMB TRANSFER v1.4 by VEN, revised by Doombringer/Deviance-- Transfers the Bomb to another player if AFK
* -) C4 TIMER v1.1 by Cheat_Suit
* -) STATS MARQUEE v1.2 by Travo
* -) SPAWN PROTECTION v7.1 by Peli Revised for Glow On/Off by KaszpiR Some code change by Bmann_420
* -) AFK Manager by VEN Update by Bmann_420
*
* +| 47 Plugins Total |+
*
*********************************************************************************
*
* Big Thanks To:
*
* (Author)
* Bmann_420
*
* (Fakemeta Conversion)
* Twilight Suzuka
*
* (Plugin Support/Main References)
* Bo0m!, Deviance, X-olent, Yami
* BigBaller, Iceman, JTP10181, Connorr
* f117bomb, XxAvalanchexX, VEN, Sether
* and all the fine users of this plugin.
*
*
*********************************************************************************
*
* For any problems with this plugin visit
* http://forums.alliedmods.net/forumdisplay.php?f=111
* for support.
*
*********************************************************************************
*/


// Includes
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csx>
#include <fakemeta>
#include <hamsandwich>

// Plugin Info
new const PLUGIN[] = "AMX Super"
new const VERSION[] = "4.2"
new const AUTHOR[] = "Bmann_420"


stock fm_set_user_godmode(index, godmode = 0) {
set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM)

return 1
}

stock fm_set_user_armor(index, armor) {
set_pev(index, pev_armorvalue, float(armor))

return 1
}

stock fm_set_user_health(index, health) {
health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index)

return 1
}

stock fm_set_user_origin(index, /* const */ origin[3]) {
new Float:orig[3]
IVecFVec(origin, orig)

return fm_entity_set_origin(index, orig)
}

stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
engfunc(EngFunc_SetClientMaxspeed, index, speed)
set_pev(index, pev_maxspeed, speed)

return 1
}

stock Float:fm_get_user_maxspeed(index) {
new Float:speed
pev(index, pev_maxspeed, speed)

return speed
}

stock fm_set_user_gravity(index, Float:gravity = 1.0) {
set_pev(index, pev_gravity, gravity)

return 1
}

stock Float:fm_get_user_gravity(index) {
new Float:gravity
pev(index, pev_gravity, gravity)

return gravity
}

stock fm_set_user_noclip(index, noclip = 0) {
set_pev(index, pev_movetype, noclip == 1 ? MOVETYPE_NOCLIP : MOVETYPE_WALK)

return 1
}

stock fm_set_user_frags(index, frags) {
set_pev(index, pev_frags, float(frags))

return 1
}

#define fm_get_user_noclip(%1) (pev(%1, pev_movetype) == MOVETYPE_NOCLIP)
/* stock fm_get_user_noclip(index)
return (pev(index, pev_movetype) == MOVETYPE_NOCLIP) */


#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
#define fm_fake_touch(%1,%2) dllfunc(DLLFunc_Touch, %1, %2)


stock fm_entity_set_origin(index, const Float:origin[3]) {
new Float:mins[3], Float:maxs[3]
pev(index, pev_mins, mins)
pev(index, pev_maxs, maxs)
engfunc(EngFunc_SetSize, index, mins, maxs)

return engfunc(EngFunc_SetOrigin, index, origin)
}

stock fm_give_item(index, const item[])
{
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0

new ent = fm_create_entity(item)
if (!pev_valid(ent))
return 0

new Float:origin[3]
pev(index, pev_origin, origin)
set_pev(ent, pev_origin, origin)
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)

new save = pev(ent, pev_solid)
dllfunc(DLLFunc_Touch, ent, index)
if (pev(ent, pev_solid) != save)
return ent

engfunc(EngFunc_RemoveEntity, ent)

return -1
}

stock fm_give_item_x(index, const item[], x)
for(new i; i <= x; i++) fm_give_item(index, item)

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
new Float:RenderColor[3]
RenderColor[0] = float(r)
RenderColor[1] = float(g)
RenderColor[2] = float(b)

set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, RenderColor)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))

return 1
}

#define fm_DispatchSpawn(%1) dllfunc(DLLFunc_Spawn, %1)

#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)

#define SPEAK_NORMAL 0
#define SPEAK_MUTED 1
#define SPEAK_ALL 2
#define SPEAK_LISTENALL 4

new fm_plinfo[33]

public FM_SetListen(iReceiver, iSender, bListen)
{
if( (fm_plinfo[iSender] & SPEAK_MUTED) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 0)

forward_return(FMV_CELL,0)
return FMRES_SUPERCEDE;
}

if( (fm_plinfo[iSender] & SPEAK_ALL) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 1)

forward_return(FMV_CELL,1)
return FMRES_SUPERCEDE;
}

if( (fm_plinfo[iReceiver] & SPEAK_LISTENALL) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 1)

forward_return(FMV_CELL,1)
return FMRES_SUPERCEDE;
}

return FMRES_IGNORED
}

stock fm_set_speak(id,tmp) (fm_plinfo[id] = tmp)
stock fm_get_speak(id) return fm_plinfo[id]

enum {
GET_TEAM_TARGET_ISALL,
GET_TEAM_TARGET_ISTEAMCT,
GET_TEAM_TARGET_ISTERRORIST,
}

enum {
GET_TEAM_TARGET_SKIPNOBODY,
GET_TEAM_TARET_SKIPBOTS,
GET_TEAM_TARGET_SKIPDEADPEOPLE
}

stock get_team_target(arg[],players[32],&pnum,skipMode=GET_TEAM_TARGET_SKIPNOBODY){
//Modular Team Targeting code by Sid 6.7
new whoTeam
new cmdflags[4]
switch(skipMode){
case GET_TEAM_TARET_SKIPBOTS: cmdflags = "ce"
case GET_TEAM_TARGET_SKIPNOBODY: cmdflags = "e"
case GET_TEAM_TARGET_SKIPDEADPEOPLE: cmdflags = "ae"
}
if(equali(arg[1],"ALL",strlen(arg[1]))) {
switch(skipMode){
case GET_TEAM_TARET_SKIPBOTS: cmdflags = "c"
case GET_TEAM_TARGET_SKIPNOBODY: cmdflags = ""
case GET_TEAM_TARGET_SKIPDEADPEOPLE: cmdflags = "a"
}
whoTeam = GET_TEAM_TARGET_ISALL
get_players(players,pnum,cmdflags)
}

if(equali(arg[1],"TERRORIST",strlen(arg[1]))) {
whoTeam = GET_TEAM_TARGET_ISTERRORIST
get_players(players,pnum,cmdflags,"TERRORIST")
}
if(equali(arg[1],"CT") || equali(arg[1],"C") || equali(arg[1],"COUNTER")) {
whoTeam = GET_TEAM_TARGET_ISTEAMCT
get_players(players,pnum,cmdflags,"CT")
}
return whoTeam
}


/*
///
///// You may edit some of these Defines (not all)
///
*/

#define ADMIN_CHECK ADMIN_KICK // For Admin Check
#define LOADINGSOUNDS 14 // Number of loading songs
#define VoiceCommMute 1 // 0 = Disabled | 1 = Voicecomm muteing enabled.
#define BlockNameChange 1 // 0 = Disabled | 1 = Block namechange on gagged clients
#define LogAdminActions 1 // 0 = Disabled | 1 = Admin actions will be logged
#define DefaultGagTime 600.0 // The std gag time if no other time was entered. ( this is 10 min ), Remember the value MUST contain a .0
#define PlaySound 1 // 0 = Disabled | 1 = Play a sound to gagged clients when their trying to talk
#define GagReason 0 // 0 = Disabled | 1 = Gagged clients can see why there where gagged when they try to talk
#define AllowOtherPlugin2Interface 1
#define DAMAGE_RECIEVED // Comment out this define to show only damage done, otherwise this will show damage recieved also.
#define TE 0 ///////////////////
#define CT 1 // Team Locker
#define AUTO 4 // Teams
#define SPEC 5 ///////////////////
#define EXTENDMAX 9 // Maximum number of times a map may be extended by anyone.
#define EXTENDTIME 15 // Maximum amount of time any map can be extended at once.
#define MAX_MAPS 32 // Change this if you have more than 32 maps in mapcycle.
#define MAX_SPRITES 2 // C4 Plugin max Sprites
#define FL_ONGROUND (1<<9) // C4 Timer
#define MaxPlayers 32
#define LASTWEAPON_CT -1
#define LASTWEAPON_T -2
#define LASTWEAPON_ALL -3

new const g_timersprite[MAX_SPRITES][] = { "bombticking", "bombticking1" }

// Loading Sounds List
new soundlist[LOADINGSOUNDS][] = {"Half-Life01","Half-Life02","Half-Life03","Half-Life04","Half-Life06","Half-Life08","Half-Life10","Half-Life11","Half-Life12","Half-Life13","Half-Life14","Half-Life15","Half-Life16","Half-Life17"}

static const COLOR[] = "^x04" //ADMIN CHECK chat color - green

new const SpecName[] = "UNASSIGNED"

//defines for speak flags
#define SPEAK_MUTED2 0
#define SPEAK_NORMAL2 1
#define SPEAK_ALL 2
#define SPEAK_ADMIN 5

#define MAX_PLAYERS 32

new const g_teamname[2][] = {"TERRORIST", "CT"}

// chat reasons
new const g_spec_kick_chat[] = "AMX_SUPER_AFK_SPEC_KICK_CHAT"
new const g_afk_kick_chat[] = "AMX_SUPER_AFK_KICK_CHAT"
new const g_afktospec_chat[] = "AMX_SUPER_AFK_TO_SPEC_CHAT"

//C4 Bomb message
new const g_message[] = "Detonation time intiallized....."

// AFK check interval (seconds)
#define AFK_CHECK_INTERVAL 5

/*
///
///// End of the Defines
///
*/

// Team Locker Team Names
new const Teamnames[6][] = {
"Terrorists",
"Counter-Terrorists",
"",
"",
"Auto",
"Spectator"
}

enum
{
SHUTDOWN = 0,
RESTART
}

//Glow Information
new g_iColors[30][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 g_sColors[30][] = {
"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 ammo_9mm[] = "ammo_9mm"
new ammo_45acp[] = "ammo_45acp"
new ammo_357sig[] = "ammo_357sig"
new ammo_50ae[] = "ammo_50ae"
new ammo_57mm[] = "ammo_57mm"
new ammo_buckshot[] = "ammo_buckshot"
new ammo_556nato[] = "ammo_556nato"
new ammo_762nato[] = "ammo_762nato"
new ammo_338magnum[] = "ammo_338magnum"
new ammo_556natobox[] = "ammo_556natobox"

new AMX_SUPER_GAG_CONNECTED[] = "AMX_SUPER_GAG_CONNECTED"
new AMX_SUPER_NO_PLAYERS[] = "AMX_SUPER_NO_PLAYERS"
new AMX_SUPER_TEAM_IMMUNITY[] = "AMX_SUPER_TEAM_IMMUNITY"
new AMX_SUPER_TEAM_INVALID[] = "AMX_SUPER_TEAM_INVALID"
new AMX_SUPER_AMOUNT_GREATER[] = "AMX_SUPER_AMOUNT_GREATER"


new weapons[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"
}

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
}

//Reverse Lookup Weapons Table
new const RLWT[33] = {
12,11,14,13,16,15,
21,22,31,32,33,34,35,
40,41,42,43,44,45,
46,47,48,49,
51,83,85,84,87,91,
1,81,82,86
}


// Bools
new bool:g_restart_attempt[33]
new bool:g_freezetime = true
new bool:g_spawn
new bool:g_planting
new bool:HasPermGod[33]
new bool:HasPermNoclip[33]
new bool:HasPermGlow[33]
new bool:g_speed[33]
new bool:blockjoining[7]
new bool:unammo[33]
new bool:badaim[33] = false
new bool:autoban[33] = false
new bool:count[33][33]
new bool:g_connected[MAX_PLAYERS + 1]

// PCvars
new revivemsg, deadchat, bulletdamage, loadsong, soundfixon, allowsoundfix, leavemessage, autobantimed, autobanall
new flashsound, transferfm_DispatchSpawn, transfertime, allowcatchfire, cvar_showteam, adminlisten, leavemessage_enable
new cvar_flash, cvar_sprite, cvar_msg, statsm, cvPlrAmt, cvFullTime, cvTimeBetw, cvVertLoc, ba_followimmunity
new statsmarquee, sv_sp, sv_sptime, sv_spmessage, sv_spshellthick, sv_spglow, entermessage, joinleave_message, admincheck
new mp_c4timer, allow_spectators, amx_show_activity, hostname, mp_freezetime, mp_timelimit, sv_contact, sv_alltalk, sv_gravity, sv_password
new amx_reservation, immune_access, immune_time, max_afktime, afkcheck_allow, allow_public_spec, immune_access_listen

// Variables
new gmsgDamage
new gmsg_SetFOV
new mflash, smoke, blueflare2, white, light
new gmsg_TeamInfo
new gMsgScreenFade
new g_MsgSync
new g_carrier
new g_pos[33][3]
new g_time[33]
new gReloadTime[33]
new g_maxplayers
new maxplayers
new gmsgSayText
new user_limit = 0
new g_gagged[33]
new g_wasgagged[33][32]
new g_gagflags[33]
new g_c4timer
new g_msg_showtimer
new g_msg_roundtime
new g_msg_scenario
new g_name[33][32]
new g_playerspk[33]
new g_admin[33]
new g_glow[33][4]
new players[32]
new pCount
new g_voicemask[33]
new g_origin[MAX_PLAYERS + 1][3]
new g_afktime[MAX_PLAYERS + 1]
new g_specgametime[MAX_PLAYERS + 1]
new g_bShuttingDown
new g_iMode

#if defined DAMAGE_RECIEVED
new g_MsgSync2
#endif

new g_GagPlayers[MaxPlayers+1] // Used to check if a player is gagged
#if GagReason == 1
new gs_GagReason[MaxPlayers+1][48]
#endif

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_super", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
register_dictionary("amx_super.txt")

register_forward(FM_Voice_SetClientListening,"FM_SetListen");

//Client Commands
register_clcmd("say /gravity","check_gravity")
register_clcmd("say /alltalk","check_alltalk")
register_clcmd("say /fixsound","cmdStopsound")
register_clcmd("say /spec", "cmd_spec")
register_clcmd("say /unspec", "cmd_unspec")
register_clcmd("say /admins", "show_admins")
register_clcmd("say /admin", "show_admins")

register_clcmd("say","block_gagged")
register_clcmd("say_team","block_gagged")
register_clcmd("jointeam", "join_team")
register_clcmd("fullupdate","fullupdate")

//Admin Commands
register_concmd("amx_heal","admin_heal",ADMIN_LEVEL_A,"<nick, #userid, authid or @team> <HP to give>")
register_concmd("amx_armor","admin_armor",ADMIN_LEVEL_A,"<nick, #userid, authid or @team> <armor to give>")
register_concmd("amx_teleport","admin_teleport",ADMIN_LEVEL_A,"<nick, #userid or authid> [x] [y] [z]")
register_concmd("amx_userorigin","admin_userorigin",ADMIN_LEVEL_A,"<nick, #userid or authid")
register_concmd("amx_stack","admin_stack",ADMIN_LEVEL_A,"<nick, #userid or authid> [0|1|2]")
register_concmd("amx_alltalk","admin_alltalk",ADMIN_LEVEL_A,"[1 = ON | 0 = OFF]")
register_concmd("amx_gravity","admin_gravity",ADMIN_LEVEL_A,"<gravity #>")
register_concmd("amx_unammo", "admin_unammo", ADMIN_LEVEL_A, "<nick, #userid or @team> [0|1] - 0=OFF 1=ON")
register_concmd("amx_extend","admin_extend",ADMIN_LEVEL_A,"<added time to extend> : ex. 5, if you want to extend it five more minutes.")
register_concmd("amx_bury","admin_bury",ADMIN_LEVEL_B,"<nick, #userid, authid or @team>")
register_concmd("amx_unbury","admin_unbury",ADMIN_LEVEL_B,"<nick, #userid, authid or @team>")
register_concmd("amx_disarm","admin_disarm",ADMIN_LEVEL_B,"<nick, #userid, authid or @team>")
register_concmd("amx_slay2","admin_slay",ADMIN_LEVEL_B,"<nick, #userid, authid or @team> [1-Lightning|2-Blood|3-Explode]")
register_concmd("amx_rocket","admin_rocket",ADMIN_LEVEL_B,"<nick, #userid, authid or @team>")
register_concmd("amx_fire","admin_fire",ADMIN_LEVEL_B,"<nick, #userid or authid or @team>")
register_concmd("amx_uberslap","admin_slap",ADMIN_LEVEL_B,"<nick, #userid or authid>")
register_concmd("amx_flash","admin_flash",ADMIN_LEVEL_B,"<nick, #userid, authid or @team> - Flashes player(s)")
register_clcmd("+adminvoice", "vocomStart") //Custom Level B (Change in admin Voice Section)
register_clcmd("-adminvoice", "vocomStop") //Custom Level B (Change in admin Voice Section)
register_concmd("amx_weapon","admin_weapon",ADMIN_LEVEL_C,"<nick, #userid, authid or @team> <weapon #>")
register_concmd("amx_revive","admin_revive",ADMIN_LEVEL_C,"<nick, #userid, authid or @team>")
register_concmd("amx_godmode","admin_godmode",ADMIN_LEVEL_C,"<nick, #userid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND")
register_concmd("amx_noclip","admin_noclip",ADMIN_LEVEL_C,"<nick, #userid, authid or @team> [0|1|2] - 0=OFF 1=ON 2=ON + ON EACH ROUND")
register_concmd("amx_drug","cmd_drug",ADMIN_LEVEL_C,"<@all, @team, nick, #userid, authid or @team>")
register_concmd("amx_speed","cmd_speed",ADMIN_LEVEL_C,"<nick, #userid, authid or @team> [0|1] -- gives/takes turbo running")
register_concmd("amx_givemoney","admin_givemoney",ADMIN_LEVEL_C," <nick, #userid, authid or @team> <amount> - gives specified player money")
register_concmd("amx_takemoney","admin_takemoney",ADMIN_LEVEL_C," <nick, #userid or authid> <amount> - takes specified player money")
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_concmd("amx_badaim","bad_aim",ADMIN_LEVEL_D,"<player> <On/off or length of time: 1|0|time> <Save?: 1|0>: Turn on/off bad aim on a player.")
register_concmd("amx_transfer", "cmd_transfer", ADMIN_LEVEL_D,"- <name> <CT/T/Spec> Transfers that player to the specified team")
register_concmd("amx_team", "cmd_transfer", ADMIN_LEVEL_D,"- <name> <CT/T/Spec> Transfers that player to the specified team")
register_concmd("amx_swap", "cmd_swap", ADMIN_LEVEL_D,"- <name 1> <name 2> Swaps two players with eachother")
register_concmd("amx_teamswap", "cmd_teamswap", ADMIN_LEVEL_D,"- Swaps two teams with eachother")
register_concmd("amx_lock", "admin_lock", ADMIN_LEVEL_D,"- <CT/T/Auto/Spec> - Locks selected team")
register_concmd("amx_unlock", "admin_unlock", ADMIN_LEVEL_D,"- <CT/T/Auto/Spec> - Unlocks selected team")
register_concmd("amx_exec","admin_exec",ADMIN_BAN,"<nick or @team> <command>")
register_concmd("amx_restart","fnShutDown",ADMIN_BAN,"<seconds (1-20)> - restarts the server in seconds")
register_concmd("amx_pass", "admin_pass", ADMIN_PASSWORD, "<server password> - Sets the server password")
register_concmd("amx_nopass", "admin_nopass", ADMIN_PASSWORD, "- Removes the server password")
register_concmd("amx_quit","admin_quit",ADMIN_LEVEL_E,"<nick, #userid, authid or @team>")
register_concmd("amx_shutdown","fnShutDown",ADMIN_RCON,"<seconds (1-20)> - shuts down the server in seconds")

//Server Commands
register_srvcmd("soundfix","fRemove")

//Events
register_event("DeathMsg","event_death","a")
register_event("ResetHUD","event_hud_reset","be")
register_event("CurWeapon", "changeWeapon", "be", "1=1")
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
register_event("ResetHUD", "sp_on", "be")
register_event("SayText","catch_say","b")
register_event("DeathMsg","death_hook","a")
register_event("VoiceMask","voice_hook","b")

//Cvars
revivemsg = register_cvar("amx_revivemsg","1");
deadchat = register_cvar("amx_deadchat","1");
bulletdamage = register_cvar("bullet_damage","1");
loadsong = register_cvar("amx_loadsong","1");
soundfixon = register_cvar("amx_soundfix","1");
allowsoundfix = register_cvar("amx_soundfix_pallow","1");
flashsound = register_cvar("amx_flashsound","1");
transferfm_DispatchSpawn = register_cvar("afk_bombtransfer_fm_DispatchSpawn","7");
transfertime = register_cvar("afk_bombtransfer_time", "15");
allowcatchfire = register_cvar("allow_catchfire", "1");
cvar_showteam = register_cvar("amx_showc4timer", "3");
cvar_flash = register_cvar("amx_showc4flash", "0");
cvar_sprite = register_cvar("amx_showc4sprite", "1");
cvar_msg = register_cvar("amx_showc4msg", "0");
cvPlrAmt = register_cvar("amx_marqplayeramount","40");
cvVertLoc = register_cvar("amx_marqvertlocation","2");
cvFullTime = register_cvar("amx_marqfulltime","600.0");
cvTimeBetw = register_cvar("amx_marqtimebetween","6.0");
statsmarquee = register_cvar("stats_marquee","1");
sv_sp = register_cvar("sv_sp", "1");
sv_sptime = register_cvar("sv_sptime", "5");
sv_spmessage = register_cvar("sv_spmessage", "1");
sv_spshellthick = register_cvar("sv_spshellthick", "25");
sv_spglow = register_cvar("sv_spglow", "0");
adminlisten = register_cvar("amx_adminlisten","1");
leavemessage_enable = register_cvar("amx_leavemessage_enable","1");
entermessage = register_cvar("amx_enter_message", "%name% has joined!\nEnjoy the Server!\nCurrent Ranking is %rankpos%");
leavemessage = register_cvar("amx_leave_message", "%name% has left!\nHope to see you back sometime.");
joinleave_message = register_cvar("amx_join_leave", "1");
autobantimed = register_cvar("amx_autobantimed", "1");
autobanall = register_cvar("amx_autobanall", "1");
ba_followimmunity = register_cvar("amx_ba_follow_immunity", "1");
admincheck = register_cvar("amx_admin_check", "1");
immune_access = register_cvar("amx_immune_access","a");
immune_time = register_cvar("amx_immune_time","5");
max_afktime = register_cvar("amx_max_afktime","45");
afkcheck_allow = register_cvar("amx_afkcheck_allow","1");
allow_public_spec = register_cvar("allow_public_spec","1");
immune_access_listen = register_cvar("listen_immune_access","d");

// Execute main configuration file (amx_super.cfg)
new configsDir[64]
get_configsdir(configsDir, 63)
server_cmd("exec %s/amx_super.cfg", configsDir)

// Variables Set
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
gmsgDamage = get_user_msgid("Damage")
gMsgScreenFade = get_user_msgid("ScreenFade")
gmsg_TeamInfo = get_user_msgid("TeamInfo")
gmsg_SetFOV = get_user_msgid("SetFOV")
g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
g_MsgSync2 = CreateHudSyncObj()
#endif

//Weapon III new round hook
//register_event("RoundTime", "event_new_roundw", "bc")

//Speed Fix
server_cmd("sv_maxspeed 9999999");

//Voice Comm Admin
register_forward(FM_Voice_SetClientListening, "fm_mute_forward")

//C4 Timer Display
g_msg_showtimer = get_user_msgid("ShowTimer")
g_msg_roundtime = get_user_msgid("RoundTime")
g_msg_scenario = get_user_msgid("Scenario")

register_event("HLTV", "event_hltv", "a", "1=0", "2=0")
register_logevent("logevent_plantedthebomb", 3, "2=Planted_The_Bomb")

// Team Locker
register_menucmd(register_menuid("Team_Select",1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "team_select")

// Fix Echo Sounds Task
set_task(0.1,"fRemove")

//Stats Marquee
set_task(15.0,"displayplr",0,"",0,"a",1);

// Event to keep speed
register_event( "CurWeapon", "event_weapon", "be", "1=1" )

//AFK Manager
register_event("TeamInfo", "event_spectate", "a", "2=UNASSIGNED", "2=SPECTATOR")
register_event("TeamInfo", "event_playteam", "a", "2=TERRORIST", "2=CT")
set_task(float(AFK_CHECK_INTERVAL), "task_afk_check2", _, _, _, "b")

// AFK Bomb Transfer Events
register_event("WeapPickup", "event_got_bomb", "be", "1=6")
register_event("BarTime", "event_bar_time", "be")
register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")

// AFK Bomb Transfer Logevents
register_logevent("logevent_round_start", 2, "1=Round_Start")

// AFK Bomb Transfer Task
set_task(1.0, "task_afk_check", _, _, _, "b") // AFK Bomb Transfer core loop
g_maxplayers = get_maxplayers()

// AMX MAP EXTEND
#if defined MAPCYCLE
new map[64], i, line = 0
get_mapname(map,63)
while ( gNum < MAX_MAPS && read_file("mapcycle.txt",line++,gMap,63,i) )
{
if ( gMap[0] == ';' ) continue

if (equali(gMap,map))
{
cyclerfile = true
break
}
++gNum
} return PLUGIN_CONTINUE
#endif
if (!fm_find_ent_by_class(-1, "func_bomb_target"))
return
}

public get_immune_access_flag()
{
new flags[24]
get_pcvar_string(immune_access, flags, 23)

return(read_flags(flags))
}

public get_immune_access_flag2()
{
new flags[24]
get_pcvar_string(immune_access_listen, flags, 23)

return(read_flags(flags))
}
public plugin_cfg()
{
mp_c4timer = get_cvar_pointer("mp_c4timer");
allow_spectators = get_cvar_pointer("allow_spectators");
amx_show_activity = get_cvar_pointer("amx_show_activity");
hostname = get_cvar_pointer("hostname");
mp_freezetime = get_cvar_pointer("mp_freezetime");
mp_timelimit = get_cvar_pointer("mp_timelimit");
sv_contact = get_cvar_pointer("sv_contact");
sv_alltalk = get_cvar_pointer("sv_alltalk");
sv_gravity = get_cvar_pointer("sv_gravity");
sv_password = get_cvar_pointer("sv_password");
amx_reservation = register_cvar("amx_reservation", "0");
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Change to spec 1.0 by Exolent
//==========================================================================================================
new CsTeams:team[33]
public cmd_spec(id)
{

if( !team[id] && get_pcvar_num( allow_spectators) > 0 || get_pcvar_num( allow_public_spec) == 1 )
{
if( is_user_alive( id ) )
{
client_cmd( id, "kill" )
cs_set_user_deaths( id, cs_get_user_deaths( id ) - 1 )
fm_set_user_frags( id, get_user_frags( id ) + 1 )
}
team[id] = cs_get_user_team( id )
cs_set_user_team( id, CS_TEAM_SPECTATOR, CS_DONTCHANGE )
}
return PLUGIN_HANDLED;
}

public cmd_unspec( id )
{
if( team[id] )
cs_set_user_team( id, team[id] )
team[id] = CS_TEAM_UNASSIGNED
return PLUGIN_HANDLED;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//AFK BOMB TRANSFER v1.4 by VEN
//Revised by Doombringer/Deviance
//==========================================================================================================
public event_new_round() {
g_freezetime = true
g_spawn = true
g_planting = false
g_carrier = 0
}

public event_got_bomb(id) {
g_carrier = id
}

public event_bar_time(id) {
if (id == g_carrier) {
g_planting = bool:read_data(1)
get_user_origin(id, g_pos[id])
g_time[id] = 0
}
}

public event_bomb_drop() {
g_spawn = false
g_planting = false
g_carrier = 0
}

public logevent_round_start() {
new id[32], num
get_players(id, num, "ae", "TERRORIST")

if (!num) // is server empty?
return

g_freezetime = false

new x
for (new i = 0; i < num; ++i) {
x = id
get_user_origin(x, g_pos[x])
g_time[x] = 0
}
}

public task_afk_check() {
if (g_freezetime) // is freezetime right now?
return

new id[32], num, x, origin[3]
get_players(id, num, "ae", "TERRORIST")
for (new i = 0; i < num; ++i) {
x = id
get_user_origin(x, origin)
if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
g_time[x] = 0
g_pos[x][0] = origin[0]
g_pos[x][1] = origin[1]
if (g_spawn && x == g_carrier)
g_spawn = false
}
else
g_time[x]++
}

if (!g_carrier || num < 2)
return

new max_time = get_pcvar_num(g_spawn ? transferfm_DispatchSpawn : transfertime)

if (max_time <= 0 || g_time[g_carrier] < max_time)
return

get_user_origin(g_carrier, origin)
new min_dist = 999999, dist, recipient, origin2[3]
for (new i = 0; i < num; ++i) {
x = id
if (g_time[x] < max_time) {
get_user_origin(x, origin2)
dist = get_distance(origin, origin2)
if (dist < min_dist) {
min_dist = dist
recipient = x
}
}
}

if (!recipient)
return

new carrier = g_carrier
engclient_cmd(carrier, "drop", weapons[WEAPON_C4]) // drop the backpack
new c4 = fm_find_ent_by_class(-1, weapons[WEAPON_C4]) // find weapon_c4 entity
if (!c4)
return

new backpack = pev(c4, pev_owner)
if (backpack <= g_maxplayers)
return

set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
fm_fake_touch(backpack, recipient)

set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, 7.0)
new message[128], c_name[32], r_name[32]
get_user_name(carrier, c_name, 31)
get_user_name(recipient, r_name, 31)
format(message, 127, "%L", LANG_PLAYER, "AMX_SUPER_BOMB_TRANSFER", r_name, c_name)
for (new i = 0; i < num; ++i)
show_hudmessage(id, "%s", message)

set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, 7.0, _, _, 3)
show_hudmessage(recipient, "You got the bomb!")

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//PLAYER SPAWN FILTERS BY VEN
//==========================================================================================================
public fullupdate(id) {
return PLUGIN_HANDLED_MAIN
}

public event_restart_attempt() {
new players[32], num
get_players(players, num, "a")
for (new i; i < num; ++i)
g_restart_attempt[players] = true
}

public event_hud_reset(id) {
if (g_restart_attempt[id]) {
g_restart_attempt[id] = false
return
}
event_fm_DispatchSpawned(id)

if(HasPermGod[id])
{
fm_set_user_godmode(id, 1)
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//FIX ECHO SOUNDS v1.0 by Throstur
//==========================================================================================================
public fRemove() {
if(get_pcvar_num(soundfixon) != 1)
return PLUGIN_HANDLED

new Echo = fm_find_ent_by_class(0,"env_sound")
while(Echo)
{
fm_remove_entity(Echo)
Echo = fm_find_ent_by_class(Echo,"env_sound")
}
return PLUGIN_HANDLED
}

public cmdStopsound(id)
{
if(get_pcvar_num(allowsoundfix) == 1)
{
client_cmd(id,"stopsound;room_type 00")
client_cmd(id,"stopsound")
client_print(id,print_chat,"%L", id, "AMX_SUPER_SOUNDFIX")
}
else
{
client_print(id,print_chat,"%L", id, "AMX_SUPER_SOUNDFIX_DISABLED")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//DAMAGE DONE v0.4 by Manip
//Revised by JTP10181 and Vittu
//==========================================================================================================
public on_damage(id)
{
if(!get_pcvar_num(bulletdamage))
return PLUGIN_HANDLED

new attacker = get_user_attacker(id)
#if defined DAMAGE_RECIEVED

if ( is_user_connected(id) && is_user_connected(attacker) )
{
new damage = read_data(2)

set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
if ( is_user_connected(attacker) )
{
new damage = read_data(2)
#endif
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//BAD AIM 1.3 by TwistedEuphoria
//==========================================================================================================
public death_hook()
{
new killer = read_data(1)
new victim = read_data(2)

if(badaim[killer] && (killer != victim))
{
if(autoban[killer])
{
new kuid = get_user_userid(killer)
new name[32]
get_user_name(killer,name,31)

server_cmd("amx_ban #%d 0 Got a kill while affected by bad aim.",kuid)
client_print(0,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_KILLED",name)
}
}
return PLUGIN_CONTINUE
}

public client_PreThink(id)
{
if(badaim[id])
{
new Float:badvec[3] = {100.0,100.0,100.0}
for(new j = 0;j<6;j++)
{
set_pev(id,pev_punchangle,badvec)
set_pev(id,pev_punchangle,badvec)
set_pev(id,pev_punchangle,badvec) //Three's a charm!
}
}
return PLUGIN_CONTINUE
}

public bad_aim(id,level,cid)
{
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new target[32],tid

if(read_argc() == 2)
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_CONSOLE")
return PLUGIN_HANDLED
}

read_argv(1,target,31)

if(get_pcvar_num(ba_followimmunity))
tid = cmd_target(id,target,1)
else
tid = cmd_target(id,target,2)
if(!tid)
return PLUGIN_HANDLED

new decstr[8]
read_argv(2,decstr,7)
new decnum
decnum = str_to_num(decstr)
new name[32]

get_user_name(tid,name,31)

switch(decnum)
{
case 0:
{
if(!badaim[tid])
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_NO_BADAIM",name)
return PLUGIN_HANDLED
}

badaim[tid] = false
autoban[tid] = false

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_UNDO",name)

remove_bad_vault(tid)
}
case 1:
{
if(badaim[tid])
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_CURRENT",name)
return PLUGIN_HANDLED
}

if(get_pcvar_num(autobanall))
autoban[tid] = true
badaim[tid] = true

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_WORSE",name)
}
default:
{
if(decnum < 0)
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_BADTIME")

return PLUGIN_HANDLED
}
if(badaim[tid])

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_MESSAGE1",name,decnum)
else
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_MESSAGE2",name,decnum)

badaim[tid] = true

if (get_pcvar_num(autobantimed) && get_pcvar_num(autobanall))
autoban[tid] = true

new pstr[3]
pstr[0] = id
pstr[1] = tid
set_task(float(decnum),"unbad",4554+tid,pstr,2)
}
}

new savestr[2]
read_argv(3,savestr,1)
new savenum = str_to_num(savestr)

if(savenum)
{
if((decnum != 1) && (decnum != 0))

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_BAN")
else
bad_vault(tid)
}
new aname[32], authid[32]
get_user_name(id, aname, 31)
get_user_authid(id, authid, 31)

log_amx( "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_LOG", aname, authid, badaim[tid] == true? "set" : "removed", name)
return PLUGIN_HANDLED
}

public unbad(pstr[])
{
new id = pstr[0]
new tid = pstr[1]
new name[32]

get_user_name(tid,name,31)

client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_BADAIM_NO_BADAIM_MESSAGE",name)
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_BADAIM_NO_BADAIM_MESSAGE_CONSOLE",name)

badaim[tid] = false
autoban[tid] = false
}

public bad_vault(id)
{
new sid[35]
get_user_authid(id,sid,34)
new vaultkey[51]

format(vaultkey,50,"BADAIM_%s",sid)

if(vaultdata_exists(vaultkey))
remove_vaultdata(vaultkey)
set_vaultdata(vaultkey,"1")
}

public remove_bad_vault(id)
{
new sid[35]
get_user_authid(id,sid,34)
new vaultkey[51]

format(vaultkey,50,"BADAIM_%s",sid)

if(vaultdata_exists(vaultkey))
remove_vaultdata(vaultkey)
}

public check_bad_vault(id)
{
new sid[35]
get_user_authid(id,sid,34)
new vaultkey[51]

format(vaultkey,50,"BADAIM_%s",sid)

if(vaultdata_exists(vaultkey))
{
badaim[id] = true
if(get_pcvar_num(autobanall))
autoban[id] = true
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN DRUG by Exolent
//==========================================================================================================
public cmd_drug( id, level, cid )
{
if( !cmd_access( id, level, cid, 2 ) )
return PLUGIN_HANDLED

new arg[32]
read_argv( 1, arg, 31 )
if( arg[0] == '@' )
{
new players[32], pnum
if( arg[1] == 'a' || arg[1] == 'A' )
{
formatex( arg, 31, "everyone" )
get_players( players, pnum, "a" )
}
else if( arg[1] == 'c' || arg[1] == 'C' )
{
formatex( arg, 31, "all CTs" )
get_players( players, pnum, "ae", "CT" )
}
else if( arg[1] == 't' || arg[1] == 'T' )
{
formatex( arg, 31, "all Ts" )
get_players( players, pnum, "ae", "TERRORIST" )
}
else return PLUGIN_HANDLED

if( !pnum ) return PLUGIN_HANDLED

for( new i = 0; i < pnum; i++ )
{
message_begin( MSG_ONE, gmsg_SetFOV, { 0, 0, 0 }, players )
write_byte( 180 )
message_end( )
}
new name[32], authid[32]

get_user_name( id, name, 31 )
get_user_authid( id, authid, 31 )

switch( get_pcvar_num( amx_show_activity ) )
{
case 2: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_DRUG_TEAM_CASE2", name, arg )
case 1: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_DRUG_TEAM_CASE1", arg )
}

console_print( id, "%L", id, "AMX_SUPER_DRUG_TEAM_MSG", arg )
log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_TEAM_LOG", name, authid, arg )
}
else
{
new flags = 7

if( get_user_flags( id ) & ADMIN_IMMUNITY )
flags--
new player = cmd_target( id, arg, flags )

if( !player ) return PLUGIN_HANDLED

message_begin( MSG_ONE, gmsg_SetFOV, { 0, 0, 0 }, player )
write_byte( 180 )
message_end( )

new name[32], authid[32]
new name2[32], authid2[32]

get_user_name( id, name, 31 )
get_user_authid( id, authid, 31 )

get_user_name( player, name2, 31 )
get_user_authid( player, authid2, 31 )

switch( get_pcvar_num( amx_show_activity ) )
{
case 2: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_DRUG_PLAYER_CASE2", name, name2 )
case 1: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_DRUG_PLAYER_CASE1",name2 )
}

console_print( id, "%L", id, "AMX_SUPER_DRUG_PLAYER_MSG", name2 )
log_amx( "%L", LANG_SERVER, "AMX_SUPER_DRUG_PLAYER_LOG", name, authid, name2, authid2 )
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN SPEED by Exolent
//==========================================================================================================
public cmd_speed( id, level, cid )
{
if( !cmd_access( id, level, cid, 3 ) )
return PLUGIN_HANDLED

new arg[32]
new arg2[32], bool:num = false

read_argv( 1, arg, 31 )
read_argv( 2, arg2, 31 )

if( str_to_num( arg2 ) == 1 )
num = true
if( arg[0] == '@' )
{
new players[32], pnum
if( arg[1] == 'a' || arg[1] == 'A' )
{
formatex( arg, 31, "everyone" )
get_players( players, pnum, "a" )
}
else if( arg[1] == 'c' || arg[1] == 'C' )
{
formatex( arg, 31, "all CTs" )
get_players( players, pnum, "ae", "CT" )
}
else if( arg[1] == 't' || arg[1] == 'T' )
{
formatex( arg, 31, "all Ts" )
get_players( players, pnum, "ae", "TERRORIST" )
}
else return PLUGIN_HANDLED

if( !pnum ) return PLUGIN_HANDLED

if( num ) formatex( arg2, 31, "on" )

else formatex( arg2, 31, "off" )

new pid;
for( new i = 0; i < pnum; i++ )
{
pid = players
g_speed[pid] = num
event_weapon(pid)
}

new name[32], authid[32]

get_user_name( id, name, 31 )
get_user_authid( id, authid, 31 )

switch( get_pcvar_num( amx_show_activity ) )
{
case 2: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_TEAM_CASE2", name, arg2, arg )
case 1: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_TEAM_CASE1", arg2, arg )
}

console_print( id, "%L", id, "AMX_SUPER_SPEED_TEAM_MSG", arg2, arg )
log_amx( "%L", LANG_SERVER, "AMX_SUPER_SPEED_TEAM_LOG", name, authid, arg )
}
else
{
new flags = 7

if( get_user_flags( id ) & ADMIN_IMMUNITY)
flags--
new player = cmd_target( id, arg, flags )
if( !player ) return PLUGIN_HANDLED

g_speed[player] = num
formatex( arg2, 31, "off" )

if( g_speed[player] )
{
formatex( arg2, 31, "on" )
}

event_weapon(player);

new name[32], name2[32], authid[32], authid2[32]

get_user_name( id, name, 31 )
get_user_authid( id, authid, 31 )

get_user_name( player, name2, 31 )
get_user_authid( player, authid2, 31 )

switch( get_pcvar_num( amx_show_activity ) )
{
case 2: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_PLAYER_CASE2", name, arg2, name2 )
case 1: client_print( 0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPEED_PLAYER_CASE1", arg2, name2 )
}

console_print( id, "%L", id, "AMX_SUPER_SPEED_PLAYER_MSG", arg2, name2 )
log_amx( "%L", LANG_SERVER, "AMX_SUPER_SPEED_PLAYER_LOG", name, authid, name2, authid2 )
}
return PLUGIN_HANDLED
}

public event_weapon(id)
{
new Float:maxspeed;
pev(id, pev_maxspeed, maxspeed);
if(maxspeed != 1.0)
{
if(g_speed[id])
{
maxspeed *= 3.0;
}
else if(!g_freezetime) {
switch(read_data(2)) {
case CSW_SCOUT: maxspeed=260.0
case CSW_P90: maxspeed=245.0
case CSW_XM1014,CSW_AUG,CSW_GALIL,CSW_FAMAS: maxspeed=240.0
case CSW_SG552 : maxspeed=235.0
case CSW_M3,CSW_M4A1 : maxspeed=230.0
case CSW_AK47 : maxspeed=221.0
case CSW_M249 : maxspeed=220.0
case CSW_AWP,CSW_SG550,CSW_G3SG1 : maxspeed=210.0
default : maxspeed=250.0
}
}
set_pev(id, pev_maxspeed, maxspeed);
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//STATS MARQUEE v1.2 by Travo
//==========================================================================================================
public displayplr()
{
if (!get_pcvar_num(statsmarquee))
{
set_task(60.0,"displayplr",0,"",0,"a",1)
return PLUGIN_HANDLED
}
new Stats[8], Body[8], Name[31], Float:VertLoc2
new PlrAmt = get_pcvar_num(cvPlrAmt)
new VertLoc = get_pcvar_num(cvVertLoc)
new Float:FullTime = get_pcvar_float(cvFullTime)
new Float:TimeBetw = get_pcvar_float(cvTimeBetw)

if(VertLoc==1)
VertLoc2 = -0.74
else
VertLoc2 = 0.77

get_stats(statsm, Stats, Body, Name, 31)

statsm++

set_hudmessage(0, 240, 10, 0.70, VertLoc2, 0, TimeBetw, TimeBetw, 0.5, 0.15, -1)
show_hudmessage(0,"Server Top %d^n%s^nRank %d %d kills %d deaths", PlrAmt, Name, statsm, Stats[0], Stats[1])

if(statsm >= PlrAmt)
{
statsm = 0
set_task(FullTime,"displayplr",0,"",0,"a",1)
}
else
{
set_task(TimeBetw,"displayplr",0,"",0,"a",1)
}

return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN LISTEN v2.3 by Psychoguard, rewritten by Maxim and ported by Oj@eKiLLzZz deb/urandom
//==========================================================================================================
public catch_say()
{
if (!get_pcvar_num(adminlisten))
return PLUGIN_CONTINUE;

new reciever = read_data(0)
new sender = read_data(1)
new message[151]
new channel[151]
new sender_name[32]

if (is_running("czero")||is_running("cstrike"))
{
read_data(2,channel,150)
read_data(4,message,150)
get_user_name(sender, sender_name, 31)

} else {

read_data(2,message,150)
}

count[sender][reciever] = true

if (sender == reciever)
{
new player_count = get_playersnum()
new players[32]

get_players(players, player_count, "c")

for (new i = 0; i < player_count; i++)
{

if (get_user_flags(players)&get_immune_access_flag2())
{

if (!count[sender][players])
{
message_begin(MSG_ONE, get_user_msgid("SayText"),{0,0,0},players)

write_byte(sender)

if (is_running("czero")||is_running("cstrike"))
{
write_string(channel)
write_string(sender_name)
}
write_string(message)
message_end()
}
}
count[sender][players[i]] = false
}
}

return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Enter/Leave Message v1.0 by by [Kindzhon] China Revised by Bmann_420 and Exolent
//==========================================================================================================
public client_putinserver(id)
{
new param[1]

param[0] = id
g_name[id][0] = 0

get_user_name(id, g_name[id], 31)

set_task(2.0, "enter_msg", 0, param, 1)

badaim[id] = false
autoban[id] = false
check_bad_vault(id)


// -- CHECK IF LEFT TO DODGE GAG
// ------------------------------
new authid[32]

get_user_authid( id, authid, 31 )

g_gagged[id] = 0
for( new i = 0; i < 33; i++ )
{
if( equali( authid, g_wasgagged[i] ) )
{
new temp[32]
switch( g_gagflags[i] )
{
case 1: formatex( temp, 31, "a" )
case 2: formatex( temp, 31, "b" )
case 3: formatex( temp, 31, "ab" )
case 4: formatex( temp, 31, "c" )
case 5: formatex( temp, 31, "ac" )
case 6: formatex( temp, 31, "bc" )
case 7: formatex( temp, 31, "abc" )
}
new flags = read_flags( temp )

g_gagged[id] = flags
if( flags & 4 )
fm_set_speak( id, SPEAK_MUTED )

new name[32]

get_user_name( id, name, 31 )

client_print( 0, print_chat, "%L", LANG_PLAYER, AMX_SUPER_GAG_CONNECTED, name )

new ungagid[1]

ungagid[0] = id
g_wasgagged[i][0] = 0

set_task( DefaultGagTime , "task_ungag", id, ungagid, 1 )
break;
}
}

return PLUGIN_CONTINUE
}

public leave_msg(param[])
{
if (get_pcvar_num(joinleave_message) == 1 && get_pcvar_num(leavemessage_enable) == 1)
{
new id = param[0]

if(is_user_bot(id))
return PLUGIN_HANDLED

new message[192], _hostname[64]

get_pcvar_string(leavemessage, message, 191)
get_pcvar_string(hostname, _hostname, 63)

replace(message, 191, "%hostname%", _hostname)
replace(message, 191, "%name%", g_name[id])

replace_all(message, 191, "\n", "^n")

set_hudmessage(255, 0, 255, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)
}

return PLUGIN_CONTINUE
}

public enter_msg(param[])
{
if (get_pcvar_num(joinleave_message) == 1)
{
new id = param[0]

if(is_user_bot(id))
return PLUGIN_HANDLED

new message[192], _hostname[64]

get_pcvar_string(entermessage, message, 191)

get_pcvar_string(hostname, _hostname, 63)
replace(message,191, "%hostname%", _hostname)

if (cvar_exists("csstats_reset"))
{
new data[8], rankpos[8], pos

pos = get_user_stats(id, data, data)

num_to_str(pos, rankpos, 7)

replace(message, 191, "%rankpos%", rankpos)
replace(message, 191, "%name%", g_name[id])

replace_all(message, 191, "\n", "^n")

if (get_user_flags(id) & ADMIN_RESERVATION) {

set_hudmessage(255, 0, 0, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)

client_cmd(0,"spk buttons/blip1.wav")
return PLUGIN_HANDLED

}
else
{

set_hudmessage(0, 255, 0, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)
show_hudmessage(0, message)
}
}
}

return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//VOCOM ADMIN v1.3 by Nut
//==========================================================================================================
public client_authorized(id) {

if (get_user_flags(id) & ADMIN_RESERVATION) {
g_admin[id] = 1
}
}

public voice_hook(id) {
g_voicemask[id]=read_data(2)
}

public fm_mute_forward(receiver, sender, listen) {

if (receiver == sender) return FMRES_IGNORED
if (get_user_speak(sender) == SPEAK_ADMIN) {

if (g_admin[receiver] == 1) {
engfunc(EngFunc_SetClientListening, receiver, sender, SPEAK_NORMAL2)
}else{
engfunc(EngFunc_SetClientListening, receiver, sender, SPEAK_MUTED2)
}

return FMRES_SUPERCEDE
}
else if(g_voicemask[receiver] & 1<<(sender-1)) {
engfunc(EngFunc_SetClientListening, receiver, sender, SPEAK_MUTED)
forward_return(FMV_CELL,false)
}
return FMRES_IGNORED
}

public set_user_speak(id,listen) {
g_playerspk[id] = listen
}

public get_user_speak(id) {
return g_playerspk[id]
}

public vocomStart(id) {

if (!g_admin[id]) {

client_print(id,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_VOCOM_NO_ACCESS")
return PLUGIN_HANDLED
}

client_cmd(id,"+voicerecord")

set_user_speak(id,SPEAK_ADMIN)

new name[33]

get_user_name(id,name,32)

get_players(players, pCount, "c")

for (new i = 0; i < pCount; i++) {
if (g_admin[i]) {
if (i != id) {

client_print(i,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_VOCOM_SPEAKING1",name)
}
}
}

client_print(id,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_VOCOM_SPEAKING2",name)
return PLUGIN_HANDLED
}

public vocomStop(id) {

if(is_user_connected(id)) {

client_cmd(id,"-voicerecord")
if(get_user_speak(id) == SPEAK_ADMIN) {

set_user_speak(id,SPEAK_NORMAL2)
}
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Ultra Glow v1.1 by Remo Williams
//Rewritten by Exolent
//==========================================================================================================
public cmd_glow(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED

new command[16], arg1[32], arg2[32], arg3[32], arg4[32], arg5[32]
read_argv(0, command, 15)
read_argv(1, arg1, 31)
read_argv(2, arg2, 31)
read_argv(3, arg3, 31)
read_argv(4, arg4, 31)
read_argv(5, arg5, 31)

new bool:isPermGlow = false
if(command[8] == '2')
isPermGlow = true

new name[32], authid[32]
get_user_name(id, name, 31)
get_user_authid(id, authid, 31)

if(!color_check(arg2)&&!strlen(arg3))
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GLOW_INVALID_COLOR")
return PLUGIN_HANDLED
}

new num, bool:valid = false
for(num = 0; num < 30; num++)
{
if(equali(g_sColors[num],arg2))
{
valid = true
break;
}
}
new rnum, gnum, bnum, anum, bool:isOff = false;
if(valid)
{
if(equali(arg2, "off")) isOff = true;
rnum = g_iColors[num][0]
gnum = g_iColors[num][1]
bnum = g_iColors[num][2]
anum = 255
}
else if(!valid && strlen(arg5))
{
rnum = str_to_num(arg2)
gnum = str_to_num(arg3)
bnum = str_to_num(arg4)
anum = str_to_num(arg5)
if(rnum == 0 && gnum == 0 && bnum == 0 && anum == 255) isOff = true;
}
else
{
console_print(id, "[AMXX] Please include the correct parameters.")
console_print(id, "Usage: amx_glow(2) <nick, #userid, or authid> <color>")
console_print(id, "Usage: amx_glow(2) <nick, #userid, or authid> <rrr> <ggg> <bbb> <aaa>")
return PLUGIN_HANDLED;
}
if(rnum > 255) rnum = 255
else if(rnum < 0) rnum = 0
if(gnum > 255) gnum = 255
else if(gnum < 0) gnum = 0
if(bnum > 255) bnum = 255
else if(bnum < 0) bnum = 0
if(anum > 255) anum = 255
else if(anum < 0) anum = 0

new pid, activity = get_pcvar_num(amx_show_activity)
if(arg1[0] == '@')
{
new players[32], pnum
if(equali("T",arg1[1])) copy( arg1[1], 31, "TERRORIST" )
if(equali("ALL",arg1[1])) get_players( players, pnum, "a" )
else get_players( players, pnum, "ae", arg1[1] )

if(!pnum) return PLUGIN_HANDLED
for( new i = 0; i < pnum; i++ )
{
pid = players[i]
HasPermGlow[pid] = isPermGlow
if(isPermGlow)
{
g_glow[pid][0] = rnum
g_glow[pid][1] = gnum
g_glow[pid][2] = bnum
g_glow[pid][3] = anum
}
else
{
for(new j = 0; j < 4; j++ )
g_glow[pid][j] = 0
}
fm_set_rendering(pid, kRenderFxGlowShell, rnum, gnum, bnum, kRenderTransAlpha, anum)
}
switch(activity)
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, isOff? "AMX_SUPER_GLOW_TEAM_OFF_CASE2" : "AMX_SUPER_GLOW_TEAM_CASE2", name, arg1[1])
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, isOff? "AMX_SUPER_GLOW_TEAM_OFF_CASE1" : "AMX_SUPER_GLOW_TEAM_CASE1", arg1[1])
}
console_print(id, "%L", id, "AMX_SUPER_GLOW_TEAM_MSG", arg1[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_TEAM_LOG", name, authid, arg1[1])
return PLUGIN_HANDLED
}
pid = cmd_target(id, arg1, 2)
if(!pid) return PLUGIN_HANDLED

new pname[32], pauthid[32]

get_user_name(pid, pname, 31)
get_user_authid(pid, pauthid, 31)

HasPermGlow[pid] = isPermGlow
if(isPermGlow)
{
g_glow[pid][0] = rnum
g_glow[pid][1] = gnum
g_glow[pid][2] = bnum
g_glow[pid][3] = anum
}
else
{
for( new j = 0; j < 4; j++ )
g_glow[pid][j] = 0
}
fm_set_rendering(pid, kRenderFxGlowShell, rnum, gnum, bnum, kRenderTransAlpha, anum)
switch(activity)
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, isOff? "AMX_SUPER_GLOW_PLAYER_OFF_CASE2" : "AMX_SUPER_GLOW_PLAYER_CASE2", name, pname)
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, isOff? "AMX_SUPER_GLOW_PLAYER_OFF_CASE1" : "AMX_SUPER_GLOW_PLAYER_CASE1", pname)
}
console_print(id, "%L", id, "AMX_SUPER_GLOW_PLAYER_MSG", pname)
log_amx("%L", LANG_SERVER, "AMX_SUPER_GLOW_PLAYER_LOG", name, authid, pname, pauthid)
return PLUGIN_HANDLED
}

public cmd_glowcolors(id, level, cid)
{
if(!cmd_access(id, level, cid, 0))
return PLUGIN_HANDLED;

new sColors[192], i
for(i = 0; i < 30; i += 5)
{
if(i == 0) formatex(sColors, 191, "Colors: %s,",g_sColors[0])
else formatex(sColors, 191, "%s,", g_sColors[i])
color_print(id, i + 1, sColors)
}
console_print(id, "Example: amx_glow ^"jimmy^" ^"red^"")
return PLUGIN_HANDLED
}

public color_print(id, num, string[])
{
for(new max = num + 4; num < max; num++)
formatex(string, 191, "%s %s,", string, g_sColors[num])
console_print(id, "%s", string)
}

stock color_check(color[])
{
new bool:valid = false
for(new i = 0; i < 30; i++)
{
if(equali(g_sColors[i],color))
{
valid = true
break;
}
}
return valid;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//SPAWN PROTECTION v7.1 by Peli Revised for Glow On/Off by KaszpiR Revised by Bmann_420
//==========================================================================================================
public cmd_sptime(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new arg_str[3]
read_argv(1, arg_str, 3)
new arg = str_to_num(arg_str)

if(arg > 10 || arg < 1)
{
client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_BADTIME")
return PLUGIN_HANDLED
}

else if (arg > 0 || arg < 11)
{
set_pcvar_num(sv_sptime, arg)
client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_TIME_SET", arg)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}

public cmd_spmessage(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
{
return PLUGIN_HANDLED
}

new sp[3]
read_argv(1, sp, 2)

if (sp[0] == '1')
{
set_pcvar_num(sv_spmessage, 1)
}

else if (sp[0] == '0')
{
set_pcvar_num(sv_spmessage, 0)
}

else if (sp[0] != '1' || sp[0] != '0')
{

console_print(id, "Usage : amx_spmessage 1 = Messages ON | 0 = Messages OFF")
return PLUGIN_HANDLED

}

return PLUGIN_HANDLED
}

public cmd_spshellthickness(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new arg_str[3]
read_argv(1, arg_str, 3)
new arg = str_to_num(arg_str)

if(arg > 100 || arg < 1)
{

client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_BADSHELL")
return PLUGIN_HANDLED

}

else if (arg > 0 || arg < 101)
{
set_pcvar_num(sv_spshellthick, arg)
client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_SHELL_SET", arg)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}

public cmd_spglow(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new arg_str[3]
read_argv(1, arg_str, 3)
new arg = str_to_num(arg_str)


if (arg > 0)
{
arg = 1
client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_GLOW_ON")
}
else
{
arg = 0
client_print(id, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_GLOW_OFF")
}
set_pcvar_num(sv_spglow, arg)

return PLUGIN_CONTINUE
}

public sp_on(id)
{
if (get_pcvar_num(sv_sp) == 1)
{
set_task(0.1, "protect", id)
}

return PLUGIN_CONTINUE
}

public protect(id)
{
new Float:SPTime = get_pcvar_float(sv_sptime)
new SPSecs = get_pcvar_num(sv_sptime)
new FTime = get_pcvar_num(mp_freezetime)
new SPShell = get_pcvar_num(sv_spshellthick)
fm_set_user_godmode(id, 1)

if(get_pcvar_num(sv_spglow)) {

if(get_user_team(id) == 1)
{
fm_set_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, SPShell)
}

if(get_user_team(id) == 2)
{
fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, SPShell)
}
}

if(get_pcvar_num(sv_spmessage) == 1)
{

set_hudmessage(255, 1, 1, -1.0, -1.0, 0, 6.0, SPTime+FTime, 0.1, 0.2, 4)
show_hudmessage(id, "%L", LANG_PLAYER, "AMX_SUPER_SPAWN_PROTECTION_MESSAGE", SPSecs)

}

set_task(SPTime+FTime, "sp_off", id)
return PLUGIN_HANDLED
}

public sp_off(id)
{
if(!is_user_connected(id))
{

return PLUGIN_HANDLED

}
else if( HasPermGlow[id] )
{
fm_set_rendering( id, kRenderFxGlowShell, g_glow[id][0], g_glow[id][1], g_glow[id][2], kRenderTransAlpha, g_glow[id][3] )
}

else if( !HasPermGod[id] )
{
fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
}
fm_set_user_godmode(id, 0)
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN EXTEND v1.1 by JSauce
//==========================================================================================================
public admin_extend(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32],name[32]
read_argv(1,arg,31)
get_user_name(id,name,31)
#if defined MAPCYCLE
if (!cyclerfile)
{
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_NOMAPCYCLE")
return PLUGIN_HANDLED
}
#endif
if (arg[0])
{
if(containi(arg,"-") != -1)
{
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_BAD_NUMBER")
return PLUGIN_HANDLED
}
new tlimit = str_to_num(arg)
if (user_limit >= EXTENDMAX)
{
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_EXTENDMAX",EXTENDMAX)
return PLUGIN_HANDLED
}
if (tlimit > EXTENDTIME)
{
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_EXTENDTIME",EXTENDTIME)
tlimit = EXTENDTIME
}
set_pcvar_float(mp_timelimit,get_pcvar_float(mp_timelimit) + tlimit)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_SUCCESS_CASE2",name,tlimit)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXTEND_SUCCESS_CASE1",tlimit)
}
++user_limit
return PLUGIN_HANDLED
}

return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//C4 Timer v1.1 by Cheap_Suit
//==========================================================================================================
public event_hltv()
g_c4timer = get_pcvar_num(mp_c4timer)

public logevent_plantedthebomb()
{
new showtteam = get_pcvar_num(cvar_showteam)

static players[32], num, i
switch(showtteam)
{
case 1: get_players(players, num, "ace", "TERRORIST")
case 2: get_players(players, num, "ace", "CT")
case 3: get_players(players, num, "ac")
default: return
}
for(i = 0; i < num; ++i) set_task(1.0, "update_timer", players[i])
}

public update_timer(id)
{
message_begin(MSG_ONE_UNRELIABLE, g_msg_showtimer, _, id)
message_end()

message_begin(MSG_ONE_UNRELIABLE, g_msg_roundtime, _, id)
write_short(g_c4timer)
message_end()

message_begin(MSG_ONE_UNRELIABLE, g_msg_scenario, _, id)
write_byte(1)
write_string(g_timersprite[clamp(get_pcvar_num(cvar_sprite), 0, (MAX_SPRITES - 1))])
write_byte(150)
write_short(get_pcvar_num(cvar_flash) ? 20 : 0)
message_end()

if(get_pcvar_num(cvar_msg))
{
set_hudmessage(255, 180, 0, 0.44, 0.87, 2, 6.0, 6.0)
show_hudmessage(id, g_message)
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN CHECK v1.15 by OneEyed
//==========================================================================================================
public show_admins(user)
{
new message[256]
if(get_pcvar_num(admincheck))
{
new adminnames[33][32]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_CHECK)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s ADMINS ONLINE: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No admins online.")
print_message(user, message)
}

get_pcvar_string(sv_contact, contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
else
{
formatex(message, 255, "^x04 Admin Check is currently DISABLED.")
print_message(user, message)
}
}

print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN FLASH v1.0 by AssKicR
//Rewritten by Bo0m!
//==========================================================================================================
public admin_flash(id,level,cid) {
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32]
new name[32], name2[32], authid[35], authid2[35]
read_argv(1,arg,31)
get_user_name(id,name,31)
get_user_authid(id,authid,34)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0;a < inum; a++) {
if (get_user_flags(players[a]) & ADMIN_IMMUNITY && players[a] != id) {
get_user_name(players[a],name2,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,name2)
continue
}

Flash(players[a])
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_TEAM_CASE2",name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_TEAM_CASE1",arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_TEAM_MSG",arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_TEAM_LOG", name,authid,arg[1])
}
else {

new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

Flash(player)

get_user_name(player,name2,31)
get_user_authid(player,authid2,34)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_PLAYER_CASE1",name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_FLASH_PLAYER_MSG",name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_FLASH_PLAYER_LOG", name,authid,name2,authid2)
}
return PLUGIN_HANDLED
}

public Flash(id) {
message_begin(MSG_ONE,gMsgScreenFade,{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(flashsound) == 1)
emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH)
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN UNLIMITED AMMO v1.0 by regalis ripped from Superhero Punisher by {HOJ} Batman
//==========================================================================================================
public admin_unammo(id, level, cid)
{
if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED

new arg1[32], arg2[2]
read_argv(1, arg1, 31)
read_argv(2, arg2, 1)
new setting = str_to_num(arg2)
new name[32], authid[36]

get_user_name(id, name, 31)
get_user_authid(id, authid, 35)

if(equali(arg1, "@", 1))
{
new players[32], num

if(containi(arg1, "ALL") != -1)
{
get_players(players, num)
formatex(arg1[1], 30, "players");
}
else get_players(players, num, "e", !equali(arg1, "CT") ? "TERRORIST":"CT")

if(!num)
{
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}
for(new i = 0; i < num; i++)
{
switch(setting)
{
case 0:{unammo[players[i]] = false;}
case 1:{unammo[players[i]] = true;}
}
}
switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_TEAM_CASE2", name, arg1[1], setting)
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_TEAM_CASE1", arg1[1], setting)
}
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_TEAM_MSG", arg1[1], setting)
log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_TEAM_LOG", name, authid, arg1[1], setting)
}
else
{
new name2[32], authid2[36]
new player = cmd_target(id, arg1, 2)

if(!player) return PLUGIN_HANDLED

get_user_name(player, name2, 31)
get_user_authid(player, authid2, 35)
switch(setting)
{
case 0:{unammo[player] = false;}
case 1:{unammo[player] = true;}
}
switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_PLAYER_CASE2", name, name2, setting)
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_PLAYER_CASE1", name2, setting)
}
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_AMMO_PLAYER_MSG", name2, setting)
log_amx("%L", LANG_SERVER, "AMX_SUPER_AMMO_PLAYER_LOG", name, authid, name2, authid2, setting)
}
return PLUGIN_HANDLED
}

public reloadAmmo(id)
{
if (!is_user_connected(id)) return;

if (gReloadTime[id] >= get_systime() - 1) return;
gReloadTime[id] = get_systime();

new clip, ammo, wpn[32];
new wpnid = get_user_weapon(id, clip, ammo);

if (wpnid == CSW_C4 || wpnid == CSW_KNIFE || wpnid == 0) return;
if (wpnid == CSW_HEGRENADE || wpnid == CSW_SMOKEGRENADE || wpnid == CSW_FLASHBANG) return;

if (clip == 0)
{
get_weaponname(wpnid,wpn,31);
new iWPNidx = -1;
while((iWPNidx = fm_find_ent_by_class(iWPNidx, wpn)) != 0)
{
if(id == pev(iWPNidx, pev_owner))
{
cs_set_weapon_ammo(iWPNidx, getMaxClipAmmo(wpnid));
break;
}
}
}
}

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


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TEAM/PLAYER TRANSFER v1.0 by Doombringer/Deviance
//==========================================================================================================
public cmd_transfer(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new arg1[32], arg2[32]

read_argv(1, arg1, 31)
read_argv(2, arg2, 31)

new player = cmd_target(id, arg1, 2)

if(!player)
return PLUGIN_HANDLED

new teamname[32]

if(!strlen(arg2))
{
cs_set_user_team(player, cs_get_user_team(player) == CS_TEAM_CT ? CS_TEAM_T:CS_TEAM_CT)
teamname = cs_get_user_team(player) == CS_TEAM_CT ? "Counter-Terrorists":"Terrorists"
}
else
{
if(equali(arg2, "T"))
{
cs_set_user_team(player, CS_TEAM_T)
teamname = "Terrorists"
fm_DispatchSpawn(player)
}
else if(equali(arg2, "CT"))
{
cs_set_user_team(player, CS_TEAM_CT)
teamname = "Counter-Terrorists"
fm_DispatchSpawn(player)
}
else if(equali(arg2, "SPEC"))
{
user_silentkill(player)
cs_set_user_team(player, CS_TEAM_SPECTATOR)

teamname = "Spectator"
}
else
{
client_print(id, print_console, "%L", LANG_PLAYER, AMX_SUPER_TEAM_INVALID)
return PLUGIN_HANDLED
}
}

new name[32], admin[32], authid[35]

get_user_name(id, admin, 31)
get_user_name(player, name, 31)

get_user_authid(id, authid, 34)

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_CASE2", admin, name, teamname)
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_CASE1", name, teamname)
}

client_print(player, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_TEAM", teamname)

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_CONSOLE", name, teamname)
log_amx("%L", LANG_SERVER, "AMX_SUPER_TRANSFER_PLAYER_LOG", admin, authid, name, teamname)
return PLUGIN_HANDLED
}

public cmd_swap(id, level, cid)
{
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED

new arg1[32], arg2[32]

read_argv(1, arg1, 31)
read_argv(2, arg2, 31)

new player = cmd_target(id, arg1, 2)
new player2 = cmd_target(id, arg2, 2)

if(!player || !player2)
return PLUGIN_HANDLED

new CsTeams:team = cs_get_user_team(player)
new CsTeams:team2 = cs_get_user_team(player2)

if(team == team2)
{
client_print(id, print_console, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_ERROR_CASE1")
return PLUGIN_HANDLED
}

if(team == CS_TEAM_UNASSIGNED || team2 == CS_TEAM_UNASSIGNED)
{
client_print(id, print_console, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_PLAYER_ERROR_CASE2")
return PLUGIN_HANDLED
}

if(team == CS_TEAM_SPECTATOR)
user_silentkill(player2)

else if(team2 == CS_TEAM_SPECTATOR)
user_silentkill(player)

cs_set_user_team(player, team2)
fm_DispatchSpawn(player)
cs_set_user_team(player2, team)
fm_DispatchSpawn(player2)

new name[32], name2[32], admin[32], authid[35]

get_user_name(id, admin, 31)
get_user_name(player, name, 31)
get_user_name(player2, name2, 31)

get_user_authid(id, authid, 34)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_SUCCESS_CASE2",admin,name,name2)
case 1: client_print(0, print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_SUCCESS_CASE1", name, name2);
}

client_print(player, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_MESSAGE1", name2)
client_print(player2, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_MESSAGE2", name)

client_print(id, print_console, "%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_CONSOLE", name, name2)
log_amx("%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_PLAYERS_LOG", admin, authid, name, name2)

return PLUGIN_HANDLED
}

public cmd_teamswap(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new players[32], num
get_players(players, num)

new player
for(new i = 0; i < num; i++)
{
player = players[i]
cs_set_user_team(player, cs_get_user_team(player) == CS_TEAM_T ? CS_TEAM_CT:CS_TEAM_T)
fm_DispatchSpawn(player)
}

new name[32], authid[35]

get_user_name(id, name, 31)
get_user_authid(id, authid, 34)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_TEAM_SUCCESS_CASE2",name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_TEAM_SUCCESS_CASE1")
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TRANSFER_SWAP_TEAM_MESSAGE")
log_amx("%L", LANG_SERVER, "AMX_SUPER_TRANSFER_SWAP_TEAM_LOG", name,authid)

return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TEAM LOCKER v1.3 by Bmann_420
//Revised by Doombringer/Deviance
//==========================================================================================================
public admin_unlock(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new Arg1[6]

read_argv(1, Arg1, 5)

if(!equali(Arg1, "T") && !equali(Arg1, "CT") && !equali(Arg1, "Auto") && !equali(Arg1, "Spec"))
{
client_print(id, print_console, "%L", LANG_PLAYER, AMX_SUPER_TEAM_INVALID)
return PLUGIN_HANDLED
}

new team

if(equali(Arg1, "T"))
team = TE
else if(equali(Arg1, "CT"))
team = CT
else if(equali(Arg1, "Auto"))
team = AUTO
else if(equali(Arg1, "Spec"))
team = SPEC

blockjoining[team] = false

new name[32], steamid[38]

get_user_name(id, name, 31)
get_user_authid(id, steamid, 37)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_UNLOCK_CASE2",name,Teamnames[team])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_UNLOCK_CASE1",Teamnames[team])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_UNLOCK_CONSOLE",Teamnames[team])
log_amx("%L", LANG_SERVER, "AMX_SUPER_UNLOCK_TEAMS_LOG", name,steamid,Teamnames[team])

return PLUGIN_HANDLED
}

public admin_lock(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new Arg1[6]

read_argv(1, Arg1, 5)

if(!equali(Arg1, "T") && !equali(Arg1, "CT") && !equali(Arg1, "Auto") && !equali(Arg1, "Spec"))
{
client_print(id, print_console, "%L", LANG_PLAYER, AMX_SUPER_TEAM_INVALID)
return PLUGIN_HANDLED
}

new team

if(equali(Arg1, "T"))
team = TE
else if(equali(Arg1, "CT"))
team = CT
else if(equali(Arg1, "Auto"))
team = AUTO
else if(equali(Arg1, "Spec"))
team = SPEC

blockjoining[team] = true

new name[32], steamid[38]

get_user_name(id, name, 31)
get_user_authid(id, steamid, 37)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_LOCK_CASE2",name,Teamnames[team])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_LOCK_CASE1",Teamnames[team])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TEAM_LOCK_CONSOLE",Teamnames[team])
log_amx("%L", LANG_SERVER, "AMX_SUPER_LOCK_TEAMS_LOG", name,steamid,Teamnames[team])

return PLUGIN_HANDLED
}

public team_select(id, key)
{
if ( blockjoining[key] == true )
{
engclient_cmd(id, "chooseteam")
return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}

public join_team(id)
{
if (get_user_flags(id) & ( ADMIN_KICK | ADMIN_LEVEL_A ))
{
remove_task(id)
return PLUGIN_CONTINUE
}

new arg[2]
read_argv(1, arg, 1)

if (blockjoining[str_to_num(arg)-1] == true)
{
engclient_cmd(id, "chooseteam")
return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN REVIVE II v0.1 by SniperBeamer
//Revised by Bo0m!
//==========================================================================================================
public admin_revive(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32]
new name[32], name2[32], authid[35], authid2[35]
read_argv(1,arg,31)
get_user_name(id,name,31)
get_user_authid(id,authid,34)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0;a < inum; a++) {
if (get_user_flags(players[a]) & ADMIN_IMMUNITY && players[a] != id) {
get_user_name(players[a],name2,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,name2)
continue
}

new ids[3]
num_to_str(players[a],ids,2)
//fm_DispatchSpawn(players[a])
ExecuteHamB(Ham_CS_RoundRespawn, players[a])
set_task(0.1,"revivePl",0,ids,2)

if (get_pcvar_num(sv_sp) == 1)
{
set_task(0.1, "protect", id)
}
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_CASE2",name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_CASE1",arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_MSG",arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_TEAM_LOG",name,authid,arg[1])

if (get_pcvar_num(revivemsg))
{
if (equali(arg[1],"CT")) set_hudmessage(0,20,220,-1.0,0.30,0,6.0,6.0,0.5,0.15,1)
else set_hudmessage(220,20,0,-1.0,0.30,0,6.0,6.0,0.5,0.15,1)
show_hudmessage(0,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_TEAM_HUD",arg[1])
}
}
else
{
new player = cmd_target(id,arg,3)
if (!player) return PLUGIN_HANDLED

new ids[3]
num_to_str(player,ids,2)
//fm_DispatchSpawn(player)
ExecuteHamB(Ham_CS_RoundRespawn, player)
set_task(0.1,"revivePl",0,ids,2)

if (get_pcvar_num(sv_sp) == 1)
{
set_task(0.1, "protect", id)
}

get_user_name(player,name2,31)
get_user_authid(player,authid2,34)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_CASE1",name2)
}
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_MSG",name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_REVIVE_PLAYER_LOG",name,authid,name2,authid2)

if (get_pcvar_num(revivemsg))
{
set_hudmessage(0,200,0,-1.0,0.30,0,6.0,6.0,0.5,0.15,1)
show_hudmessage(0,"%L", LANG_PLAYER, "AMX_SUPER_REVIVE_PLAYER_HUD",name2)
}
}

return PLUGIN_HANDLED
}

public revivePl(ids[])
{
new id = str_to_num(ids)
fm_DispatchSpawn(id)
if (get_user_team(id)==1)
{
fm_give_item(id,weapons[WEAPON_KNIFE])
fm_give_item(id,weapons[WEAPON_GLOCK18])
fm_give_item_x(id,ammo_9mm,2)
}
else
{
fm_give_item(id,weapons[WEAPON_KNIFE])
fm_give_item(id,weapons[WEAPON_USP])
fm_give_item_x(id,ammo_45acp,2)
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN TELEPORT v0.9.3 by f117bomb
//Revised by JTP10181
//==========================================================================================================
new g_savedOrigin[3] = {0,0,0}

public admin_teleport(id,level,cid)
{
if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

new arg[32], sx[8], sy[8], sz[8], origin[3]
new name[32], name2[32], authid[36], authid2[36]

read_argv(1,arg,31)
get_user_name(id,name,31)
get_user_authid(id,authid,35)

if (read_argc() > 2) {
read_argv(2,sx,7)
read_argv(3,sy,7)
read_argv(4,sz,7)
origin[0] = str_to_num(sx)
origin[1] = str_to_num(sy)
origin[2] = str_to_num(sz)
}
else {
origin = g_savedOrigin
}

new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

fm_set_user_origin(player, origin)

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_PLAYER_CASE1",name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_PLAYER_MSG",name2,origin[0],origin[1],origin[2])
log_amx("%L", LANG_SERVER, "AMX_SUPER_TELEPORT_PLAYER_LOG",name,authid,name2,authid2,origin[0],origin[1],origin[2])

return PLUGIN_HANDLED
}

public admin_userorigin(id,level,cid) {

if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

new arg[32], name[32]
read_argv(1,arg,31)

new player = cmd_target(id,arg,2)
if (!player) return PLUGIN_HANDLED

get_user_origin(player, g_savedOrigin)
get_user_name(player,name,31)

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TELEPORT_ORIGIN_SAVED",g_savedOrigin[0],g_savedOrigin[1],g_savedOrigin[2],name)

return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN HEAL v0.9.3 by f117bomb
//Revised by JTP10181
//==========================================================================================================
public admin_heal(id,level,cid)
{
if (!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[8]
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
read_argv(2,arg2,7)
get_user_name(id,name,31)
get_user_authid(id,authid,35)
new hpGive = str_to_num(arg2)

if (hpGive <= 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_AMOUNT_GREATER)
return PLUGIN_HANDLED
}

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0;a < inum; a++) {
new user_health = get_user_health(players[a])
fm_set_user_health(players[a], hpGive + user_health)
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_TEAM_CASE2",name,hpGive,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_TEAM_CASE1",hpGive,arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_TEAM_MSG",hpGive,arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_TEAM_LOG", name,authid,hpGive,arg[1])
}
else {

new player = cmd_target(id,arg,6)
if (!player) return PLUGIN_HANDLED

new user_health = get_user_health(player)
fm_set_user_health(player, hpGive + user_health)

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_PLAYER_CASE2",name,hpGive,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_PLAYER_CASE1",hpGive,name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_HEAL_PLAYER_MSG",hpGive,name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_HEAL_PLAYER_LOG", name,authid,hpGive,name2,authid2)
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN ARMOR v1.0 by JTP10181
//==========================================================================================================
public admin_armor(id,level,cid)
{
if (!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[8]
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
read_argv(2,arg2,7)
get_user_name(id,name,31)
get_user_authid(id,authid,35)
new armorGive = str_to_num(arg2)

if (armorGive <= 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_AMOUNT_GREATER)
return PLUGIN_HANDLED
}

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0;a < inum; a++) {
new user_armor = get_user_armor(players[a])

//Give the armor item first so CS knows the player has armor
if (user_armor <= 0) fm_give_item(players[a], "item_assaultsuit")

//Set the armor to the new ammount
fm_set_user_armor(players[a], armorGive + user_armor)
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_TEAM_CASE2",name,armorGive,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_TEAM_CASE1",armorGive,arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_TEAM_MSG",armorGive,arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_TEAM_LOG", name,authid,armorGive,arg[1])
}
else {

new player = cmd_target(id,arg,6)
if (!player) return PLUGIN_HANDLED

new user_armor = get_user_armor(player)

//Give the armor item first so CS knows the player has armor
if (user_armor <= 0) fm_give_item(player, "item_assaultsuit")

//Set the armor to the new ammount
fm_set_user_armor(player, armorGive + user_armor)

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_PLAYER_CASE2",name,armorGive,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_PLAYER_CASE1",armorGive,name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ARMOR_PLAYER_MSG",armorGive,name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_ARMOR_PLAYER_LOG", name,authid,armorGive,name2,authid2)
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN GODMODE v1.0 by Bo0m!
//Revised some by Doombringer/Deviance
//==========================================================================================================
public admin_godmode(id,level,cid)
{

if (!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[8], name2[32]

read_argv(1, arg, 31)
read_argv(2, arg2, 7)

new setting = str_to_num(arg2)

new name[32], authid[36]

get_user_name(id, name2, 31)
get_user_authid(id, authid, 35)

new bool:l_postRound = false;
if(str_to_num(arg2) == 2)

{
arg2 = "1";
l_postRound = true;
}

if (arg[0]=='@'){

new players[32], inum

if(!(arg[1]=='a' || arg[1]=='A' || arg[1]=='C' || arg[1]=='c' || arg[1]=='T' || arg[1]=='t'))
inum = 0

else

get_players(players,inum,"")

if (inum==0)
{
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a=0;a<inum;++a)
{
if((arg[1]=='a' || arg[1]=='A') || (cs_get_user_team(players[a]) == CS_TEAM_T && (arg[1]=='T' || arg[1]=='t')) || (cs_get_user_team(players[a]) == CS_TEAM_CT && (arg[1]=='C' || arg[1]=='c')))

{
fm_set_user_godmode(players[a],str_to_num(arg2))
HasPermGod[players[a]] = l_postRound;
}

}
switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_TEAM_CASE2", name, setting, arg[1])
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_TEAM_CASE1", setting, arg[1])
}

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_TEAM_MSG", setting, arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_TEAM_LOG", name, authid, setting, arg[1])
}
else
{
new authid2[36]

new player = cmd_target(id, arg, 3)

if(!player)
return PLUGIN_HANDLED

get_user_name(player, name2, 31)
get_user_authid(player, authid2, 35)

fm_set_user_godmode(player,str_to_num(arg2))
HasPermGod[player] = l_postRound;

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_PLAYER_CASE2", name, setting, name2)
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_PLAYER_CASE1", setting, name2)
}

console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GODMODE_PLAYER_MSG", setting, name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_GODMODE_PLAYER_LOG", name, authid, setting, name2, authid2)
}
return PLUGIN_HANDLED
}



////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN NOCLIP v1.0 by Bo0m!
//==========================================================================================================
public admin_noclip(id,level,cid)
{
if (!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[8]
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
read_argv(2,arg2,7)
get_user_name(id,name,31)
get_user_authid(id,authid,35)

new noclipsetting = str_to_num(arg2)

new bool:PermNoclip = false
if(noclipsetting == 2)
{
arg2 = "1"
PermNoclip = true
}

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0;a < inum; a++) {
fm_set_user_noclip(players[a],str_to_num(arg2))
HasPermNoclip[players[a]] = PermNoclip
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_TEAM_CASE2",name,noclipsetting,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_TEAM_CASE1",noclipsetting,arg[1])
}
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_TEAM_MSG",noclipsetting,arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_TEAM_LOG", name,authid,noclipsetting,arg[1])
}
else {

new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)


fm_set_user_noclip(player,str_to_num(arg2))
HasPermNoclip[player] = PermNoclip

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_PLAYER_CASE2",name,noclipsetting,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_PLAYER_CASE1",noclipsetting,name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_NOCLIP_PLAYER_MSG",noclipsetting,name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_NOCLIP_PLAYER_LOG", name,authid,noclipsetting,name2,authid2)
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN STACK v0.9.3 by f117bomb
//==========================================================================================================
public admin_stack(id,level,cid)
{
if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

new arg[32]
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
get_user_name(id,name,31)
get_user_authid(id,authid,35)

new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

new sttype[2], origin[3], inum, players[32]
read_argv(2,sttype,1)
get_user_origin(player, origin)
get_players(players,inum,"a")

new offsety = 36, offsetz = 96
switch( str_to_num(sttype) ) {
case 0: offsety = 0
case 1: offsetz = 0
}

for(new a = 0 ; a < inum ; a++) {
if ((players[a] == player) || (get_user_flags(players[a])&ADMIN_IMMUNITY) && players[a] != id) continue
origin[1] += offsety
origin[2] += offsetz
fm_set_user_origin(players[a], origin)
}

get_user_name(player,name2,32)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_STACK_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_STACK_PLAYER_CASE1",name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_STACK_PLAYER_MSG", name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_STACK_PLAYER_LOG",name,authid,name2,authid2)

return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN MONEY v1.0 by XxAvalanchexX with additions from Bo0m!
//==========================================================================================================
public admin_givemoney(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[32]
read_argv(1,arg,32)
read_argv(2,arg2,31)

new adminAuthid[36], adminName[32]
get_user_authid(id,adminAuthid,35)
get_user_name(id,adminName,31)

new amount = str_to_num(arg2)
if(amount < 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_AMOUNT_GREATER)
return PLUGIN_HANDLED
}

if(arg[0] == '@')
{
new players[32], pnum, i;
if(containi(arg, "ALL") != -1) get_players(players, pnum)
else get_players(players, pnum, "ae", (containi(arg, "CT") != -1) ? "CT" : "TERRORIST");
if(!pnum) return PLUGIN_HANDLED;
new pid, money;
for(i = 0; i < pnum; i++)
{
pid = players[i];
money = amount + cs_get_user_money(pid);
if(money > 16000) money = 16000;
cs_set_user_money(pid, money)
}
switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_TEAM_CASE2", adminName, amount, arg[1]);
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_TEAM_CASE1", amount, arg[1]);
}
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_TEAM_MSG", amount, arg[1]);
log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_TEAM_LOG", adminName, adminAuthid, amount, arg[1]);
}
else
{

new player = cmd_target(id,arg,2)
if(!player) return PLUGIN_HANDLED

new playerName[32]
get_user_name(player,playerName,31)

new playerAuthid[36]
get_user_authid(player,playerAuthid,35)

cs_set_user_money(player,cs_get_user_money(player)+amount)

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_PLAYER_CASE2",adminName,amount,playerName)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_PLAYER_CASE1",amount,playerName)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_GIVEMONEY_PLAYER_MSG",amount,playerName,amount)
log_amx("%L", LANG_SERVER, "AMX_SUPER_GIVEMONEY_PLAYER_LOG",adminName,adminAuthid,amount,playerName,playerAuthid)

}
return PLUGIN_HANDLED
}

public admin_takemoney(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED

new arg[32], arg2[32]
read_argv(1,arg,32)
read_argv(2,arg2,31)

new player = cmd_target(id,arg,2)
if(!player) return PLUGIN_HANDLED

new playerName[32], adminName[32]
get_user_name(player,playerName,31)
get_user_name(id,adminName,31)

new playerAuthid[36], adminAuthid[36]
get_user_authid(player,playerAuthid,35)
get_user_authid(id,adminAuthid,35)

new amount = str_to_num(arg2)

if(amount < 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_AMOUNT_GREATER)
return PLUGIN_HANDLED
}

if (amount > cs_get_user_money(player)) {
cs_set_user_money(player,0)

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_ALL_PLAYER_CASE2",adminName,playerName)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_ALL_PLAYER_CASE1",playerName)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_ALL_PLAYER_MSG",amount,playerName,amount)
log_amx("%L", LANG_SERVER, "AMX_SUPER_TAKEMONEY_ALL_PLAYER_LOG",adminName,adminAuthid,playerName,playerAuthid)

return PLUGIN_HANDLED
}

else {
cs_set_user_money(player,cs_get_user_money(player)-amount)

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_PLAYER_CASE2",adminName,amount,playerName)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_PLAYER_CASE1",amount,playerName)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_TAKEMONEY_PLAYER_MSG",amount,playerName,amount)
log_amx("%L", LANG_SERVER, "AMX_SUPER_TAKEMONEY_PLAYER_LOG",adminName,adminAuthid,amount,playerName,playerAuthid)

return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN ALLTALK v1.0 by BigBaller
//==========================================================================================================
public admin_alltalk(id,level,cid)
{
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED

if (read_argc() < 2) {
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ALLTALK_STATUS",get_pcvar_num(sv_alltalk))
return PLUGIN_HANDLED
}

new alltalk[6]
read_argv(1,alltalk,6)
server_cmd("sv_alltalk %s",alltalk)

new name[32], authid[36]
get_user_name(id,name,31)
get_user_authid(id,authid,35)

switch(get_pcvar_num(amx_show_activity)){
case 2 : client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ALLTALK_SET_CASE2",name,alltalk)
case 1 : client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ALLTALK_SET_CASE1",alltalk)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ALLTALK_MSG",alltalk)
log_amx("%L", LANG_SERVER, "AMX_SUPER_ALLTALK_LOG", name,authid,alltalk)

return PLUGIN_HANDLED
}

public check_alltalk(id){
new alltalk = get_pcvar_num(sv_alltalk)
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ALLTALK_STATUS",alltalk)
return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN GRAVITY v0.2 by JustinHoMi
//==========================================================================================================
public admin_gravity(id,level,cid)
{
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED

if (read_argc() < 2) {
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_GRAVITY_STATUS",get_pcvar_num(sv_gravity))
return PLUGIN_HANDLED
}

new gravity[6]
read_argv(1,gravity,6)
server_cmd("sv_gravity %s",gravity)

new name[32], authid[36]
get_user_name(id,name,31)
get_user_authid(id,authid,35)

switch(get_pcvar_num(amx_show_activity)){
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_GRAVITY_SET_CASE2",name,gravity)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_GRAVITY_SET_CASE1",gravity)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_GRAVITY_MSG",gravity)
log_amx("%L", LANG_SERVER, "AMX_SUPER_GRAVITY_LOG", name,authid,gravity)

return PLUGIN_HANDLED
}

public check_gravity(id){
new gravity = get_pcvar_num(sv_gravity)
client_print(id,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_GRAVITY_CHECK",gravity)
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN BURY v0.9.3 by f117bomb
//Revised by Bo0m!
//==========================================================================================================
bury_player(id,victim){
new name[32], iwpns[32], nwpn[32], iwpn
get_user_name(victim,name,31)
get_user_weapons(victim,iwpns,iwpn)
for(new a=0;a<iwpn;++a) {
get_weaponname(iwpns[a],nwpn,31)
engclient_cmd(victim,"drop",nwpn)
}
engclient_cmd(victim,weapons[WEAPON_KNIFE])
new origin[3]
get_user_origin(victim, origin)
origin[2] -= 30
fm_set_user_origin(victim, origin)
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_BURY_MSG",name)
}


public admin_bury(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32], admin_name[32], player_name[32], admin_authid[36], player_authid[36]
read_argv(1,arg,31)
get_user_name(id,admin_name,31)
get_user_authid(id,admin_authid,35)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum,"a")
else get_players(players,inum,"ae",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a=0;a<inum;++a){
if (get_user_flags(players[a])&ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],player_name,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,player_name)
continue
}
bury_player(id,players[a])
}
switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_BURY_TEAM_CASE2",admin_name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_BURY_TEAM_CASE1",arg[1])
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_TEAM_LOG",admin_name,admin_authid,arg[1])
}
else {
new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED
bury_player(id,player)

get_user_name(player,player_name,31)
get_user_authid(player,player_authid,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_BURY_PLAYER_CASE2",admin_name,player_name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_BURY_PLAYER_CASE1",player_name)
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_BURY_PLAYER_LOG",admin_name,admin_authid,player_name,player_authid)
}
return PLUGIN_HANDLED
}

unbury_player(id,victim){
new name[32], origin[3]
get_user_name(victim,name,31)
get_user_origin(victim, origin)
origin[2] += 35
fm_set_user_origin(victim, origin)
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_UNBURY_MSG",name)
}

public admin_unbury(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32], admin_name[32], player_name[32], admin_authid[36], player_authid[36]
read_argv(1,arg,31)
get_user_name(id,admin_name,31)
get_user_authid(id,admin_authid,35)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum,"a")
else get_players(players,inum,"ae",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a=0;a<inum;++a){
if (get_user_flags(players[a])&ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],player_name,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,player_name)
continue
}
unbury_player(id,players[a])
}
switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UNBURY_TEAM_CASE2",admin_name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UNBURY_TEAM_CASE1",arg[1])
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_TEAM_LOG",admin_name,admin_authid,arg[1])
}
else {
new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED
unbury_player(id,player)

get_user_name(player,player_name,31)
get_user_authid(player,player_authid,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UNBURY_PLAYER_CASE2",admin_name,player_name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UNBURY_PLAYER_CASE1",player_name)
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_UNBURY_PLAYER_LOG",admin_name,admin_authid,player_name,player_authid)
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN DISARM v1.1 by mike_cao
//Revised by Bo0m!
//==========================================================================================================
disarm_player(id,victim){

new name[32], origin[3]
get_user_origin(victim,origin)
origin[2] -= 2000
fm_set_user_origin(victim,origin)
new iweapons[32], wpname[32], inum
get_user_weapons(victim,iweapons,inum)
for(new a=0;a<inum;++a){
get_weaponname(iweapons[a],wpname,31)
engclient_cmd(victim,"drop",wpname)
}
engclient_cmd(victim,weapons[WEAPON_KNIFE])
origin[2] += 2005
fm_set_user_origin(victim,origin)
get_user_name(victim,name,31)
console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_DISARM_MSG",name)
}

public admin_disarm(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32], admin_name[32], player_name[32], admin_authid[36], player_authid[36]
read_argv(1,arg,31)
get_user_name(id,admin_name,31)
get_user_authid(id,admin_authid,35)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum,"a")
else get_players(players,inum,"ae",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a=0;a<inum;++a){
if (get_user_flags(players[a])&ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],player_name,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,player_name)
continue
}
disarm_player(id,players[a])
}
switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_DISARM_TEAM_CASE2",admin_name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_DISARM_TEAM_CASE1",arg[1])
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_TEAM_LOG",admin_name,admin_authid,arg[1])
}
else {
new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED
disarm_player(id,player)

get_user_name(player,player_name,31)
get_user_authid(player,player_authid,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_DISARM_PLAYER_CASE2",admin_name,player_name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_DISARM_PLAYER_CASE1",player_name)
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_DISARM_PLAYER_LOG",admin_name,admin_authid,player_name,player_authid)
}
return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN SLAY 2 v0.9.3 by f117bomb
//Revised by JTP10181
//==========================================================================================================
public admin_slay(id,level,cid)
{
if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

new arg[32], arg2[3], type
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
read_argv(2,arg2,2)
type = str_to_num(arg2)
get_user_name(id,name,31)
get_user_authid(id,authid,35)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0; a < inum; a++) {
if (get_user_flags(players[a]) & ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],name2,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,name2)
continue
}
slay_player(players[a],type)
}
switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_TEAM_CASE2",name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_TEAM_CASE1",arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_TEAM_MSG",arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_TEAM_LOG",name,authid,arg[1])
}
else {
new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

slay_player(player,type)

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_PLAYER_CASE1",name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_SLAY2_PLAYER_MSG", name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_SLAY2_PLAYER_LOG", name,authid,name2,authid2)
}
return PLUGIN_HANDLED
}

slay_player(victim,type)
{
new origin[3], srco[3]
get_user_origin(victim,origin)

origin[2] -= 26
srco[0] = origin[0]+150
srco[1] = origin[1]+150
srco[2] = origin[2]+400

switch (type) {
case 1: {
lightning(srco,origin)
emit_sound(victim,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 2:{
blood(origin)
emit_sound(victim,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 3: {
explode(origin)
}
}
user_kill(victim,1)
}

explode (vec1[3]) {

//Blast Circles
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 21 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 16)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 1936)
write_short( white )
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(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_byte( 188 ) // byte (scale in 0.1's)
write_byte( 10 ) // byte (framerate)
message_end()

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

blood (vec1[3]) {

//LAVASPLASH
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 10 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
message_end()
}

lightning (vec1[3],vec2[3]) {

//Lightning
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 0 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_coord(vec2[0])
write_coord(vec2[1])
write_coord(vec2[2])
write_short( light )
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,vec2)
write_byte( 9 )
write_coord( vec2[0] )
write_coord( vec2[1] )
write_coord( vec2[2] )
message_end()

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


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN FIRE v1.0.0 by f117bomb
//==========================================================================================================
new bool:onfire[33]

public ignite_effects(skIndex[]) {
new kIndex = skIndex[0]


if (is_user_alive(kIndex) && onfire[kIndex] ) {
new korigin[3]
get_user_origin(kIndex,korigin)

//TE_SPRITE - additive sprite, plays 1 cycle
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 17 )
write_coord(korigin[0]) // coord, coord, coord (position)
write_coord(korigin[1])
write_coord(korigin[2])
write_short( mflash ) // 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,korigin)
write_byte( 5 )
write_coord(korigin[0])// coord coord coord (position)
write_coord(korigin[1])
write_coord(korigin[2])
write_short( smoke )// 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" , 0 , skIndex, 2)
}
else {
if( onfire[kIndex] ) {
emit_sound(kIndex,CHAN_AUTO, "scientist/scream21.wav", 0.6, ATTN_NORM, 0, PITCH_HIGH)
onfire[kIndex] = false
}
}
return PLUGIN_CONTINUE
}

public ignite_player(skIndex[]) {
new kIndex = skIndex[0]

if (is_user_alive(kIndex) && onfire[kIndex] ) {
new korigin[3]
new players[32], inum = 0
new pOrigin[3]
new kHeath = get_user_health(kIndex)
get_user_origin(kIndex,korigin)

//create some damage
fm_set_user_health(kIndex,kHeath - 10)
message_begin(MSG_ONE, gmsgDamage, {0,0,0}, kIndex)
write_byte(30) // dmg_save
write_byte(30) // dmg_take
write_long(1<<21) // visibleDamageBits
write_coord(korigin[0]) // damageOrigin.x
write_coord(korigin[1]) // damageOrigin.y
write_coord(korigin[2]) // damageOrigin.z
message_end()

//create some sound
emit_sound(kIndex,CHAN_ITEM, "ambience/flameburst1.wav", 0.6, ATTN_NORM, 0, PITCH_NORM)

//Ignite Others
if ( get_pcvar_num(allowcatchfire)) {
get_players(players,inum,"a")
for(new i = 0 ;i < inum; ++i) {
get_user_origin(players[i],pOrigin)

if( get_distance(korigin,pOrigin) < 100 ) {

if( !onfire[players[i]] ) {

new spIndex[2]
spIndex[0] = players[i]
new pName[32], kName[32]
get_user_name(players[i],pName,31)
get_user_name(kIndex,kName,31)
emit_sound(players[i],CHAN_WEAPON ,"scientist/scream07.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH)
client_print(0,3,"* [AMX] OH! NO! %s has caught %s on fire!",kName,pName)
onfire[players[i]] = true
ignite_player(players[i])
ignite_effects(players[i])
}
}
}
players[0] = 0
pOrigin[0] = 0
korigin[0] = 0
}
//Call Again in 2 seconds
set_task(2.0, "ignite_player" , 0 , skIndex, 2)
}

return PLUGIN_CONTINUE
}


public admin_fire(id,level,cid) {
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32]
read_argv(1,arg,31)
new skIndex[2];
new adminname[32], adminauthid[36]
get_user_name(id,adminname,31)
get_user_authid(id,adminauthid,35)
if(arg[0] == '@')
{
new players[32], pnum;
if(equali(arg[1], "ALL")) get_players(players, pnum, "a")
else get_players(players, pnum, "ae", (equali(arg[1], "CT")) ? "CT" : "TERRORIST");
if(!pnum) return PLUGIN_HANDLED;
new i, pid;
for(i = 0; i < pnum; i++)
{
pid = players[i];
skIndex[0] = pid;
onfire[pid] = true;
ignite_effects(skIndex);
ignite_player(skIndex);
}
switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_FIRE_TEAM_CASE2", adminname, arg[1]);
case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "AMX_SUPER_FIRE_TEAM_CASE1", arg[1]);
}
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_FIRE_TEAM_MSG", arg[1]);
log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_TEAM_LOG", adminname, adminauthid, arg[1]);
}
else
{
new victim = cmd_target(id,arg,7)
if (!victim)
return PLUGIN_HANDLED

skIndex[0] = victim
new name[32], victimauthid[36]
get_user_name(victim,name,31)
get_user_authid(victim,victimauthid,35)

onfire[victim] = true
ignite_effects(skIndex)
ignite_player(skIndex)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FIRE_PLAYER_CASE2",adminname,name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_FIRE_PLAYER_CASE1",name)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_FIRE_PLAYER_MSG",name)
log_amx("%L", LANG_SERVER, "AMX_SUPER_FIRE_PLAYER_LOG",adminname,adminauthid,name,victimauthid)
}

return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN ROCKET v1.3 by f117bomb
//Revised by JTP10181
//==========================================================================================================
new rocket_z[33]

public admin_rocket(id,level,cid)
{

if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

new arg[32]
new name[32], name2[32], authid[36], authid2[36]
read_argv(1,arg,31)
get_user_name(id,name,31)
get_user_authid(id,authid,35)

if (arg[0]=='@'){
new players[32], inum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(players,inum)
else get_players(players,inum,"e",arg[1])

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a = 0; a < inum; a++) {
if (get_user_flags(players[a]) & ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],name2,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,name2)
continue
}

emit_sound(players[a],CHAN_WEAPON ,"weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
fm_set_user_maxspeed(players[a],0.01)
set_task(1.2, "rocket_liftoff" , players[a])
}

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_TEAM_CASE2",name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_TEAM_CASE1",arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_TEAM_MSG",arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_TEAM_LOG",name,authid,arg[1])

}
else {

new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED

emit_sound(player,CHAN_WEAPON ,"weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
fm_set_user_maxspeed(player,0.01)
set_task(1.2, "rocket_liftoff", player)

get_user_name(player,name2,31)
get_user_authid(player,authid2,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_PLAYER_CASE2",name,name2)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_PLAYER_CASE1",name2)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_ROCKET_PLAYER_MSG", name2)
log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_PLAYER_LOG", name,authid,name2,authid2)
}
return PLUGIN_HANDLED
}

public rocket_liftoff(victim)
{
if (!is_user_alive(victim)) return
fm_set_user_gravity(victim,-0.50)
client_cmd(victim,"+jump;wait;wait;-jump")
emit_sound(victim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM)
rocket_effects(victim)
}

public rocket_effects(victim)
{
if (!is_user_alive(victim)) return

new vorigin[3]
get_user_origin(victim,vorigin)

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

if (rocket_z[victim] == vorigin[2]) {
rocket_explode(victim)
}

rocket_z[victim] = vorigin[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( vorigin[0]) // coord, coord, coord (start)
write_coord( vorigin[1])
write_coord( vorigin[2])
write_coord( vorigin[0]) // coord, coord, coord (end)
write_coord( vorigin[1])
write_coord( vorigin[2] - 30)
write_short( blueflare2 ) // 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(vorigin[0]) // coord, coord, coord (position)
write_coord(vorigin[1])
write_coord(vorigin[2] - 30)
write_short( mflash ) // 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", victim)
}

public rocket_explode(victim)
{
if (is_user_alive(victim)) {
new vec1[3]
get_user_origin(victim,vec1)

// blast circles
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 21 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] - 10)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 1910)
write_short( white )
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(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_byte( 188 ) // byte (scale in 0.1's)
write_byte( 10 ) // byte (framerate)
message_end()

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

user_kill(victim,1)
}

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

fm_set_user_maxspeed(victim,1.0)
fm_set_user_gravity(victim,1.00)
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//AMX UBER SLAP v0.9.3 by BarMan (Skullz.NET)
//==========================================================================================================
public admin_slap(id,level,cid){

if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new name[32], name2[32], authid[36], authid2[36]
new arg[32]
read_argv(1,arg,31)

new player = cmd_target(id,arg,7)
if (!player)
return PLUGIN_HANDLED

new ids[2]
ids[0] = player

get_user_name(player,name,32)
get_user_authid(player,authid,35)

udisarm_player(id,player)
set_task(0.1, "slap_player", 0, ids, 1, "a", 100)

get_user_name(id,name2,31)
get_user_authid(id,authid2,35)

switch(get_pcvar_num(amx_show_activity))
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UBERSLAP_PLAYER_CASE2",name2,name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_UBERSLAP_PLAYER_CASE1",name)

}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_UBERSLAP_PLAYER_MSG",name)
log_amx("%L", LANG_SERVER, "AMX_SUPER_UBERSLAP_PLAYER_LOG",name2,authid2,name,authid)

return PLUGIN_HANDLED
}

public udisarm_player(id,victim){

new name[32], origin[3]

get_user_origin(victim,origin)
origin[2] -= 2000
fm_set_user_origin(victim,origin)

new iweapons[32], wpname[32], inum
get_user_weapons(victim,iweapons,inum)

for(new a=0;a<inum;++a){

get_weaponname(iweapons[a],wpname,31)
engclient_cmd(victim,"drop",wpname)
}

engclient_cmd(victim,weapons[WEAPON_KNIFE])
origin[2] += 2005
fm_set_user_origin(victim,origin)
get_user_name(victim,name,31)

return PLUGIN_CONTINUE
}

public slap_player(ids[]) {

new id = ids[0]
new upower = 1,nopower= 0

if (get_user_health(id) > 1)
{
user_slap(id,upower)

} else {

user_slap(id,nopower)
}

return PLUGIN_CONTINUE
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AMX EXEC 2 v0.3 by v3x
//==========================================================================================================
public admin_exec(id,level,cid)
{

if(!cmd_access(id,level,cid,3))
{
return PLUGIN_HANDLED
}

new arg[32]
new command[64]
new players[32]
new player,num,i,whoTeam

read_argv(1,arg,31)
read_argv(2,command,63)

remove_quotes(command)

while(replace(command,63,"\'","^"")) { } // Credited to OLO

new activity = get_pcvar_num(amx_show_activity)

new admin[32], adminauthid[36]
get_user_name(id,admin,31)
get_user_authid(id,adminauthid,35)

if(arg[0]=='@') {
whoTeam = get_team_target(arg,players,num)

if(!(num))
{
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}


for(i=0;i<num;i++)
{

player = players[i]

if(!is_user_connected(player)) continue

else if(player)
{

if(!(get_user_flags(player) & ADMIN_IMMUNITY))
{
client_cmd(player,command)
}
}
}

if(whoTeam == GET_TEAM_TARGET_ISALL)
{
switch(activity)
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_ALL_CASE2",admin,command)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_ALL_CASE1",command)
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_EXEC_ALL_LOG",admin,adminauthid,command)
} else {
switch(activity)
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_TEAM_CASE2",admin,command,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_TEAM_CASE1",command,arg[1])
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_EXEC_TEAM_LOG",admin,adminauthid,command,arg[1])
}
}

else
{
new target = cmd_target(id,arg,3)
new name[33], playerauthid[36]

if(!is_user_connected(target))
{
return PLUGIN_HANDLED
}

get_user_name(target,name,32)
get_user_authid(target,playerauthid,35)

if(!(get_user_flags(target) & ADMIN_IMMUNITY))
{
client_cmd(target,command)
}


switch(activity)
{
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_PLAYER_CASE2",admin,command,name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_EXEC_PLAYER_CASE1",command,name)
}
log_amx("%L", LANG_PLAYER, "AMX_SUPER_EXEC_PLAYER_LOG",admin,adminauthid,command,name,playerauthid)

}

return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//STATUS from AdminModX by Zor Revisions by X-olent
//==========================================================================================================
public admin_status(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new len = 0, message[1024], temp[32]

len += format(message[len], (1023-len), "<table>")

new player_id[32], player_num, ping = 0, loss = 0
new time = 0, seconds = 0, minutes = 0, hours = 0

get_players(player_id, player_num, "c")

for(new i = 0; i < player_num; i++)
{
// ID
len += format(message[len], (1023-len), "<tr><td>#</td><td>%d</td></tr>", get_user_userid(player_id[i]))
len += format(message[len], (1023-len), "<tr><td>Edict</td><td>%d</td>", id)

// Name
get_user_name(player_id[i], temp, 31)
len += format(message[len], (1023-len), "<tr><td>Nick</td><td>%s</td>", temp)

// Steam ID
get_user_authid(player_id[i], temp, 31)
len += format(message[len], (1023-len), "<tr><td>Steam</td><td>%s</td>", temp)

// Ip
get_user_ip(player_id[i], temp, 31)
len += format(message[len], (1023-len), "<tr><td>IP</td><td>%s</td>", temp)

// Flags
get_flags(get_user_flags(player_id[i]), temp, 31)
len += format(message[len], (1023-len), "<tr><td>Flags</td><td>%s</td>", temp)

// Frags
len += format(message[len], (1023-len), "<tr><td>Frags</td><td>%d</td>", get_user_frags(player_id[i]))

// Death
len += format(message[len], (1023-len), "<tr><td>Deaths</td><td>%d</td>", get_user_deaths(player_id[i]))

// Health
len += format(message[len], (1023-len), "<tr><td>Health</td><td>%d</td>", get_user_health(player_id[i]))

// Ping
get_user_ping(player_id[i], ping, loss)
len += format(message[len], (1023-len), "<tr><td>Ping</td><td>%d</td>", ping)
len += format(message[len], (1023-len), "<tr><td>Loss</td><td>%d</td>", loss)

// Team
get_user_team(player_id[i], temp, 31)
len += format(message[len], (1023-len), "<tr><td>Team</td><td>%s</td>", temp)

// Time in Seconds Playing
time = get_user_time( player_id[i] )
seconds = time
while( seconds >= 60 )
seconds -= 60
minutes = ( time - seconds ) / 60
hours = minutes
while( minutes >= 60 )
minutes -= 60
hours = ( hours - minutes ) / 60
len += format(message[len], (1023-len), "<tr><td>Time On</td><td>%d:%d:%d</td>", hours, minutes, seconds)
}

len += format(message[len], (1023-len), "</table>")

show_motd(id, message, "Status")

return PLUGIN_CONTINUE
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//SERVER PASSWORD v1.0 by Sparky911
//==========================================================================================================
public admin_pass(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new cmd[32], password[128]

read_argv(0, cmd, 31)
read_args(password, 127)
replace(password, 127, cmd, "")
format(password, 127, "%s", password)

new authid[36]
new name[32]
get_user_name(id, name, 31)
get_user_authid(id, authid, 35)

switch (get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_PASSWORD_SET_CASE2",name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_PASSWORD_SET_CASE1")
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_PASSWORD_SET_LOG",name,authid,password)
set_pcvar_string(sv_password, password)

return PLUGIN_HANDLED
}

public admin_nopass(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new authid[36]
new name[32]
get_user_name(id, name, 31)
get_user_authid(id, authid, 35)

switch (get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_PASSWORD_REMOVE_CASE2",name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_PASSWORD_REMOVE_CASE1")
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_PASSWORD_REMOVE_LOG",name,authid)
set_pcvar_string(sv_password, "")

return PLUGIN_HANDLED
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN QUIT v1.1 by Bo0m! (Originally from AdminModX by Zor)
//==========================================================================================================
public admin_quit(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED

new arg[32], admin_name[32], player_name[32], admin_authid[36], player_authid[36]
read_argv(1,arg,31)
get_user_name(id,admin_name,31)
get_user_authid(id,admin_authid,35)

if (arg[0]=='@'){
new players[32], inum
get_team_target(arg,players,inum)

if (inum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}

for(new a=0;a<inum;++a){
if (get_user_flags(players[a])&ADMIN_IMMUNITY && players[a] != id){
get_user_name(players[a],player_name,31)
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_TEAM_IMMUNITY,player_name)
continue
}
client_cmd(players[a], "quit")
client_cmd(0,"spk ambience/thunder_clap.wav")
}
switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_QUIT_TEAM_CASE2",admin_name,arg[1])
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_QUIT_TEAM_CASE1",arg[1])
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_QUIT_TEAM_LOG",admin_name,admin_authid,arg[1])
}
else {
new player = cmd_target(id,arg,3)
if (!player) return PLUGIN_HANDLED
client_cmd(player, "quit")
emit_sound(0, CHAN_VOICE, "ambience/thunder_clap.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

get_user_name(player,player_name,31)
get_user_authid(player,player_authid,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_QUIT_PLAYER_CASE2",admin_name,player_name)
case 1: client_print(0,print_chat,"%L", LANG_PLAYER, "AMX_SUPER_QUIT_PLAYER_CASE1",player_name)
}
log_amx("%L", LANG_SERVER, "AMX_SUPER_QUIT_PLAYER_LOG",admin_name,admin_authid,player_name,player_authid)
}
return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ADMIN WEAPON III Build 6.7 by SniperBeamer\Girthesniper\Meatwad
//Revised by Bo0m!
//Upgraded by [DeathTV] Sid 6.7
//==========================================================================================================
public admin_weapon(id,level,cid)
{
if ( !cmd_access(id,level,cid,3) )
return PLUGIN_HANDLED

new arg[32],arg2[8],weapon
new aName[32], aAuthid[36]
read_argv(1,arg,31)
read_argv(2,arg2,7)
get_user_name(id,aName,31)
get_user_authid(id,aAuthid,35)

weapon = str_to_num(arg2)

if(!weapon){
//cycle thru our weapons array under position 30 until match
for(new i; i < 30; i++){
if(containi(arg2,weapons[i][7]) != -1){
weapon = RLWT[i]
break
}
}
}

if (arg[0]=='@'){
new plist[32], pnum
if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
if (equali("ALL",arg[1])) get_players(plist,pnum,"a")
else get_players(plist,pnum,"ae",arg[1])

if (pnum == 0) {
console_print(id,"%L", LANG_PLAYER, AMX_SUPER_NO_PLAYERS)
return PLUGIN_HANDLED
}


for(new i=0; i<pnum; i++)
give_weapon(plist[i],weapon)

switch(get_pcvar_num(amx_show_activity)) {
case 2: console_print(0,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_TEAM_CASE2",aName,arg[1])
case 1: console_print(0,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_TEAM_CASE1",arg[1])
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_TEAM_MSG",weapon,arg[1])
log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_TEAM_LOG",aName,aAuthid,weapon,arg[1])
}
else
{
new pName[32], pAuthid[36]
new player = cmd_target(id,arg,7)
if (!player) return PLUGIN_HANDLED
give_weapon(player,weapon)
get_user_name(player,pName,31)
get_user_authid(player,pAuthid,35)

switch(get_pcvar_num(amx_show_activity)) {
case 2: console_print(0,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_PLAYER_CASE2",aName,pName)
case 1: console_print(0,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_PLAYER_CASE1",pName)
}

console_print(id,"%L", LANG_PLAYER, "AMX_SUPER_WEAPON_PLAYER_MSG",weapon,pName)
log_amx("%L", LANG_SERVER, "AMX_SUPER_WEAPON_PLAYER_LOG",aName,aAuthid,weapon,pName,pAuthid)
}
return PLUGIN_HANDLED
}

give_weapon(id,weapon)
{
switch (weapon)
{
//Secondary weapons
//Pistols
case 1:{
fm_give_item(id,weapons[WEAPON_KNIFE])
}
case 11:{
fm_give_item(id,weapons[WEAPON_GLOCK18])
fm_give_item_x(id,ammo_9mm,8)
}
case 12:{
fm_give_item(id,weapons[WEAPON_USP])
fm_give_item_x(id,ammo_45acp,9)
}
case 13:{
fm_give_item(id,weapons[WEAPON_P228])
fm_give_item_x(id,ammo_357sig,6)
}
case 14:{
fm_give_item(id,weapons[WEAPON_DEAGLE])
fm_give_item_x(id,ammo_50ae,7)
}
case 15:{
fm_give_item(id,weapons[WEAPON_FIVESEVEN])
fm_give_item_x(id,ammo_57mm,4)
}
case 16:{
fm_give_item(id,weapons[WEAPON_ELITE])
fm_give_item_x(id,ammo_9mm,8)
}
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 weapons
//Shotguns
case 21:{
fm_give_item(id,weapons[WEAPON_M3])
fm_give_item_x(id,ammo_buckshot,4)
}
case 22:{
fm_give_item(id,weapons[WEAPON_XM1014])
fm_give_item_x(id,ammo_buckshot,4)
}
//SMGs
case 31:{
fm_give_item(id,weapons[WEAPON_TMP])
fm_give_item_x(id,ammo_9mm,8)
}
case 32:{
fm_give_item(id,weapons[WEAPON_MAC10])
fm_give_item_x(id,ammo_45acp,9)
}
case 33:{
fm_give_item(id,weapons[WEAPON_MP5NAVY])
fm_give_item_x(id,ammo_9mm,8)
}
case 34:{
fm_give_item(id,weapons[WEAPON_P90])
fm_give_item_x(id,ammo_57mm,4)
}
case 35:{
fm_give_item(id,weapons[WEAPON_UMP45])
fm_give_item_x(id,ammo_45acp,9)
}
//Rifles
case 40:{
fm_give_item(id,weapons[WEAPON_FAMAS])
fm_give_item_x(id,ammo_556nato,3)
}
case 41:{
fm_give_item(id,weapons[WEAPON_GALIL])
fm_give_item_x(id,ammo_556nato,3)
}
case 42:{
fm_give_item(id,weapons[WEAPON_AK47])
fm_give_item_x(id,ammo_762nato,3)
}
case 43:{
fm_give_item(id,weapons[WEAPON_M4A1])
fm_give_item_x(id,ammo_556nato,3)
}
case 44:{
fm_give_item(id,weapons[WEAPON_SG552])
fm_give_item_x(id,ammo_556nato,3)
}
case 45:{
fm_give_item(id,weapons[WEAPON_AUG])
fm_give_item_x(id,ammo_556nato,3)
}
case 46:{
fm_give_item(id,weapons[WEAPON_SCOUT])
fm_give_item_x(id,ammo_762nato,3)
}
case 47:{
fm_give_item(id,weapons[WEAPON_SG550])
fm_give_item_x(id,ammo_556nato,3)
}
case 48:{
fm_give_item(id,weapons[WEAPON_AWP])
fm_give_item_x(id,ammo_338magnum,3)
}
case 49:{
fm_give_item(id,weapons[WEAPON_G3SG1])
fm_give_item_x(id,ammo_762nato,3)
}
//Machine gun (M249 Para)
case 51:{
fm_give_item(id,weapons[WEAPON_M249])
fm_give_item_x(id,ammo_556natobox,7)
}
//Shield combos
case 60:{
fm_give_item(id,weapons[WEAPON_SHIELD])
fm_give_item(id,weapons[WEAPON_GLOCK18])
fm_give_item_x(id,ammo_9mm,8)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
case 61:{
fm_give_item(id,weapons[WEAPON_SHIELD])
fm_give_item(id,weapons[WEAPON_USP])
fm_give_item_x(id,ammo_45acp,9)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
case 62:{
fm_give_item(id,weapons[WEAPON_SHIELD])
fm_give_item(id,weapons[WEAPON_P228])
fm_give_item_x(id,ammo_357sig,6)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
case 63:{
fm_give_item(id,weapons[WEAPON_SHIELD])
fm_give_item(id,weapons[WEAPON_DEAGLE])
fm_give_item_x(id,ammo_50ae,7)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
case 64:{
fm_give_item(id,weapons[WEAPON_SHIELD])
fm_give_item(id,weapons[WEAPON_FIVESEVEN])
fm_give_item_x(id,ammo_57mm,4)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
//Equipment
case 81:{
fm_give_item(id,weapons[ITEM_KEVLAR])
}
case 82:{
fm_give_item(id,weapons[ITEM_ASSAULTSUIT])
}
case 83:{
fm_give_item(id,weapons[WEAPON_HEGRENADE])
}
case 84:{
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
}
case 85:{
fm_give_item(id,weapons[WEAPON_SMOKEGRENADE])
}
case 86:{
fm_give_item(id,weapons[ITEM_THIGHPACK])
}
case 87:{
fm_give_item(id,weapons[WEAPON_SHIELD])
}
//All ammo
case 88:{
fm_give_item_x(id,ammo_45acp,9)
fm_give_item_x(id,ammo_357sig,6)
fm_give_item_x(id,ammo_9mm,8)
fm_give_item_x(id,ammo_50ae,7)
fm_give_item_x(id,ammo_57mm,4)
fm_give_item_x(id,ammo_buckshot,4)
fm_give_item_x(id,ammo_556nato,3)
fm_give_item_x(id,ammo_762nato,3)
fm_give_item_x(id,ammo_338magnum,3)
fm_give_item_x(id,ammo_556natobox,7)
}
//All grenades
case 89:{
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_SMOKEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
}
//C4
case 91:{
fm_give_item(id,weapons[WEAPON_C4])
cs_set_user_plant(id,1,1)
}
case 92:{
cs_set_user_nvg(id, 1)
}
//AWM Combo.
case 100:{
fm_give_item(id,weapons[WEAPON_AWP])
fm_give_item(id,weapons[WEAPON_DEAGLE])
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_SMOKEGRENADE])
fm_give_item_x(id,ammo_338magnum,3)
fm_give_item_x(id,ammo_50ae,7)
fm_give_item(id,weapons[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
fm_give_item(id,weapons[WEAPON_USP])
fm_give_item(id,weapons[WEAPON_GLOCK18])
fm_give_item(id,weapons[WEAPON_DEAGLE])
fm_give_item(id,weapons[WEAPON_P228])
fm_give_item(id,weapons[WEAPON_ELITE])
fm_give_item(id,weapons[WEAPON_FIVESEVEN])
fm_give_item(id,weapons[WEAPON_M3])
fm_give_item(id,weapons[WEAPON_XM1014])
fm_give_item(id,weapons[WEAPON_TMP])
fm_give_item(id,weapons[WEAPON_MAC10])
fm_give_item(id,weapons[WEAPON_MP5NAVY])
fm_give_item(id,weapons[WEAPON_P90])
fm_give_item(id,weapons[WEAPON_UMP45])
fm_give_item(id,weapons[WEAPON_FAMAS])
fm_give_item(id,weapons[WEAPON_GALIL])
fm_give_item(id,weapons[WEAPON_AK47])
fm_give_item(id,weapons[WEAPON_M4A1])
fm_give_item(id,weapons[WEAPON_SG552])
fm_give_item(id,weapons[WEAPON_AUG])
fm_give_item(id,weapons[WEAPON_SCOUT])
fm_give_item(id,weapons[WEAPON_SG550])
fm_give_item(id,weapons[WEAPON_AWP])
fm_give_item(id,weapons[WEAPON_G3SG1])
fm_give_item(id,weapons[WEAPON_M249])
fm_give_item_x(id,ammo_45acp,9)
fm_give_item_x(id,ammo_357sig,6)
fm_give_item_x(id,ammo_9mm,8)
fm_give_item_x(id,ammo_50ae,7)
fm_give_item_x(id,ammo_57mm,4)
fm_give_item_x(id,ammo_buckshot,4)
fm_give_item_x(id,ammo_556nato,3)
fm_give_item_x(id,ammo_762nato,3)
fm_give_item_x(id,ammo_338magnum,3)
fm_give_item_x(id,ammo_556natobox,7)
fm_give_item(id,weapons[WEAPON_HEGRENADE])
fm_give_item(id,weapons[WEAPON_SMOKEGRENADE])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
fm_give_item(id,weapons[WEAPON_FLASHBANG])
}
default: return false
}
return true
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//SERVER SHUTDOWN/RESTART 2.2 by Hawk552
//==========================================================================================================
public fnShutDown(id,level,cid)
{
if(!cmd_access(id,level,cid,2) || g_bShuttingDown)
return PLUGIN_HANDLED

new szArg[6]
read_argv(0,szArg,5)

if(equali(szArg,"amx_r"))
g_iMode = RESTART

read_argv(1,szArg,5)
new iTime = str_to_num(szArg)

if(!iTime || iTime > 20)
{
console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_SHUTDOWN_CONSOLE")

return PLUGIN_HANDLED
}

new szName[32]
get_user_name(id,szName,31)

new szAuthid[32]
get_user_authid(id,szAuthid,31)

log_amx("%L", LANG_PLAYER, "AMX_SUPER_SHUTDOWN_MESSAGE_LOG",szName,id,szAuthid,g_iMode ? "restart" : "shutdown")

switch(get_pcvar_num(amx_show_activity))
{
case 1 : client_print(0,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SHUTDOWN_CASE1",g_iMode ? "Restart" : "Shutdown",iTime)
case 2 : client_print(0,print_chat, "%L", LANG_PLAYER, "AMX_SUPER_SHUTDOWN_CASE2",szName,g_iMode ? "Restart" : "Shutdown",iTime)
}

fnInitiate(iTime)

return PLUGIN_HANDLED
}

public fnInitiate(iTime)
{
g_bShuttingDown = true

new iCount
for(iCount = iTime;iCount != 0;iCount--)
set_task(float(abs(iCount-iTime)),"fnCallTime",iCount)

set_task(float(iTime),"fnCallTime",0)
}

public fnCallTime(iCount)
{
if(!iCount)
{
switch(g_iMode)
{
case SHUTDOWN :
server_cmd("quit")

case RESTART :
server_cmd("reload")
}
}

new szWord[32]
num_to_word(iCount,szWord,31)

client_cmd(0,"spk ^"fvox/%s^"",szWord)
}



////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Death Event
//==========================================================================================================
public event_death() {

//----------------------------------------------------------------------------------------------------------
//SPECTATOR BUG FIX v1.0 by ]FUSION[ Gray Death
//----------------------------------------------------------------------------------------------------------
new ids[1]
ids[0] = read_data(2)
set_task(1.0,"spectbugfix",0,ids,1)

//----------------------------------------------------------------------------------------------------------
//DEAD CHAT v2.1 by SuicideDog
//----------------------------------------------------------------------------------------------------------
if ( get_pcvar_num(deadchat) == 1 ) {
new id = read_data(2)
if (is_user_connected(id) && fm_get_speak(id) != SPEAK_MUTED )
fm_set_speak(id, SPEAK_LISTENALL)
client_print(id,print_center,"%L", LANG_PLAYER, "AMX_SUPER_DEADCHAT_MESSAGE")
}
return PLUGIN_CONTINUE
}

public spectbugfix(ids[]) {
client_cmd(ids[0],"+duck;-duck;spec_menu 0")
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Player Connecting Event
//==========================================================================================================
public client_connect(id) {

HasPermGod[id] = false
HasPermNoclip[id] = false

HasPermGlow[id] = false

set_user_speak(id,SPEAK_NORMAL2)
g_admin[id] = 0
g_speed[id] = false;

//----------------------------------------------------------------------------------------------------------
//"SHOWNDEAD" SCOREBOARD FIX v0.9.4 by EJ/Vantage/Mouse
//----------------------------------------------------------------------------------------------------------
if(!(is_user_bot(id)) ) {
message_begin(MSG_ALL, gmsg_TeamInfo, {0, 0, 0}, id)
write_byte(id)
write_string(SpecName)
message_end()
}

//----------------------------------------------------------------------------------------------------------
//LOADING SOUNDS v1.0 by [OSA]Odin/White Panther
//----------------------------------------------------------------------------------------------------------
if(get_pcvar_num(loadsong) == 1) {
new i
i = random_num(0,LOADINGSOUNDS-1)
client_cmd(id,"mp3 play media/%s",soundlist[i])
}

//----------------------------------------------------------------------------------------------------------
//AFK Manager by VEN
//----------------------------------------------------------------------------------------------------------
g_connected[id] = true

if (get_pcvar_num(afkcheck_allow) || !amx_reservation)
return PLUGIN_CONTINUE

if (get_playersnum(1) <= g_maxplayers - get_pcvar_num(amx_reservation) || !is_user_bot(id))
return PLUGIN_CONTINUE

static players[32], num, i, tchar[2]
new candidate, candidatetime
get_players(players, num, "b")
for (new x; x < num; ++x) {
i = players[x]

if (get_user_flags(i)&get_immune_access_flag())
continue

get_user_team(i, tchar, 1)
if (((tchar[0] == 'U' && get_user_time(i, 1) > get_pcvar_num(immune_time)) || tchar[0] == 'S') && (!candidatetime || g_specgametime[i] < candidatetime)) {
candidatetime = g_specgametime[i]
candidate = i
}
}

if (candidate) {
chat_msg(candidate, g_spec_kick_chat)
client_kick(candidate)
return PLUGIN_CONTINUE
}

static origin[3], afktime
get_players(players, num, "a")
for (new x; x < num; ++x) {
i = players[x]
get_user_origin(i, origin)
if (!is_user_afk(i, origin)) {
g_afktime[i] = 0
g_origin[i] = origin
continue
}

afktime = g_afktime[i]
if (afktime >= get_pcvar_num(max_afktime) && afktime > candidatetime) {
candidatetime = afktime
candidate = i
}
}

if (candidate) {
chat_msg(candidate, g_afk_kick_chat)
client_kick(candidate)
}

return PLUGIN_CONTINUE
}
public task_afk_check2() {

if(!get_pcvar_num(afkcheck_allow))
return

static players[32], num, i, bool:allafk, origin[3]
for (new a; a < 2; ++a) {
get_players(players, num, "ae", g_teamname[a])
allafk = true
for (new x; x < num; ++x) {
i = players[x]
get_user_origin(i, origin)
if (is_user_afk(i, origin)) {
g_afktime[i] += AFK_CHECK_INTERVAL
if (g_afktime[i] < get_pcvar_num(max_afktime))
allafk = false
}
else {
g_afktime[i] = 0
g_origin[i] = origin
allafk = false
}
}

if (!allafk)
continue

for (new x; x < num; ++x) {
i = players[x]
chat_msg(i, g_afktospec_chat)
user_to_spec(i)
}
}
}

public event_spectate() {
new id = read_data(1)
if (g_connected[id] && !g_specgametime[id])
g_specgametime[id] = floatround(get_gametime())
}

public event_playteam() {
new id = read_data(1)
if (g_connected[id])
clear_vars(id)
}

clear_vars(id) {
g_origin[id][0] = 0
g_origin[id][1] = 0
g_origin[id][2] = 0
g_afktime[id] = 0
g_specgametime[id] = 0
}

bool:is_user_afk(id, const origin[3]) {
return (origin[0] == g_origin[id][0] && origin[1] == g_origin[id][1])
}

chat_msg(id, const text[]) {
static name[32]
get_user_name(id, name, 31)
client_print(0, print_chat, "%L", LANG_PLAYER, text, name)
}

stock client_kick(id, const reason[] = "") {
server_cmd("kick #%d ^"%L^"", get_user_userid(id), reason)
server_exec()
}

stock user_to_spec(id) {
user_kill(id, 1)
engclient_cmd(id, "jointeam", "6")
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Player Spawn Event
//==========================================================================================================
public event_fm_DispatchSpawned(id) {

if(HasPermGod[id])
fm_set_user_godmode(id,1)

if(HasPermNoclip[id])
fm_set_user_noclip(id,1)

if ( get_pcvar_num(deadchat)==1 ) {
if (is_user_connected(id) && fm_get_speak(id) != SPEAK_MUTED )
fm_set_speak(id, SPEAK_NORMAL)
}
return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CurWeapon Event
//==========================================================================================================
public changeWeapon(id)
{
if(unammo[id])
{
new wpnid = read_data(2);
new clip = read_data(3);

if (wpnid == CSW_C4 || wpnid == CSW_KNIFE) return;
if (wpnid == CSW_HEGRENADE || wpnid == CSW_SMOKEGRENADE || wpnid == CSW_FLASHBANG) return;

if (clip == 0) reloadAmmo(id);
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Player Disconnect Event
//==========================================================================================================
public client_disconnect(id) {

fm_plinfo[id] = SPEAK_NORMAL;

HasPermGod[id] = false
HasPermNoclip[id] = false

HasPermGlow[id] = false

badaim[id] = false
autoban[id] = false

new param[1]
param[0] = id
set_task(2.0, "leave_msg", 0, param, 1)

for( new i = 0; i < 4; i++ )
g_glow[id][i] = 0

if( g_gagged[id] )
{
new name[32]
get_user_name( id, name, 31 )
get_user_authid( id, g_wasgagged[id], 31 )
client_print( 0, print_chat, "%L", LANG_PLAYER, AMX_SUPER_GAG_CONNECTED, name, g_wasgagged[id] )
g_gagged[id] = 0
}

remove_task(id)

if (g_admin[id]) {
set_user_speak(id,SPEAK_NORMAL2)
g_admin[id] = 0
}

team[id] = CS_TEAM_UNASSIGNED

g_connected[id] = false
clear_vars(id)

return PLUGIN_HANDLED
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precache Files
//==========================================================================================================
public plugin_precache()
{
mflash = precache_model("sprites/muzzleflash.spr")
smoke = precache_model("sprites/steam1.spr")
blueflare2 = precache_model( "sprites/blueflare2.spr")
white = precache_model("sprites/white.spr")
light = precache_model("sprites/lgtning.spr")

//Slay 2 & Quit Sounds
precache_sound("ambience/thunder_clap.wav")
precache_sound("weapons/headshot2.wav")

//Fire Sounds
precache_sound("ambience/flameburst1.wav")
precache_sound("scientist/scream21.wav")
precache_sound("scientist/scream07.wav")

//Rocket Sounds
precache_sound("weapons/rocketfire1.wav")
precache_sound("weapons/rocket1.wav")

//Flashbang Sound
precache_sound("weapons/flashbang-2.wav")


}


ps: nu merge scriptul sursa :|

Re: Problema amx_super

Posted: 24 Aug 2010, 20:25
by maddo_xxx
Pune tu unul please ca nu stiu ce sa mai fac toti playerii care intra pe server iau automat gag ...si nu stiu cum sa rezolv asta ...cred ca pana la urma o sa scot de tot amx_super:((

Re: Problema amx_super

Posted: 24 Aug 2010, 20:30
by Bananee.
Daca stergi tot amx_super, server-ul ramane fara cateva pluginuri bune.
Mai bine stergi advanced_gag, pararea mea.

Re: Problema amx_super

Posted: 24 Aug 2010, 20:46
by maddo_xxx
Daca pun llama e bun ??

Re: Problema amx_super

Posted: 24 Aug 2010, 20:51
by Bananee.
Da, in amx_super nu are llama.