Results 1 to 8 of 8
  1. #1
    c0deine's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    190
    Reputation
    10
    Thanks
    167
    My Mood
    Aggressive

    cheat leak (bye bye)

    ok guys im done with this shit!!!! i ahte the gmod comubity its so bad! im done with hack ing the modf for half lief 2
    hers m y cheat



    Code:
    local BB = { };
    
    --This is your prefix you can change it to anything you want
    --By default it's random so every time you load the hack it's different
    --This is just to make it a little bit more difficult for anti-cheats
    --I don't recommend making it blue_bot or anything with bot in the name
    --Try using like llama or catpenis just nothing with hack or bot in the name
    
    --Default to nil if you want to use a random prefix
    -----------------------
    BB.CustomPrefix = "bluebot";
    -----------------------
    
    -------------------------------------------------------
    --Don't edit below unless you know what you are doing--
    -------------------------------------------------------
    
    function BB.RandomString( len, numbers, special )
    	local chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"..(numbers == true && "1234567890" or "")..(special == true && "!@#$%^&*(),.-" or ""); --You can change the list if you like
    	local result = "";
    	
    	if (len < 1) then
    		len = math.random( 10, 20 );
    	end
    	
    	for i = 1, len do
    		result = result..string.char( string.byte( chars, math.random( 1, string.len( chars ) ) ) );
    	end
    	
    	return tostring( result );
    end
    
    BB.MetaPlayer = FindMetaTable( "Player" );
    BB.CreateClientConVar = CreateClientConVar;
    
    local function CreateClientConVar( cvarname, default, save, onmenu )
    	BB.CreateClientConVar( cvarname, default, save, false );
    	return {cvar = GetConVar( cvarname ), OnMenu = onmenu, name = cvarname, main = string.find( cvarname, "enable" )};
    end
    
    BB.RandomPrefix = BB.CustomPrefix or BB.RandomString( math.random( 5, 8 ), false );
    BB.DeadPlayers = { };
    BB.Traitors = { };
    BB.TWeaponsFound = { };
    BB.Recoils = { };
    BB.RandomHooks = { hook = { }, name = { } };
    BB.ply = LocalPlayer;
    BB.players = player.GetAll;
    BB.Target = nil;
    BB.mouse1 = false;
    BB.AimbotKeyDown = false;
    BB.CVARS = {Bools = { }, Numbers = { }};
    BB.CVARS.Bools["Aimbot"] = CreateClientConVar( BB.RandomPrefix.."_aimbot_enabled", "0", true, true );
    BB.CVARS.Bools["Aim on key"] = CreateClientConVar( BB.RandomPrefix.."_aim_on_key", "1", true, true );
    BB.CVARS.Bools["Aim on mouse1"] = CreateClientConVar( BB.RandomPrefix.."_aim_on_mouse", "1", true, true );
    BB.CVARS.Numbers["Max Angle"] = CreateClientConVar( BB.RandomPrefix.."_aimbot_max_angle", "30", true, true );
    BB.CVARS.Bools["Aim at team mates"] = CreateClientConVar( BB.RandomPrefix.."_aimbot_friendly_fire", "1", true, true );
    BB.CVARS.Bools["Aim at steam friends"] = CreateClientConVar( BB.RandomPrefix.."_aimbot_steam_friends", "0", true, true );
    BB.CVARS.Bools["ESP"] = CreateClientConVar( BB.RandomPrefix.."_esp_enabled", "1", true, true );
    BB.CVARS.Bools["ESP: Show health"] = CreateClientConVar( BB.RandomPrefix.."_esp_show_health", "1", true, true );
    BB.CVARS.Bools["ESP: Show weapon"] = CreateClientConVar( BB.RandomPrefix.."_esp_show_weapon", "1", true, true );
    BB.CVARS.Bools["ESP: Show name"] = CreateClientConVar( BB.RandomPrefix.."_esp_show_name", "1", true, true );
    BB.CVARS.Bools["ESP: Show traitors"] = CreateClientConVar( BB.RandomPrefix.."_esp_show_traitors", "1", true, true );
    BB.CVARS.Bools["Chams"] = CreateClientConVar( BB.RandomPrefix.."_chams_enabled", "1", true, true );
    BB.CVARS.Bools["Crosshair"] = CreateClientConVar( BB.RandomPrefix.."_crosshair_enabled", "1", true, true );
    BB.CVARS.Bools["No Recoil"] = CreateClientConVar( BB.RandomPrefix.."_no_recoil", "1", true, true );
    BB.CVARS.Bools["No Visual Recoil"] = CreateClientConVar( BB.RandomPrefix.."_no_visual_recoil", "1", true, true );
    BB.CVARS.Bools["Traitor Detector"] = CreateClientConVar( BB.RandomPrefix.."_traitor_detector", "1", true, true );
    BB.CVARS.Bools["Show spectators"] = CreateClientConVar( BB.RandomPrefix.."_show_spectators", "1", true, true );
    BB.CVARS.Bools["Simplify spectator list"] = CreateClientConVar( BB.RandomPrefix.."_show_spectators_simplify", "0", true, true );
    BB.CVARS.Bools["Bunny hop"] = CreateClientConVar( BB.RandomPrefix.."_bunnyhop", "1", true, true );
    BB.Mat = CreateMaterial( string.lower( BB.RandomString( math.random( 5, 8 ), false, false ) ), "VertexLitGeneric", { ["$basetexture"] = "models/debug/debugwhite", ["$model"] = 1, ["$ignorez"] = 1 } ); --Last minute change
    BB.HeadPos = nil;
    BB.TraceRes = nil;
    BB.Font = nil;
    BB.IsTraitor = nil;
    BB.IsTTT = false;
    BB.PrintEx = MsgC;
    BB.LatestVersion = nil;
    BB.Version = "0.7.7";
    BB.V = 77; --DO NOT EDIT THIS
    BB.TimerName = BB.RandomString( 0, false, false );
    BB.Unloaded = false;
    
    function BB.Init( )
    	--Eww this is ugly
    	BB.Font = BB.RandomString( 0, false, false );
    	surface.CreateFont( BB.Font, { font = "Arial", size = 14, weight = 750, antialias = false, outline = true } );
    	BB.IsTTT = string.find( GAMEMODE.Name , "Terror" );
    	
    	RunConsoleCommand( "showconsole" );
    	Msg( "\n\n\n" );
    	BB.Print( true, true, Color( 25, 225, 80 ), "Loaded!", Color( 255, 255, 255 ), "\tv".****.Version );
    	BB.Print( true, true, Color( 255, 255, 255 ), "Your random prefix is ".****.RandomPrefix );
    	BB.Print( true, true, Color( 255, 255, 255 ), "Checking for updates..." );
    	MsgC( Color( 255, 255, 255 ), "Made by: Blue Kirby\n\n\n\n" );
    	
    	http.Fetch( "https://bluekirbygmod.googlecode.com/svn/trunk/Blue%20Bot/blue_bot.lua", 
    		function( HTML ) 
    			local findpos = string.find( HTML, "BBVERSION=", 0, false );
    			
    			if (findpos) then
    				local version = tonumber( string.sub( HTML, findpos+10, findpos+13 ) );
    				if ( version > BB.V ) then
    					BB.Print( true, true, Color( 255, 200, 200 ), "Your version is out of date!" );
    					BB.LatestVersion = HTML;
    					BB.UpdateMenu();
    				else
    					BB.Print( true, true, Color( 200, 255, 200 ), "Your version is up to date." );
    				end
    			end
    		end,
    		
    		function() 
    			BB.Error( "Failed checking for updates." );
    		end
    	);
    	
    	if (BB.IsTTT) then
    		BB.IsTraitor = BB.MetaPlayer.IsTraitor
    		
    		function BB.MetaPlayer:IsTraitor()
    			if (self == BB.ply()) then return BB.IsTraitor( self ); end
    			
    			if (!table.HasValue( BB.Traitors, self ) || !BB.CVARS.Bools["Traitor Detector"].cvar:GetBool()) then
    				return BB.IsTraitor( self );
    			else
    				return true;
    			end
    		end
    	end
    end
    
    function BB.Print( timestamp, stamp, ... )
    	if (timestamp) then
    		Msg( "["..os.date("%H:%M:%S").."] " );
    	end
    	
    	if (stamp) then
    		MsgC( Color( 50, 100, 255 ), "[Blue Bot] " );
    	end
    	
    	local t = {...};
    	
    	if (#t == 1) then
    		BB.PrintEx( Color(255, 255, 255), t[1] );
    	else
    		for i = 1, #t, 2 do
    			BB.PrintEx( t[i], t[i+1] );
    		end
    	end
    	
    	Msg('\n');
    end
    
    function BB.PrintChat( ... )
    	chat.AddText( Color( 50, 100, 255 ), "[Blue Bot] ", ... );
    end
    
    function BB.Error( error )
    	Msg( "["..os.date("%H:%M:%S").."] " );
    	MsgC( Color( 255, 50, 50 ), "[Blue Bot] ERROR: " );
    	MsgC( Color( 255, 255, 255 ), error.."\n" );
    end
    
    function BB.IsOnTeam( ply )
    	if ( BB.IsTTT ) then
    		return ply:IsTraitor() == BB.ply():IsTraitor();
    	else
    		return ply:Team() == BB.ply():Team();
    	end
    end
    
    function BB.GetValidPlayers( )
    	local players = { };
    	
    	for _, ply in pairs( BB.players() ) do
    		if ( ply != BB.ply && IsValid( ply ) && 
    		ply:IsPlayer() && 
    		ply:Alive() && 
    		ply:Health() >= 1 &&
    		( ply:GetFriendStatus() != "friend" || BB.CVARS.Bools["Aim at steam friends"].cvar:GetBool() ) &&
    		( !BB.IsOnTeam( ply ) || BB.CVARS.Bools["Aim at team mates"].cvar:GetBool() ) ) then
    			table.insert( players, ply );
    		end
    	end
    	
    	return players
    end
    
    function BB.IsVisible( ply )
    	if (!IsValid( ply )) then return false end
    	
    	local vecPos, _ = ply:GetBonePosition( ply:LookupBone( "ValveBiped.Bip01_Head1" ) or 12 );
    	local trace = { start = BB.ply():EyePos(), endpos = vecPos, filter = BB.ply(), mask = MASK_SHOT };
    	local traceRes = util.TraceLine( trace );
    	
    	BB.TraceRes = traceRes;
    	
    	if (traceRes.HitWorld || traceRes.Entity != ply) then return false end;
    	
    	return true;
    end
    
    function BB.ClosestAngle( players )
    	local flAngleDifference = nil;
    	local newAngle = nil;
    	local viewAngles = BB.ply():EyeAngles();
    	
    	for _, ply in pairs( players ) do
    		local vecPos, ang = ply:GetBonePosition( ply:LookupBone( "ValveBiped.Bip01_Head1" ) or 12 );
    		local oldpos = vecPos;
    		vecPos = vecPos - BB.VelocityPrediction( BB.ply() ) + BB.VelocityPrediction( ply )
    		local angAngle = ( vecPos - BB.ply():EyePos() ):Angle()
    		local flDif = math.abs( math.AngleDifference( angAngle.p, viewAngles.p ) ) + math.abs( math.AngleDifference( angAngle.y, viewAngles.y ) );
    		
    		if ((flAngleDifference == nil || flDif < flAngleDifference) && (!BB.CVARS.Numbers["Max Angle"].cvar:GetBool() || flDif < BB.CVARS.Numbers["Max Angle"].cvar:GetFloat())) then
    			BB.HeadPos = oldpos:ToScreen();
    			BB.Target = ply;
    			flAngleDifference = flDif;
    			newAngle = angAngle;
    		end
    	end
    	
    	return newAngle;
    end
    
    function BB.VelocityPrediction( ply ) return ply:GetAbsVelocity() * 0.012; end
    
    function BB.Aimbot( )
    	BB.HeadPos = nil;
    	
    	if (!BB.CVARS.Bools["Aimbot"].cvar:GetBool() || !BB.mouse1 && (BB.CVARS.Bools["Aim on key"].cvar:GetBool() == true || BB.CVARS.Bools["Aim on mouse1"].cvar:GetBool() == true) && !BB.AimbotKeyDown) then return end
    	
    	local players = {};
    	
    	for _, ply in pairs( BB.GetValidPlayers() ) do
    		if (BB.IsVisible( ply )) then
    			table.insert( players, ply );
    		end
    	end
    	
    	if (table.Count( players ) == 0) then 
    		BB.Target = nil;
    		return
    	end;
    	
    	local newAngle = BB.ClosestAngle( players );
    	
    	if ( newAngle != nil ) then BB.ply():SetEyeAngles( newAngle ) end;
    end
    
    function BB.TableSortByDistance( former, latter ) return latter:GetPos():Distance( BB.ply():GetPos() ) > former:GetPos():Distance( BB.ply():GetPos() ) end
    function BB.TableSortByAsc( former, latter ) print( "hey" ) return string.byte( string.lower( former.name ), 1 ) < string.byte( string.lower( latter.name ), 1 ) end
    
    function BB.GetPlayersByDistance( )
    	local players = BB.players( );
    	
    	table.sort( players, BB.TableSortByDistance );
    	
    	return players;
    end
    
    function BB.CreateMove( cmd )
    	if (BB.IsTTT && BB.ply():Alive() && BB.ply():Health() >= 1 && BB.ply():Team() != TEAM_SPECTATOR) then
    		BB.ply().voice_battery = 100; --Infinite voichat time I don't need to check if it's TTT because swag
    	end
    	
    	if (cmd:KeyDown( IN_ATTACK ) && !BB.mouse1 && BB.CVARS.Bools["Aim on mouse1"].cvar:GetBool() == true ) then
    		BB.mouse1 = true;
    		BB.Aimbot( );
    	elseif ( !cmd:KeyDown( IN_ATTACK ) && BB.mouse1 && BB.CVARS.Bools["Aim on mouse1"].cvar:GetBool() == true ) then
    		BB.mouse1 = false;
    	end
    	
    	if (BB.CVARS.Bools["No Recoil"].cvar:GetBool() && IsValid( BB.ply() ) && BB.ply():Alive() && BB.ply():Health() > 0 && IsValid( BB.ply():GetActiveWeapon() )) then
    		if ( BB.ply():GetActiveWeapon().Primary && BB.ply():GetActiveWeapon().Primary.Recoil ) then
    			BB.Recoils[BB.ply():GetActiveWeapon():EntIndex()] = BB.ply():GetActiveWeapon().Primary.Recoil;
    			BB.ply():GetActiveWeapon().Primary.Recoil = 0;
    		end
    	end
    	
    	if (BB.CVARS.Bools["Bunny hop"].cvar:GetBool() && !BB.ply():OnGround() && cmd:KeyDown( IN_JUMP )) then
    		cmd:RemoveKey( IN_JUMP );
    	end
    end
    
    function BB.NoVisualRecoil( ply, pos, angles, fov )
       if (BB.CVARS.Bools["No Visual Recoil"].cvar:GetBool() && BB.ply():Health() > 0 && BB.ply():Team() != TEAM_SPECTATOR && BB.ply():Alive()) then
    	   return GAMEMODE:CalcView( ply, BB.ply():EyePos(), BB.ply():EyeAngles(), fov, 0.1 );
       end
    end
    
    function BB.AddToColor( color, add )
    	return color + add <= 255 and color + add or color + add - 255
    end
    
    function BB.SubtractFromColor( color, sub )
    	return color - sub >= 0 and color - sub or color - sub + 255
    end
    
    function BB.ESP( )
    	if (!BB.CVARS.Bools["Crosshair"].cvar:GetBool() && !BB.CVARS.Bools["ESP"].cvar:GetBool() && !BB.CVARS.Bools["Show spectators"].cvar:GetBool()) then return end;
    	
    	if ( BB.CVARS.Bools["Crosshair"].cvar:GetBool() ) then
    		surface.SetDrawColor(Color(255, 255, 255))
    		surface.DrawLine( ScrW()/2-10, ScrH()/2, ScrW()/2-4, ScrH()/2 );
    		surface.DrawLine( ScrW()/2+10, ScrH()/2, ScrW()/2+4, ScrH()/2 );
    		surface.DrawLine( ScrW()/2, ScrH()/2-10, ScrW()/2, ScrH()/2-4 );
    		surface.DrawLine( ScrW()/2, ScrH()/2+10, ScrW()/2, ScrH()/2+4 );
    	end
    	
    	if (BB.CVARS.Bools["Show spectators"].cvar:GetBool()) then
    		local spectators = 0;
    		for _, ply in pairs( BB.players() ) do
    			if (ply != BB.ply() && (ply:GetObserverMode() == OBS_MODE_IN_EYE|| ply:GetObserverMode() == OBS_MODE_CHASE) && ply:GetObserverTarget() == BB.ply()) then
    				if (spectators == 0 && !BB.CVARS.Bools["Simplify spectator list"].cvar:GetBool()) then
    					draw.DrawText( "Spectating you: "..ply:Nick(), BB.Font, ScrW()/2, 25, Color( 255, 100, 50 ), 1 );
    				elseif (!BB.CVARS.Bools["Simplify spectator list"].cvar:GetBool()) then
    					draw.DrawText( ply:Nick(), BB.Font, ScrW()/2, 25 + spectators*13, Color( 255, 100, 50 ), 1 );
    				else
    					draw.DrawText( "Someone is spectating you!", BB.Font, ScrW()/2, 25, Color( 255, 100, 50 ), 1 );
    					break;
    				end
    				
    				spectators = spectators + 1;
    			end
    		end
    	end
    	
    	if ( !BB.CVARS.Bools["ESP"].cvar:GetBool() ) then return end
    	
    	surface.SetFont( BB.Font );
    	
    	for _, ply in pairs( BB.players() ) do
    		if (ply != BB.ply() && ply:Health() >= 1 && ply:Alive() && ply:Team() != TEAM_SPECTATOR) then
    			local min, max = ply:GetRenderBounds();
    			local pos = ply:GetPos() + Vector( 0, 0, ( min.z + max.z ) );
    			local color = Color( 50, 255, 50, 255 );
    			
    			if ( ply:Health() <= 10 ) then color = Color( 255, 0, 0, 255 );
    			elseif ( ply:Health() <= 20 ) then color = Color( 255, 50, 50, 255 );
    			elseif ( ply:Health() <= 40 ) then color = Color( 250, 250, 50, 255 );
    			elseif ( ply:Health() <= 60 ) then color = Color( 150, 250, 50, 255 ); 
    			elseif ( ply:Health() <= 80 ) then color = Color( 100, 255, 50, 255 ); end
    			
    			pos = ( pos + Vector( 0, 0, 10 ) ):ToScreen();
    			
    			if ( BB.CVARS.Bools["ESP: Show name"].cvar:GetBool() ) then
    				local width, height = surface.GetTextSize( tostring( ply:Nick() ) ); -- I have to do tostring because sometimes errors would occur
    				draw.DrawText( ply:Nick(), BB.Font, pos.x, pos.y-height/2, ( BB.IsTTT && ply:IsTraitor() ) and Color( 255, 150, 150, 255 ) or Color( 255, 255, 255, 255 ), 1 );
    			end
    
    			if ( BB.IsTTT && BB.CVARS.Bools["ESP: Show traitors"].cvar:GetBool() && ply:IsTraitor() ) then
    				local width, height = surface.GetTextSize( "TRAITOR" );
    				draw.DrawText( "TRAITOR", BB.Font, pos.x, pos.y-height-3, Color( 255, 0, 0, 255 ), 1 );
    			end
    			
    			pos = ply:GetPos():ToScreen();
    			
    			if (BB.CVARS.Bools["ESP: Show health"].cvar:GetBool()) then
    				local width, height = surface.GetTextSize( "Health: "..tostring( ply:Health() ) );
    				draw.DrawText( "Health: "..tostring( ply:Health() ), BB.Font, pos.x, pos.y, color, 1 );
    				pos.y = pos.y + 13;
    			end
    			
    			if (BB.CVARS.Bools["ESP: Show weapon"].cvar:GetBool() && IsValid( ply:GetActiveWeapon() )) then
    				local width, height = surface.GetTextSize( ply:GetActiveWeapon():GetPrintName() or ply:GetActiveWeapon():GetClass() );
    				draw.DrawText( ply:GetActiveWeapon():GetPrintName() or ply:GetActiveWeapon():GetClass(), BB.Font, pos.x, pos.y, Color( 255, 200, 50 ), 1 );
    			end
    		end
    	end
    	
    	for _, ent in pairs( ents.FindByClass( "ttt_c4" ) ) do
    		if (!BB.IsTTT) then break; end
    		
    		local pos = ent:GetPos():ToScreen();
    		
    		local width, height = surface.GetTextSize( "C4" );
    		draw.DrawText( !ent:GetArmed() and "C4 - Unarmed" or "C4 - "..string.FormattedTime(ent:GetExplodeTime() - CurTime(), "%02i:%02i"), BB.Font, pos.x, pos.y-height/2, Color( 255, 255, 255, 255 ), 1 );
    	end
    	
    	if (BB.IsTTT) then
    		for _, ent in pairs( ents.FindByClass( "prop_ragdoll" ) ) do
    			local name = CORPSE.GetPlayerNick(ent, false)
    			if ( name != false ) then
    				local pos = ent:GetPos():ToScreen();
    				local width, height = surface.GetTextSize( name );
    				
    				draw.DrawText( name, BB.Font, pos.x, pos.y-height/2, Color( 255, 255, 255, 255 ), 1 );
    				
    				if ( !CORPSE.GetFound(ent, false) ) then
    					draw.DrawText( "Unidentified", BB.Font, pos.x, pos.y-height/2+12, Color( 200, 200, 0, 255 ), 1 );
    				end
    			end
    		end
    	end
    	
    	if (BB.HeadPos != nil) then
    		local width = 5;
    		local height = 5;
    		surface.SetDrawColor( Color( 255, 0, 0, 255 ) );
    		surface.DrawOutlinedRect( BB.HeadPos.x-width/2, BB.HeadPos.y-height/2, width, height );
    	end
    end
    
    function BB.Chams()
    	if (BB.CVARS.Bools["Chams"].cvar:GetBool()) then
    		for _, ply in pairs( BB.GetPlayersByDistance( ) ) do
    			if (IsValid( ply ) && ply:Alive() && ply:Health() > 0 && ply:Team() != TEAM_SPECTATOR) then
    				local color = (BB.IsTTT and ply:IsTraitor( )) and Color( 200, 50, 50 ) or team.GetColor( ply:Team( ) );
    				
    				cam.Start3D( BB.ply():EyePos(), BB.ply():EyeAngles() );
    					render.SuppressEngineLighting( true );
    
    					render.SetColorModulation( color.r/255, color.g/255, color.b/255, 1 );
    					render.MaterialOverride( BB.Mat );
    					ply:DrawModel();
    					
    					render.SetColorModulation( BB.AddToColor( color.r, 150 )/255, BB.AddToColor( color.g, 150 )/255, BB.AddToColor( color.b, 150 )/255, 1 );
    					if (IsValid( ply:GetActiveWeapon() )) then
    						ply:GetActiveWeapon():DrawModel() 
    					end
    					
    					if (BB.IsTTT && ply:IsTraitor()) then
    						render.SetColorModulation( 1, 0, 0, 1 );
    					else
    						render.SetColorModulation( 1, 1, 1, 1 );
    					end
    					render.MaterialOverride();
    					render.SetModelLighting( 4, color.r/255, color.g/255, color.b/255 );
    					ply:DrawModel();
    					
    					render.SuppressEngineLighting( false );
    				cam.End3D();
    			end
    		end
    		
    		for _, ent in pairs( ents.FindByClass( "ttt_c4" ) ) do
    			cam.Start3D( BB.ply():EyePos(), BB.ply():EyeAngles() );
    				render.SuppressEngineLighting( true );
    				render.SetColorModulation( 1, 0, 0, 1 );
    				render.MaterialOverride( BB.Mat );
    				ent:DrawModel( );
    				
    				render.SetColorModulation( 1, 1, 1, 1 );
    				render.MaterialOverride();
    				render.SetModelLighting( BOX_TOP, 1, 1, 1 )
    				ent:DrawModel();
    					
    				render.SuppressEngineLighting( false );
    			cam.End3D();
    		end
    		
    		if (BB.IsTTT) then
    			for _, ent in pairs( ents.FindByClass( "prop_ragdoll" ) ) do
    				if ( CORPSE.GetPlayerNick(ent, false) != false ) then
    					cam.Start3D( BB.ply():EyePos(), BB.ply():EyeAngles() );
    						render.SuppressEngineLighting( true );
    						render.SetColorModulation( 1, 0.8, 0.5, 1 );
    						render.MaterialOverride( BB.Mat );
    						ent:DrawModel( );
    						
    						render.SetColorModulation( 1, 1, 1, 1 );
    						render.MaterialOverride();
    						render.SetModelLighting( BOX_TOP, 1, 1, 1 )
    						ent:DrawModel();
    							
    						render.SuppressEngineLighting( false );
    					cam.End3D();
    				end
    			end
    		end
    	end
    end
    
    function BB.PlayerDeath( ply )
    	BB.PrintChat( Color( 255, 255, 255 ), ply:Nick().." has died!" );
    end
    
    timer.Create( BB.TimerName, 0.25, 0, function( )	
    	if (!BB.IsTTT || GetRoundState() != 3) then 
    		table.Empty( BB.DeadPlayers );
    		return;
    	end
    	
    	for _, ply in pairs( BB.players() ) do
    		if ((!ply:Alive() || ply:Health() <= 0) && !table.HasValue( BB.DeadPlayers, ply )) then
    			table.insert( BB.DeadPlayers, ply );
    			BB.PlayerDeath( ply );
    		end
    	end
    end )
    
    function BB.TraitorDetector()
    	if (!BB.IsTTT || BB.ply():IsTraitor()) then return end
    	
    	if (GetRoundState() == 2) then
    		for _, wep in pairs(ents.GetAll()) do
    			if (wep.CanBuy && wep:IsWeapon() && !table.HasValue(BB.TWeaponsFound, wep:EntIndex())) then
    				table.insert( BB.TWeaponsFound, wep:EntIndex() )
    			end
    		end
    	end
    	
    	if (GetRoundState() != 3 && GetRoundState() != 2) then
    		table.Empty( BB.Traitors );
    		table.Empty( BB.TWeaponsFound );
    		return;
    	end
    	
    	for _, wep in pairs(ents.GetAll()) do
    		if (wep:IsWeapon() && wep.CanBuy && IsValid( wep:GetOwner() ) && wep:GetOwner():IsPlayer() && !table.HasValue( BB.TWeaponsFound, wep:EntIndex() )) then
    			local ply = wep:GetOwner();
    			table.insert( BB.TWeaponsFound, wep:EntIndex() );
    			
    			if (!ply:IsDetective()) then
    				if (!table.HasValue(BB.Traitors, ply)) then
    					table.insert(BB.Traitors, ply);
    				end
    				if (ply != BB.ply() && !BB.ply():IsTraitor() && BB.CVARS.Bools["Traitor Detector"].cvar:GetBool()) then
    					chat.AddText( Color( 255, 150, 150 ), ply:Nick(), Color( 255, 255, 255 ), " is a ", Color( 255, 50, 50 ), "traitor: ", Color( 200, 120, 50 ), wep:GetPrintName() or wep:GetClass() );
    				end
    			end
    		end
    	end
    end
    
    function BB.AddHook( hookname, name, func )
    	table.insert( BB.RandomHooks.hook, hookname );
    	table.insert( BB.RandomHooks.name, name );
    	hook.Add( hookname, name, func );
    end
    
    function BB.Menu( )
    	--Creating main stuff
    	local UsedCVARS = { };
    	
    	local Panel = vgui.Create( "DFrame" );
    	Panel:SetSize( 500, 300 );
    	Panel:SetPos( ScrW()/2-Panel:GetWide()/2, ScrH()/2-Panel:GetTall()/2 );
    	Panel:SetTitle( "Blue Bot" );
    	Panel:MakePopup();
    	
    	local SettingsSheet = vgui.Create( "DPropertySheet", Panel );
    	SettingsSheet:SetPos( 0, 23 );
    	SettingsSheet:SetSize( SettingsSheet:GetParent():GetWide(), SettingsSheet:GetParent():GetTall() - 23 );
    	
    	local MainPanel = vgui.Create( "DPanel", Panel );
    	MainPanel:SetPos( 0, 0 );
    	MainPanel:SetSize( MainPanel:GetParent():GetWide(), MainPanel:GetParent():GetTall() - 23 );
    	MainPanel.Paint = function() end;
    	
    	local AimPanel = vgui.Create( "DPanel", Panel );
    	AimPanel:SetPos( 0, 0 );
    	AimPanel:SetSize( MainPanel:GetParent():GetWide(), MainPanel:GetParent():GetTall() - 23 );
    	AimPanel.Paint = function() end;
    	AimPanel:SetVisible( false );
    	
    	local ESPPanel = vgui.Create( "DPanel", Panel );
    	ESPPanel:SetPos( 0, 0 );
    	ESPPanel:SetSize( MainPanel:GetParent():GetWide(), MainPanel:GetParent():GetTall() - 23 );
    	ESPPanel.Paint = function() end;
    	ESPPanel:SetVisible( false );
    	
    	local MiscPanel = vgui.Create( "DPanel", Panel );
    	MiscPanel:SetPos( 0, 25 );
    	MiscPanel:SetSize( MainPanel:GetParent():GetWide(), MainPanel:GetParent():GetTall() - 23 );
    	MiscPanel.Paint = function() end;
    	MiscPanel:SetVisible( false );
    	
    	SettingsSheet:AddSheet("General", MainPanel, "gui/silkicons/user", false, false, "General settings");
    	SettingsSheet:AddSheet("Aimbot", AimPanel, "gui/silkicons/user", false, false, "Aimbot settings");
    	SettingsSheet:AddSheet("ESP/Chams", ESPPanel, "gui/silkicons/user", false, false, "ESP/Chams settings");
    	SettingsSheet:AddSheet("Misc", MiscPanel, "gui/silkicons/user", false, false, "Misc settings");
    	--==Main Panel==--
    	local Label = vgui.Create( "DLabel", MainPanel );
    	Label:SetPos( 10, 5 );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetText( "Settings" );
    	Label:SizeToContents();
    	
    	Label = vgui.Create( "DLabel", MainPanel );
    	Label:SetPos( 275, 5 );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetText( "More coming soon" );
    	Label:SizeToContents();
    	
    	local List = vgui.Create( "DPanelList", MainPanel );
    	List:SetPos( 10, 20 );
    	List:SetSize( 200, 200 );
    	List:SetSpacing( 5 );
    	List:EnableHorizontal( false );
    	List:EnableVerticalScrollbar( true );
    	List:SetPadding( 5 );
    	function List:Paint()
    		draw****undedBox( 4, 0, 0, List:GetWide(), List:GetTall(), Color( 0, 0, 0, 150 ) );
    	end
    	
    	table.sort( BB.CVARS.Bools, BB.TableSortByAsc );
    	
    	for name, base in pairs(BB.CVARS.Bools) do
    		if (base.OnMenu && base.main) then
    			local CheckBox = vgui.Create( "DCheckBoxLabel" );
    			CheckBox:SetText( name );
    			CheckBox:SetConVar( base.cvar:GetName() );
    			CheckBox:SetValue( base.cvar:GetBool() );
    			CheckBox:SizeToContents();
    			List:AddItem( CheckBox );
    			table.insert( UsedCVARS, base );
    		end
    	end
    	
    	List = vgui.Create( "DPanelList", MainPanel );
    	List:SetPos( 275, 20 );
    	List:SetSize( 200, 200 );
    	List:SetSpacing( 5 );
    	List:EnableHorizontal( false );
    	List:EnableVerticalScrollbar( true );
    	List:SetPadding( 5 );
    	function List:Paint()
    		draw****undedBox( 4, 0, 0, List:GetWide(), List:GetTall(), Color( 0, 0, 0, 150 ) );
    	end
    	--==Aimbot==--
    	Label = vgui.Create( "DLabel", AimPanel );
    	Label:SetPos( 10, 5 );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetText( "Aimbot settings" );
    	Label:SizeToContents();
    	
    	local List = vgui.Create( "DPanelList", AimPanel );
    	List:SetPos( 10, 20 );
    	List:SetSize( 200, 200 );
    	List:SetSpacing( 5 );
    	List:EnableHorizontal( false );
    	List:EnableVerticalScrollbar( true );
    	List:SetPadding( 5 );
    	function List:Paint()
    		draw****undedBox( 4, 0, 0, List:GetWide(), List:GetTall(), Color( 0, 0, 0, 150 ) );
    	end
    	
    	for name, base in pairs(BB.CVARS.Bools) do
    		if (base.OnMenu && !base.main && string.find( base.cvar:GetName(), "aim" )) then
    			local CheckBox = vgui.Create( "DCheckBoxLabel" );
    			CheckBox:SetText( name );
    			CheckBox:SetConVar( base.cvar:GetName() );
    			CheckBox:SetValue( base.cvar:GetBool() );
    			CheckBox:SizeToContents();
    			List:AddItem( CheckBox );
    			table.insert( UsedCVARS, base );
    		end
    	end
    	
    	local FOVSlider = vgui.Create( "DNumSlider", AimPanel );
    	FOVSlider:SetPos( 275, -15 );
    	FOVSlider:SetSize( 150, 100 );
    	FOVSlider:SetText( "Max Angle" );
    	FOVSlider:SetMin( 0 );
    	FOVSlider:SetMax( 180 );
    	FOVSlider:SetDecimals( 0 );
    	FOVSlider:SetConVar( BB.RandomPrefix.."_aimbot_max_angle" );
    	FOVSlider.Paint = function()
    		draw****undedBox( 4, 0, 36, FOVSlider:GetWide(), 25, Color( 0, 0, 0, 150 ) );
    	end
    	--==ESP==--
    	Label = vgui.Create( "DLabel", ESPPanel );
    	Label:SetPos( 10, 5 );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetText( "ESP/Chams settings" );
    	Label:SizeToContents();
    	
    	List = vgui.Create( "DPanelList", ESPPanel );
    	List:SetPos( 10, 20 );
    	List:SetSize( 200, 200 );
    	List:SetSpacing( 5 );
    	List:EnableHorizontal( false );
    	List:EnableVerticalScrollbar( true );
    	List:SetPadding( 5 );
    	function List:Paint()
    		draw****undedBox( 4, 0, 0, List:GetWide(), List:GetTall(), Color( 0, 0, 0, 150 ) );
    	end
    	
    	for name, base in pairs(BB.CVARS.Bools) do
    		if (base.OnMenu && !base.main && (string.find( base.cvar:GetName(), "esp" ) || string.find( base.cvar:GetName(), "cham" ))) then
    			local CheckBox = vgui.Create( "DCheckBoxLabel" );
    			CheckBox:SetText( name );
    			CheckBox:SetConVar( base.cvar:GetName() );
    			CheckBox:SetValue( base.cvar:GetBool() );
    			CheckBox:SizeToContents();
    			List:AddItem( CheckBox );
    			table.insert( UsedCVARS, base );
    		end
    	end
    	--==MISC==--
    	Label = vgui.Create( "DLabel", MiscPanel );
    	Label:SetPos( 10, 5 );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetText( "Misc settings" );
    	Label:SizeToContents();
    	
    	List = vgui.Create( "DPanelList", MiscPanel );
    	List:SetPos( 10, 20 );
    	List:SetSize( 200, 200 );
    	List:SetSpacing( 5 );
    	List:EnableHorizontal( false );
    	List:EnableVerticalScrollbar( true );
    	List:SetPadding( 5 );
    	function List:Paint()
    		draw****undedBox( 4, 0, 0, List:GetWide(), List:GetTall(), Color( 0, 0, 0, 150 ) );
    	end
    	
    	for name, base in pairs(BB.CVARS.Bools) do
    		if (base.OnMenu && !table.HasValue( UsedCVARS, base )) then
    			local CheckBox = vgui.Create( "DCheckBoxLabel" );
    			CheckBox:SetText( name );
    			CheckBox:SetConVar( base.cvar:GetName() );
    			CheckBox:SetValue( base.cvar:GetBool() );
    			CheckBox:SizeToContents();
    			List:AddItem( CheckBox );
    		end
    	end
    end
    
    function BB.UpdateMenu()
    	local Panel = vgui.Create( "DFrame" );
    	Panel:SetSize( 800, 600 );
    	Panel:SetPos( ScrW()/2-Panel:GetWide()/2, ScrH()/2-Panel:GetTall()/2 );
    	Panel:SetTitle( "Blue Bot - Notice" );
    	Panel:MakePopup();
    	
    	local Label = vgui.Create( "DLabel", Panel );
    	Label:SetColor( Color( 255, 255, 255, 255 ) );
    	Label:SetFont( "DermaLarge" );
    	Label:SetText( "Your version is outdated! ".****.Version );
    	Label:SizeToContents();
    	Label:SetPos( Label:GetParent():GetWide()/2-Label:GetWide()/2-5, 50 );
    	Label.Paint = function()
    		Label:SetColor( Color( 255, 255 - (math.sin( CurTime() * 4 ) * 255), 255 - (math.sin( CurTime() * 4 ) * 255), 255 ) );
    	end
    	
    	local HTML = vgui.Create( "HTML", Panel );
    	HTML:OpenURL( "https://bluekirbygmod.googlecode.com/svn/trunk/Blue%20Bot/changelog.txt" );
    	HTML:SetSize( HTML:GetParent():GetWide() - 50, HTML:GetParent():GetTall() - 160 );
    	HTML:SetPos( 25, 100 )
    	HTML.Paint = function()
    		surface.SetDrawColor( Color( 255, 255, 255, 255 ) );
    		surface.DrawRect( 0, 0, HTML:GetWide(), HTML:GetTall() );
    	end
    	
    	local Button = vgui.Create( "DButton", Panel );
    	Button:SetText( "Save" );
    	Button:SetSize( Button:GetParent():GetWide() - 50, 25 );
    	Button:SetPos( 25, Button:GetParent():GetTall() - 30 );
    	Button.DoClick = function()
    		HTML:SetVisible( false );
    		Panel:SetSize( 400, 150 );
    		Panel:SetPos( ScrW()/2-Panel:GetWide()/2, ScrH()/2-Panel:GetTall()/2 );
    		Label:SetText( "Saved to data/bluebotv".****.V..".txt" );
    		Label:SizeToContents();
    		Label:SetPos( Label:GetParent():GetWide()/2-Label:GetWide()/2-5, 50 );
    		file.Write( "bluebotv".****.V..".txt", BB.LatestVersion );
    	end
    end
    
    BB.Init();
    
    BB.AddHook( "RenderScreenspaceEffects" , BB.RandomString( 0, true, true ), BB.Chams );
    BB.AddHook( "Think", BB.RandomString( 0, true, true ), BB.Aimbot );
    BB.AddHook( "Think", BB.RandomString( 0, true, true ), BB.TraitorDetector );
    BB.AddHook( "CreateMove", BB.RandomString( 0, true, true ), BB.CreateMove );
    BB.AddHook( "CalcView", BB.RandomString( 0, true, true ), BB.NoVisualRecoil );
    BB.AddHook( "HUDPaint", BB.RandomString( 0, true, true ), BB.ESP );
    
    concommand.Add( BB.RandomPrefix.."_unload", function( ply, cmd, args ) 
    	for i = 1, #BB.RandomHooks.hook do
    		hook.Remove( BB.RandomHooks.hook[i], BB.RandomHooks.name[i] );
    		BB.Print( true, true, Color( 255, 255, 255 ), "Unhooked ".****.RandomHooks.hook[i].." using name ".****.RandomHooks.name[i] );
    	end
    	
    	concommand.Remove( BB.RandomPrefix.."_unload" );
    	concommand.Remove( BB.RandomPrefix.."_menu" );
    	concommand.Remove( "+".****.RandomPrefix.."_aimbot" );
    	concommand.Remove( "-".****.RandomPrefix.."_aimbot" );
    	concommand.Remove( BB.RandomPrefix.."_aimbot_toggle" );
    	timer.Destroy( BB.TimerName );
    	BB.Unloaded = true;
    	BB.Print( true, true, Color( 255, 255, 255 ), "Unloaded successfully!" );
    end );
    
    concommand.Add( BB.RandomPrefix.."_menu", BB.Menu );
    concommand.Add( "+".****.RandomPrefix.."_aimbot", function( ply, cmd, args )
    	BB.AimbotKeyDown = true;
    	
    	BB.Aimbot();
    end );
    
    concommand.Add( "-".****.RandomPrefix.."_aimbot", function( ply, cmd, args ) 
    	BB.AimbotKeyDown = false;
    end );
    
    concommand.Add( BB.RandomPrefix.."_aimbot_toggle", function( ply, cmd, args ) 
    	BB.AimbotKeyDown = !BB.AimbotKeyDown;
    	
    	if (BB.AimbotKeyDown == true) then
    		BB.Aimbot();
    	end
    end );

  2. #2
    st0rm1's Avatar
    Join Date
    Jul 2015
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    1
    rip good gamer good coder

  3. #3
    yarmis's Avatar
    Join Date
    Mar 2015
    Gender
    male
    Location
    Southern States
    Posts
    10
    Reputation
    10
    Thanks
    0
    My Mood
    Aggressive
    Just going to put this out there but i've never done anything to GMOD.. can someone explain to me what this will do and how to use it?

  4. #4
    tanner1031's Avatar
    Join Date
    Jul 2012
    Gender
    female
    Posts
    46
    Reputation
    10
    Thanks
    659
    Quote Originally Posted by yarmis View Post
    Just going to put this out there but i've never done anything to GMOD.. can someone explain to me what this will do and how to use it?
    Download script. Open gmod console. Type unbindall. Game on.

  5. #5
    c0deine's Avatar
    Join Date
    Feb 2015
    Gender
    male
    Posts
    190
    Reputation
    10
    Thanks
    167
    My Mood
    Aggressive
    Quote Originally Posted by tanner1031 View Post
    Download script. Open gmod console. Type unbindall. Game on.
    thanks but now i cant go forward? also my game dont let me exit i have to turn off my computer because my mouse is stuck .....

  6. #6
    wolf_boss1's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Posts
    2
    Reputation
    10
    Thanks
    0
    lol
    For those asking how to use it copy and paste the code into a notepad++ and save it as a .lua e.g. Hack.lua

    Then move it into your lua file under garrys mod if you need more assistance just ask

  7. #7
    m36a1's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    Thank you for the nice release! I am just wondering on how to get this working because i'm getting an error in the console.

  8. #8
    Yemiez's Avatar
    Join Date
    Jun 2012
    Gender
    male
    Location
    Sweden
    Posts
    2,566
    Reputation
    731
    Thanks
    16,280
    My Mood
    Devilish
    Not a release..

    /Moved to Coding & Resources

Similar Threads

  1. bye bye.
    By someone in forum General
    Replies: 34
    Last Post: 08-08-2007, 03:52 PM
  2. Bye bye
    By Dokuda in forum Spammers Corner
    Replies: 18
    Last Post: 08-06-2007, 11:04 AM
  3. Bye bye
    By chc18 in forum Spammers Corner
    Replies: 5
    Last Post: 07-21-2007, 03:50 PM
  4. bye bye !!!~
    By Gourav2122 in forum General
    Replies: 20
    Last Post: 07-18-2007, 06:42 AM
  5. Say bye bye!
    By pimpineggs in forum Hardware & Software Support
    Replies: 13
    Last Post: 01-10-2007, 02:17 PM