--[[ 
Dude, what are you doing here ? 
Wanna see ugly coding ?
Wanna try to find a backdoor ?
Wanna loose your time ?
Ok.
 ]]

--if game.SinglePlayer() then -- Woops i forgot "()" in last version



local meta = FindMetaTable("Player")


function meta:CanGryMod()  

 
	if GetConVar("GryMod"):GetInt() == 1 then return true end -- Can use
	if GetConVar("GryMod"):GetInt() ~= 1 then return false end -- Cannot use
end


 -- You can change it , for others admins mods , example : 
 
--[[  
function meta:CanGryMod() 
if LocalPlayer():IsAdmin() or LocalPlayer():IsVip() then return true end
else return false end
 ]]


 // Originals sounds
util.PrecacheSound("../sounds/suit/speed.mp3")
util.PrecacheSound("../sounds/suit/strength.mp3")
util.PrecacheSound("../sounds/suit/cloak.mp3")
util.PrecacheSound("../sounds/suit/armor.mp3")

/// New Sounds from 2nd beta version 
util.PrecacheSound("../sounds/suit/armor.mp3")
util.PrecacheSound("../sounds/suit/ArmorMode.wav") // Armor mode 
util.PrecacheSound("../sounds/suit/Binocularzoom.wav") // Binocular zoom 
util.PrecacheSound("../sounds/suit/Binocularzoomout.wav") // Zoom out 
util.PrecacheSound("../sounds/suit/Binocular.wav") // Binocular soond (When using the binocular) 
util.PrecacheSound("../sounds/suit/CloakMode.wav") // Cloak Mode 
util.PrecacheSound("../sounds/suit/Nightvision_On.wav") // Nightvision 
util.PrecacheSound("../sounds/suit/Nightvision_Off.wav") // Nightvision 
util.PrecacheSound("../sounds/suit/SpeedMode.wav") // Speed mode 
util.PrecacheSound("../sounds/suit/SpeedModeStop.wav") // When the player stop sprinting in speed mode 
util.PrecacheSound("../sounds/suit/StrenghtJump.wav") // Jump + strenght mode 
util.PrecacheSound("../sounds/suit/StrenghtMode.wav") // Strenght Mode 
util.PrecacheSound("../sounds/suit/SuitMedical.wav") // Health regeneration 
util.PrecacheSound("../sounds/suit/Nightv.wav")
util.PrecacheSound("../sounds/suit/UnderWater.wav") // 1

local Armorm = Sound("suit/armor.mp3")
local Armor = Sound("suit/ArmorMode.wav")
local Binoz = Sound("suit/Binocularzoom.wav")
local Binozo = Sound("suit/Binocularzoomout.wav")
local Bino = Sound("suit/Binocular.wav")
local Cloakm = Sound("suit/CloakMode.wav")
local nv1 = Sound("suit/Nightvision_On.wav")
local nv0 = Sound("suit/Nightvision_Off.wav")
local speedmode = Sound("suit/SpeedMode.wav")
local speedstop = Sound("suit/SpeedModeStop.wav")
local JumpS = Sound("suit/StrenghtJump.wav")
local Strenghtmode = Sound("suit/StrenghtMode.wav")
local medic = Sound("suit/SuitMedical.wav")
local Nv = Sound("suit/Nightv.wav")
local UnderWater = Sound("suit/UnderWater.wav")

local soundconvar = CreateClientConVar( "crysishud_enablesounds", 1, false, false ) -- From original
local smoothconvar = CreateClientConVar( "crysishud_enabletransitions", 1, false, false )

local crytx = surface.GetTextureID( "crysis_button" )
local crycircletx = surface.GetTextureID( "crysis_circle" )
local cryarrowtx = surface.GetTextureID( "crysis_arrow" )
local global_mul, global_mul_goal = 0, 0 //The global multiplier, if this is 0 the menu is hidden, 1 and it's fully visible, between 0 and 1 for transition
local cryx, cryy = ScrW() / 2, ScrH() / 2 //Changing this makes the menu appear in a different place
local selected, oldselected = 0, 0 //Which slot is selected?

local snd_o, snd_c, snd_s, snd_h, snd_e = Sound( "cry_open.wav" ), Sound( "cry_close.wav" ), Sound( "cry_select.wav" ), Sound( "cry_hover.wav" ), Sound( "cry_error.wav" )

local crydist = {} //Distance to center for every slot
for i = 1, 5 do
    crydist[i] = 0
end

local armormode = {}
armormode["Armor"] = {}
armormode["Armor"].number = "A"
armormode["Armor"].name = "Armor"
armormode["Speed"] = {}
armormode["Speed"].number = "B"
armormode["Speed"].name = "Speed"
armormode["Strenght"] = {}
armormode["Strenght"].number = "C"
armormode["Strenght"].name = "Strenght"
armormode["Cloak"] = {}
armormode["Cloak"].number = "D"
armormode["Cloak"].name = "Cloak"
armormode["Drop"] = {}
armormode["Drop"].number = "E"
armormode["Drop"].name = "Drop"

local slots = {} //Standard slots, change these at will
slots[1] = armormode["Cloak"]
slots[2] = armormode["Strenght"]
slots[3] = armormode["Speed"]
slots[4] = armormode["Armor"]
slots[5] = armormode["Drop"]

function MouseInCircle( x, y ) //Checks if the mouse is in the circle
	local centerdist = math.Dist( gui.MouseX(), gui.MouseY(), x, y )
	return ( centerdist > 32 and centerdist < 150 )
end

function CRYHUD() //Good luck figuring all this shit out

	if ( global_mul_goal != global_mul ) then
		global_mul = global_mul + ( global_mul_goal - global_mul ) * math.Clamp( FrameTimeExt() * 10, 0, 1 ) //I love mah math
	end
local numb = 1
	local cryadd = 360/5
	local cursorang = math.fmod( math.atan2( gui.MouseY() - cryy, gui.MouseX() - cryx ), math.pi * 2 ) //This angle shit makes my head implode
	local cursorangd = math.deg( cursorang ) + 180
	if ( cursorangd >= 0 and cursorangd < cryadd ) then selected = 4
	elseif ( cursorangd >= cryadd and cursorangd < cryadd * 2 ) then selected = 3
	elseif ( cursorangd >= cryadd * 2 and cursorangd < cryadd * 3 ) then selected = 2
	elseif ( cursorangd >= cryadd * 3 and cursorangd < cryadd * 4 ) then selected = 1
	elseif ( cursorangd >= cryadd * 4 and cursorangd < cryadd * 5 ) then selected = 5
	end 

	if ( global_mul == 0 ) then return end //Don't run if the menu ain't visible



	




	if ( !MouseInCircle( cryx, cryy ) ) then selected = 0 end -- Aka if mouse is not in da circle , dont do anything

	for i = 0 + cryadd / 2, 360 - cryadd / 2, cryadd do

	-- No , i dont use "else"
	
	
	
	-- NORMAL
			local crygraya1 = 90
			local 	crygraya2 = 130
			local crygraya3 = 90
	if ( numb  == selected and LocalPlayer():CanGryMod()) then -- NORMAL	
			crygraya1 = 255
			crygraya2 = 192
			crygraya3 = 80		
	end
	if !LocalPlayer():CanGryMod() then  -- ROUGE
			crygraya1 = 240
			crygraya2 = 27
			crygraya3 = 27
	end
	if ( numb  == selected and !LocalPlayer():CanGryMod()) then -- ROUGE
			crygraya1 =  240
			crygraya2 = 27
			crygraya3 = 27
	end
	surface.SetTexture( crytx )
	surface.SetDrawColor(Color( 190, 195, 190, 0 ))

	surface.SetTextColor( crygraya1, crygraya2, crygraya3, global_mul * 250 )
	surface.SetFont("Crysis")
	

	if LocalPlayer():CanGryMod() then // NORMAL
		 crydistadd = 96
		 crygray1 = 150
		 crygray2 = 200
		 crygray3 = 150
		end
		
		if !LocalPlayer():CanGryMod() then // ROUGE
		
		 crydistadd = 96
		 crygray1 = 240
		 crygray2 = 23
		 crygray3 = 27
		end
		
		
		if ( numb == selected and LocalPlayer():CanGryMod()) then // NORMAL
			crydistadd = crydistadd * 1.3
		crygray1 = 100
		crygray2 = 140
		crygray3 = 100
			
		end	
		if ( numb == selected and !LocalPlayer():CanGryMod()) then //   ROUGE
			crydistadd = 96
		crygray1 = 240
		crygray2 = 23
		crygray3 = 27	
		end
		
		crydist[numb] = crydist[numb] + ( crydistadd - crydist[numb] ) * math.Clamp( FrameTimeExt() * 20, 0, 1 )
		
		local cryaddx, cryaddy = math.sin( math.rad( i ) ) * crydist[numb] * global_mul, math.cos( math.rad( i ) ) * crydist[numb] * global_mul
		local crytxtw, crytxth = surface.GetTextSize( slots[numb].number )
		surface.SetDrawColor( crygray1, crygray2, crygray3, global_mul * 200 )
		surface.DrawTexturedRectRotated( cryx + cryaddx, cryy + cryaddy, 100 * global_mul, 100 * global_mul, i - 180 )
		surface.SetTextPos( cryx + cryaddx - crytxtw / 2, cryy + cryaddy - crytxth / 2 + 8 )
		surface.DrawText( slots[numb].number ) //Draw the character
		numb = numb + 1
	end     
if  LocalPlayer():CanGryMod() then   -- No , i wont use "else"
	circlea = 127
	circleb = 156
	circlec = 133
	
	if selected > 0  then
	
	circlea = 177
	circleb = 206
	circlec = 183
	end
	end
	
	if !LocalPlayer():CanGryMod() then
	circlea = 250
	circleb = 23
	circlec = 27
	end
	
	
	
	
	
	surface.SetTexture( crycircletx )
	surface.SetDrawColor( circlea, circleb, circlec, global_mul * 230 )
	surface.DrawTexturedRectRotated( cryx, cryy, 128 * global_mul, 128 * global_mul, math.fmod( CurTime() * -16, 360 ) )

	surface.SetTexture( cryarrowtx )
	surface.SetDrawColor( 150, 155, 150, global_mul * 255 )
	local arrowang = math.pi * 2 - cursorang + math.pi / 2
	local arrowdist = 47 * global_mul
	local arrowx, arrowy = math.sin( arrowang ) * arrowdist, math.cos( arrowang ) * arrowdist
	surface.DrawTexturedRectRotated( cryx + arrowx, cryy + arrowy, 128 / 3, 32 / 3, math.deg( arrowang ) + 180 )

	if ( selected != oldselected and selected != 0 ) then PlaySnd( snd_h ) oldselected = selected end

end

hook.Add( "HUDPaint", "CRYHUD", CRYHUD )

function EnableMenu( b )
	if ( ( b and global_mul_goal == 0 ) ) then PlaySnd( snd_o ) end
	gui.EnableScreenClicker( b )
	if ( b ) then global_mul_goal = 1 else global_mul_goal = 0 end
end

concommand.Add( "crysishud_slots", ChangeSlots, ChangeSlotsAutoComplete )

function CryOpenClose( ply, command, args ) // 1.0 update : Sounds are played by server
	if ( command != "+crysishud" ) then
		if ( MouseInCircle( cryx, cryy ) ) then
			PlaySnd( snd_s )
    for k,v in pairs(player.GetAll()) do
	    if ( slots[selected] )  and (  slots[selected].name ) == "Armor"  then
          RunConsoleCommand( "Armor" )

        end
    end
    for k,v in pairs(player.GetAll()) do
		if ( slots[selected] )  and (  slots[selected].name ) == "Speed"  then

          RunConsoleCommand( "Speed" )
        end
    end
    for k,v in pairs(player.GetAll()) do
		if ( slots[selected] )  and (  slots[selected].name ) == "Cloak"  then

          RunConsoleCommand( "Cloak" )
        end
    end
    for k,v in pairs(player.GetAll()) do
		if ( slots[selected] )  and (  slots[selected].name ) == "Strenght"  then
		          RunConsoleCommand( "Strenght" )
        end
    end
        if ( slots[selected] )  and (  slots[selected].name ) == "Drop"  then
            RunConsoleCommand( "Drop" )
        end
	elseif ( global_mul_goal == 1 ) then PlaySnd( snd_c ) end
end
	EnableMenu( command == "+crysishud" ) //Enable menu if it's +crysishud, disable otherwise
end

concommand.Add( "+crysishud", CryOpenClose )
concommand.Add( "-crysishud", CryOpenClose )

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

function cloackattack (ply,key)
    if key == IN_ATTACK and ply:GetNWInt("Cloak", true)  then
        RunConsoleCommand( "Armor" )
        surface.PlaySound( Armorm )
    end
end

 hook.Add("KeyPress","AttackDetection", cloackattack )

function PlaySnd( snd )
	if ( soundconvar:GetBool() ) then surface.PlaySound( snd ) end
end
function FrameTimeExt()
	if ( smoothconvar:GetBool() ) then return FrameTime() else return 1 end
end

local function BinocularZoomIn( player, key )
	if ( player:GetCanZoom() and key == IN_ZOOM ) then
		surface.PlaySound( "interface_suit/Binocular Zoom In.wav" )
	end
end

hook.Add( "KeyPress", "BinocularZoomIn", BinocularZoomIn )

local function BinocularZoomOut( player, key )
	if ( player:GetCanZoom() and key == IN_ZOOM ) then
		surface.PlaySound( "interface_suit/Binocular Zoom Out.wav" )
	end
end


hook.Add( "KeyRelease", "BinocularZoomOut", BinocularZoomOut )

local function SuitBreathUnderwater() // Not made by me
local UnderWater = Sound("suit/UnderWater.wav")
local ply = LocalPlayer()

	if ( ply:WaterLevel() >= 3 ) then -- A bit useless
		if ( !ply.m_bIsUsingSuitOxygen ) then
			ply.m_bIsUsingSuitOxygen = true
			surface.PlaySound( UnderWater )
		end
	else
		ply.m_bIsUsingSuitOxygen = false
	end
end
hook.Add( "Think", "SuitBreathUnderwater", SuitBreathUnderwater )

function hudbase()

	base = surface.GetTextureID( "cryhud/base" )
	hlt = surface.GetTextureID( "cryhud/healthpr" )
	enr = surface.GetTextureID( "cryhud/enr" )
	compass = surface.GetTextureID( "cryhud/compass" )
	
	

	surface.SetTexture( base )
	surface.SetDrawColor(Color(220,235,220,200))
	surface.DrawTexturedRect(ScrW() - (ScrW()/4.06) , ScrH()-(ScrW()/5.19), ((ScrW())/4.26) , ((ScrW())/4.26))

	
	
		surface.SetTexture( compass )
	surface.SetDrawColor(Color(220,235,220,200))
	surface.DrawTexturedRect(10   ,   	ScrH()- (ScrW()/7.111), (ScrW()/6.62), (ScrW()/6.62))
	
// If gmod break it any day , i cannot fix it cuz i changed the code for WWII screens (Adaptative variables)


local c = LocalPlayer():Health() * ((ScrW()/8.97)/100)
local ca = ( LocalPlayer():Health()- (c-(LocalPlayer():Health() * 2.14)))
local ololol = ((ScrW()/8.97) - c) / 2 // Stabliliser a la base Zero sur même point - Stay at the same poitn at 0HP base
local a = ScrW() - (ScrW()/5.69)  + ololol
local b = ScrH() - (94 * (90 + 10 * c))
-- local w = 100 - (0.1 * (-1 * c))

local w = -1 * ( (100 - LocalPlayer():Health()) / 30)


	surface.SetTexture( hlt ) // HEALTH BAR
	surface.SetDrawColor(Color(100,164,27,200)) 
	surface.DrawTexturedRectRotated( a, ScrH() - (ScrW()/20) - w  , c,    (ScrW()/87.272727), -2.98  ) 
		
		
	-- Now armor
		

local ca = LocalPlayer():Armor() * ((ScrW()/8.97)/100)
local caa = ( LocalPlayer():Armor()- (c-(LocalPlayer():Armor() * 2.14)))
local ololola = ((ScrW()/8.97) - ca) / 2 -- Stabliliser a la base Zero sur même point - Stay at the same poitn at 0HP base
local aa = ScrW() - (ScrW()/5.69)  + ololola
local ba = ScrH() - (94 * (90 + 10 * ca))
-- local w = 100 - (0.1 * (-1 * c))
local wa = -1 * ( (100 - LocalPlayer():Armor()) / 30)
	surface.SetTexture( enr ) // energy BAR
	surface.SetDrawColor(Color(4,133,211,200)) 
	surface.DrawTexturedRectRotated( aa, ScrH() - (ScrW()/15.1) - wa  , ca,     (ScrW()/87.272727) , -2.98  ) 
	
	
	
	if LocalPlayer():GetActiveWeapon():IsValid() then // Lets get ammo MOTHERFUCKER
		local extra = LocalPlayer():GetAmmoCount(LocalPlayer():GetActiveWeapon():GetPrimaryAmmoType())
        local ammonum = LocalPlayer():GetActiveWeapon():Clip1()
		local grenum = LocalPlayer():GetAmmoCount(LocalPlayer():GetActiveWeapon():GetSecondaryAmmoType())
		if (ammonum == -1) then  // Because the ammo is  -1 with grenades
	    	draw.SimpleText( extra .. "  ll  " .. grenum , "CrysisInfos", ScrW() - (ScrW()/8.7), ScrH()-(ScrW()/8.03),  Color(190, 195, 190, 255), 2, 3) else
		    draw.SimpleText(ammonum .. " l " .. extra .. "  ll  " .. grenum , "CrysisInfos",ScrW() - (ScrW()/8.7), ScrH()-(ScrW()/8.03),  Color(190, 195, 190, 255), 2, 3)
		end


draw.SimpleText( LocalPlayer():GetAmmoCount("grenade") , "CrysisInfos",ScrW() - (ScrW()/8.7), ScrH()-(ScrW()/10.3),  Color(190, 195, 190, 255), 2, 3) // Fixed in v2.3


local modeposw = ScrW() - (ScrW()/30.96)
local modeposh = ScrH() - (ScrW()/14)

	    if LocalPlayer():GetNWBool("Armor",true) then
            draw.SimpleText( "A" , "Crysis2", modeposw,modeposh-(ScrW()/960) , Color(190, 195, 190, 255),2, 3)
        end
    	if LocalPlayer():GetNWBool("Speed",true) then
            draw.SimpleText( "B" , "Crysis2", modeposw+(ScrW()/160),modeposh ,  Color(190, 195, 190, 255), 2, 3)
        end

	    if LocalPlayer():GetNWBool("Cloak",true) then
            draw.SimpleText( "D" , "Crysis2", modeposw+(ScrW()/71), modeposh ,  Color(190, 195, 190, 255), 2, 3)
        end

	    if LocalPlayer():GetNWBool("Strenght",true) then
            draw.SimpleText( "C" , "Crysis2", modeposw+(ScrW()/60) , modeposh ,  Color(190, 195, 190, 255), 2, 3)
        end
    end
end

 hook.Add( "HUDPaint", "HUDBASECRY", hudbase ) 
 
 
 
  
  function compass_direction() // LONG , LONG.....
local dirred =  220
local dirgrn  = 220
local  dirblu = 220
local dirsol = 255
local angles = tostring(LocalPlayer():GetAngles())
local explod = string.Explode(" ", angles)
local yawang = tonumber(explod[2]) // I don't understand what i do DERP


if yawang >= -18 and yawang <= 18 then
	draw.SimpleText("N", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang >= 162 and yawang < 180 then
	draw.SimpleText("S", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang <= -162 and yawang > -180 then
	draw.SimpleText("S", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang == 180 or yawang == -180 then
	draw.SimpleText("S", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang >= 72 and yawang <= 108 then
	draw.SimpleText("E", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang <= -72 and yawang >= -108 then
	draw.SimpleText("W", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang > 18 and yawang < 36 then
	draw.SimpleText("NNE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang >= 36 and yawang <= 54 then
	draw.SimpleText("NE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang > 54 and yawang < 72 then
	draw.SimpleText("ENE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang > 108 and yawang < 126 then
	draw.SimpleText("ESE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang >= 126 and yawang <= 144 then
	draw.SimpleText("SE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang > 144 and yawang < 162 then
	draw.SimpleText("SSE", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang < -18 and yawang > -36 then
	draw.SimpleText("NNW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang <= -36 and yawang >= -54 then
	draw.SimpleText("NW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang < -54 and yawang > -72 then
	draw.SimpleText("WNW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang < -108 and yawang > -126 then
	draw.SimpleText("WSW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang <= -126 and yawang >= -144 then
	draw.SimpleText("SW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
elseif yawang < -144 and yawang > -162 then
	draw.SimpleText("SSW", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1)
else
	draw.SimpleText("Signal Lost", "ScoreboardText",  (ScrW()/10.66666), (ScrH() - (ScrW()/9.15)), Color(dirred, dirgrn, dirblu, dirsol), 1, 1) -- Not sure that its  possible
end

end
 hook.Add( "HUDPaint", "ololol", compass_direction) 



 local hidethings = { -- Yeah motherfucker  , i know its from original Gmod wiki , what do you think you think i will use something else ? Dont be dumb.
    ["CHudHealth"] = true,
    ["CHudBattery"] = true,
    ["CHudAmmo"] = true,
    ["CHudSecondaryAmmo"] = true
}
local function HUDShouldDraw(name)
    if (hidethings[name]) then
        return false;
    end
end
hook.Add("HUDShouldDraw", "How to: HUD Example HUD hider", HUDShouldDraw)

local function plyjumpsrtg( ply, key )
	if ( ply:GetNWBool("Strenght",true) and key == IN_JUMP  ) then
		surface.PlaySound( JumpS )
	end
end
hook.Add( "KeyPress", "SuperJumpSound", plyjumpsrtg )



--[[    -- Removed cuz of i hate this sound .
local function Sprint0( ply, key )
	if ply:GetNWBool("Speed",true)and ( key == IN_SPEED ) then
		surface.PlaySound( "suit/SpeedModeStop.wav" )

	end
end


hook.Add( "KeyRelease", "Stopsrpint", Sprint0 )
 ]]

function cloakweapon()
if IsValid(LocalPlayer():GetActiveWeapon())  then
if LocalPlayer():GetNWBool("Cloak",true) then
LocalPlayer():GetViewModel():SetMaterial("cloak/organic");
else 
LocalPlayer():GetViewModel():SetMaterial("");
end
end
end

hook.Add("Think","PR00N",cloakweapon)





if(util.__TraceLine) then return end;
util.__TraceLine = util.TraceLine;
function util.TraceLine(...)
	local t = util.__TraceLine(...);
	if(t and IsValid(t.Entity)) then
		if(t.Entity:IsPlayer()) then
			if(t.Entity:GetNWBool("Cloak",true)) then t.Entity = NULL end;
		end
	end
	return t;
end





 







