local Hex = loadstring(
	game:HttpGet("https://[Log in to view URL]")
)()
local Esp = loadstring(game:HttpGet("https://[Log in to view URL]"))()

local ConfigManager = Hex:ConfigManager({
	Directory = "ScriptHouse 2.0 ",
	Config = "Example-Configs",
})

Hex.Colors.Highlight = Color3.fromRGB(50, 205, 50)
Hex.Colors.Toggle = Color3.fromRGB(50, 205, 50)
Hex:Loader("rbxassetid://114102372151784", 1).yield()

local Window = Hex.new({
	Name = "",
	Keybind = "LeftAlt",
	Logo = "rbxassetid://114102372151784",
	TextSize = 15,
})

local Watermark = Window:Watermark()
Watermark:AddText({
	Icon = "server",
	Text = "v1",
})

local MainCategory = Window:DrawCategory({ Name = "Main" })
local SilentAimTab = Window:DrawTab({ Name = "Silent Aim", Icon = "skull" })
local VisualsCategory = Window:DrawCategory({ Name = "Visuals" })
local EntitiesTab = Window:DrawTab({ Name = "Entities", Icon = "users" })
local MiscTab = Window:DrawTab({ Name = "Misc", Icon = "eye" })

local SilentGeneral = SilentAimTab:DrawSection({ Name = "General", Position = "Left" })
local SilentChecks = SilentAimTab:DrawSection({ Name = "Checks", Position = "Left" })
local SilentVisuals = SilentAimTab:DrawSection({ Name = "Visuals", Position = "Right" })
local EntitiesEsp = EntitiesTab:DrawSection({ Name = "Esp", Position = "Left" })
local TracerSection = MiscTab:DrawSection({ Name = "Tracer", Position = "Left" })
local HitSoundSection = MiscTab:DrawSection({ Name = "Hit Sound", Position = "Right" })

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera

local BulletHandlerModule = ReplicatedStorage.ModuleScripts.GunModules.BulletHandler
local BulletHandler = require(BulletHandlerModule)

local SignalManager = require(game:GetService("ReplicatedStorage").SignalManager)
local RemoteName = "FireWeapon"

local GunFramework = ReplicatedStorage.ModuleScripts.GunModules.GunFramework
local HitSoundObject = GunFramework.Sounds.HitSound

local FOVCircle = Drawing.new("Circle")
FOVCircle.Visible = false
FOVCircle.Transparency = 1
FOVCircle.Thickness = 1
FOVCircle.Color = Color3.fromRGB(243, 116, 116)
FOVCircle.NumSides = 100
FOVCircle.Filled = false
FOVCircle.ZIndex = 2

local FOVOutline = Drawing.new("Circle")
FOVOutline.Visible = false
FOVOutline.Transparency = 1
FOVOutline.Thickness = 3
FOVOutline.Filled = false
FOVOutline.Color = Color3.fromRGB(0, 0, 0)
FOVOutline.NumSides = 100
FOVOutline.ZIndex = 1

local FOVFilled = Drawing.new("Circle")
FOVFilled.Visible = false
FOVFilled.Transparency = 0.3
FOVFilled.Thickness = 1
FOVFilled.Filled = false
FOVFilled.Color = Color3.fromRGB(180, 60, 60)
FOVFilled.NumSides = 100
FOVFilled.Filled = true
FOVFilled.ZIndex = 1

local Snapline = Drawing.new("Line")
Snapline.Visible = false
Snapline.Thickness = 1
Snapline.Color = Color3.fromRGB(243, 116, 116)
Snapline.Transparency = 1
Snapline.ZIndex = 2

local SnaplineOutline = Drawing.new("Line")
SnaplineOutline.Visible = false
SnaplineOutline.Thickness = 3
SnaplineOutline.Color = Color3.fromRGB(0, 0, 0)
SnaplineOutline.Transparency = 1
SnaplineOutline.ZIndex = 1

local SilentAimEnabled = false
local SilentEnabled = SilentGeneral:AddToggle({
	Name = "Enabled",
	Flag = "Silent_State",
	Callback = function(state)
		SilentAimEnabled = state
	end,
})

local AutoShootEnabled = false
local AutoShoot = SilentGeneral:AddToggle({
	Name = "Auto Shoot",
	Flag = "Auto_Shoot_State",
	Callback = function(state)
		AutoShootEnabled = state
	end,
})

local HitChanceValue = 100
local HitChance = SilentGeneral:AddSlider({
	Name = "Hit Chance",
	Flag = "Hit_Chance",
	Default = 100,
	Min = 0,
	Max = 100,
	Callback = function(value)
		HitChanceValue = value
	end,
})

local TargetBone = "Head"
local TargetBoneDropdown = SilentGeneral:AddDropdown({
	Name = "Target Bone",
	Flag = "Target_Bone",
	Default = "Head",
	Values = { "Head", "HumanoidRootPart", "UpperTorso", "LowerTorso" },
	Callback = function(value)
		TargetBone = value
	end,
})

local VisibleCheckEnabled = false
local ChecksVisible = SilentChecks:AddToggle({
	Name = "Visible",
	Flag = "Silent_Visible_State",
	Callback = function(state)
		VisibleCheckEnabled = state
	end,
})

local FriendCheckEnabled = false
local ChecksFriend = SilentChecks:AddToggle({
	Name = "Friend",
	Flag = "Silent_Friend_State",
	Callback = function(state)
		FriendCheckEnabled = state
	end,
})

local FOVEnabled = false
local VisualsFovEnabled = SilentVisuals:AddToggle({
	Name = "Fov",
	Flag = "Silent_Fov_State",
	Callback = function(state)
		FOVEnabled = state
		FOVCircle.Visible = state
		FOVOutline.Visible = state
		FOVFilled.Visible = state and FOVFilledEnabled
	end,
})
local FovLink = VisualsFovEnabled.Link:AddOption()

local FOVFilledEnabled = false
FovLink:AddToggle({
	Name = "Filled",
	Flag = "Fov_Filled_State",
	Default = false,
	Callback = function(state)
		FOVFilledEnabled = state
		FOVFilled.Visible = state and FOVEnabled
	end,
})

local SnaplineEnabled = false
local VisualsSnaplineEnabled = SilentVisuals:AddToggle({
	Name = "Snapline",
	Flag = "Silent_Snapline_State",
	Callback = function(state)
		SnaplineEnabled = state
		Snapline.Visible = state
		SnaplineOutline.Visible = state
	end,
})
local SnaplineLink = VisualsSnaplineEnabled.Link:AddOption()

local SnaplineFrom = "Gun"
SnaplineLink:AddDropdown({
	Name = "From",
	Flag = "Snapline_From",
	Default = "Gun",
	Values = { "Gun", "Top", "Middle", "Bottom" },
	Callback = function(value)
		SnaplineFrom = value
	end,
})

local FOVSize = 100
local VisualsFovSize = SilentVisuals:AddSlider({
	Name = "Size",
	Flag = "Silent_Fov_Size",
	Default = 100,
	Min = 0,
	Max = 100,
	Callback = function(value)
		FOVSize = value
		FOVCircle.Radius = value
		FOVOutline.Radius = value
		FOVFilled.Radius = value
	end,
})

local EspEnabled = EntitiesEsp:AddToggle({
	Name = "Enabled",
	Flag = "Esp_State",
	Callback = function(state)
		Esp.Enabled = state
	end,
})

local CornerEsp = EntitiesEsp:AddToggle({
	Name = "Corner",
	Flag = "Corner_State",
	Callback = function(state)
		Esp.Drawing.Boxes.Corner.Enabled = state
	end,
})
local CornerEspLink = CornerEsp.Link:AddOption()

CornerEspLink:AddToggle({
	Name = "Gradient",
	Flag = "Gradient_State",
	Callback = function(state)
		Esp.Drawing.Boxes.Gradient = state
		Esp.Drawing.Boxes.GradientFill = state
	end,
})

CornerEspLink:AddToggle({
	Name = "Animate",
	Flag = "Animate_State",
	Callback = function(state)
		Esp.Drawing.Boxes.Animate = state
	end,
})

CornerEspLink:AddToggle({
	Name = "Filled",
	Flag = "Filled_State",
	Callback = function(state)
		Esp.Drawing.Boxes.Filled.Enabled = state
	end,
})

local NameEsp = EntitiesEsp:AddToggle({
	Name = "Name",
	Flag = "Name_State",
	Callback = function(state)
		Esp.Drawing.Names.Enabled = state
	end,
})

local DistanceEsp = EntitiesEsp:AddToggle({
	Name = "Distance",
	Flag = "Distance_State",
	Callback = function(state)
		Esp.Drawing.Distances.Enabled = state
	end,
})

local TracerEnabled = false
local TracerToggle = TracerSection:AddToggle({
	Name = "Enabled",
	Flag = "Tracer_State",
	Callback = function(state)
		TracerEnabled = state
	end,
})

local TracerColor = Color3.fromRGB(50, 205, 50)
TracerToggle.Link:AddColorPicker({
	Name = "Color",
	Flag = "Tracer_Color",
	Default = Color3.fromRGB(50, 205, 50),
	Callback = function(color)
		TracerColor = color
	end,
})

local HitSound = {
	Default = "rbxassetid://3092866899",
	Neverlose = "rbxassetid://8726881116",
	Gamesense = "rbxassetid://4817809188",
	Minecraft = "rbxassetid://4018616850",
}

local SelectedHitSound = "Default"
local HitSoundDropdown = HitSoundSection:AddDropdown({
	Name = "Sound",
	Flag = "Sound_Id",
	Default = "Default",
	Values = { "Default", "Neverlose", "Gamesense", "Minecraft" },
	Callback = function(state)
		SelectedHitSound = state
		HitSoundObject.SoundId = HitSound[state]
	end,
})

local HitSoundVolume = HitSoundSection:AddSlider({
	Name = "Volume",
	Flag = "Volume_Value",
	Default = 0.5,
	Min = 0,
	Max = 1,
	Round = 1,
	Callback = function(state)
		HitSoundObject.Volume = state
	end,
})

local HitSoundPlaySound = HitSoundSection:AddButton({
	Name = "Play Sound",
	Callback = function()
		HitSoundObject:Play()
	end,
})

local function isVisible(targetPart)
	local character = LocalPlayer.Character
	if not character then
		return false
	end

	local origin = Camera.CFrame.Position
	local targetPos = targetPart.Position
	local direction = (targetPos - origin).Unit

	local raycastParams = RaycastParams.new()
	raycastParams.FilterDescendantsInstances = { character }
	raycastParams.FilterType = Enum.RaycastFilterType.Exclude
	raycastParams.IgnoreWater = true

	local raycastResult = Workspace:Raycast(origin, direction * 1000, raycastParams)

	if raycastResult then
		return raycastResult.Instance:IsDescendantOf(targetPart.Parent)
	end

	return true
end

local function fireWeapon()
	if SignalManager then
		SignalManager.Fire(RemoteName, Enum.UserInputState.Begin)
		SignalManager.Fire(RemoteName, Enum.UserInputState.End)
	end
end

local Tracers = {}

local function cleanupTracers()
	for i = #Tracers, 1, -1 do
		local tracer = Tracers[i]
		if tracer.Beam then
			tracer.Beam:Destroy()
		end
		if tracer.StartPart then
			tracer.StartPart:Destroy()
		end
		if tracer.EndPart then
			tracer.EndPart:Destroy()
		end
		table.remove(Tracers, i)
	end
end

LocalPlayer.CharacterRemoving:Connect(cleanupTracers)

local function createTracer(startPosition, endPosition)
	if not TracerEnabled then
		return
	end

	local beam = Instance.new("Beam")
	beam.Name = "TracerBeam"
	beam.Parent = workspace
	beam.Color = ColorSequence.new(TracerColor)
	beam.Width0 = 1
	beam.Width1 = 1
	beam.FaceCamera = true
	beam.Transparency = NumberSequence.new(0)
	beam.LightEmission = 1
	beam.TextureSpeed = 0.5
	beam.Texture = "rbxassetid://446111271"

	local startPart = Instance.new("Part")
	startPart.CanCollide = false
	startPart.CanQuery = false
	startPart.CanTouch = false
	startPart.Transparency = 1
	startPart.Position = startPosition
	startPart.Parent = workspace
	startPart.Anchored = true
	startPart.Size = Vector3.new(0.01, 0.01, 0.01)

	local endPart = Instance.new("Part")
	endPart.CanCollide = false
	endPart.CanQuery = false
	endPart.CanTouch = false
	endPart.Transparency = 1
	endPart.Position = endPosition
	endPart.Parent = workspace
	endPart.Anchored = true
	endPart.Size = Vector3.new(0.01, 0.01, 0.01)

	beam.Attachment0 = Instance.new("Attachment", startPart)
	beam.Attachment1 = Instance.new("Attachment", endPart)

	local tracer = {
		Beam = beam,
		StartPart = startPart,
		EndPart = endPart,
		StartTime = tick(),
	}

	table.insert(Tracers, tracer)
end

local function get_closest_target()
	if not SilentAimEnabled then
		return nil
	end

	local player = LocalPlayer
	if not player or not player.Character then
		return nil
	end

	local character = player.Character
	local rootPart = character:FindFirstChild("HumanoidRootPart")
	if not rootPart then
		return nil
	end

	local closestTarget = nil
	local closestDistance = 999

	local mousePos = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)

	for _, targetPlayer in pairs(Players:GetPlayers()) do
		if targetPlayer ~= player and targetPlayer.Character then
			local targetChar = targetPlayer.Character
			local targetBonePart = targetChar:FindFirstChild(TargetBone)

			if targetBonePart then
				if FriendCheckEnabled then
					local success, isFriend = pcall(function()
						return player:IsFriendsWith(targetPlayer.UserId)
					end)
					if success and isFriend then
						continue
					end
				end

				local targetVisible = isVisible(targetBonePart)

				if AutoShootEnabled and not targetVisible then
					continue
				end
				if VisibleCheckEnabled and not targetVisible then
					continue
				end

				local screenPos, onScreen = Camera:WorldToViewportPoint(targetBonePart.Position)
				if onScreen then
					local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude

					if FOVEnabled then
						if distance <= FOVSize then
							if distance < closestDistance then
								closestDistance = distance
								closestTarget = {
									Bone = targetBonePart,
									ScreenPos = Vector2.new(screenPos.X, screenPos.Y),
									Visible = targetVisible,
								}
							end
						end
					else
						if distance < closestDistance then
							closestDistance = distance
							closestTarget = {
								Bone = targetBonePart,
								ScreenPos = Vector2.new(screenPos.X, screenPos.Y),
								Visible = targetVisible,
							}
						end
					end
				end
			end
		end
	end

	if closestTarget and HitChanceValue < 100 then
		local randomChance = math.random(1, 100)
		if randomChance > HitChanceValue then
			return nil
		end
	end

	return closestTarget
end

local old = BulletHandler.Fire
BulletHandler.Fire = function(data)
	local closest = get_closest_target()
	if closest and SilentAimEnabled then
		data.Force = data.Force * 1000
		data.Direction = (closest.Bone.Position - data.Origin).Unit

		if TracerEnabled then
			local origin = data.VisualOrigin
			local targetPosition = closest.Bone.Position
			createTracer(origin, targetPosition)
		end
	end
	return old(data)
end

FOVCircle.Radius = 100
FOVOutline.Radius = 100
FOVFilled.Radius = 100

local lastShot = 0
local shotCooldown = 0.1

RunService.RenderStepped:Connect(function()
	local screenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)

	FOVCircle.Position = screenCenter
	FOVOutline.Position = screenCenter
	FOVFilled.Position = screenCenter

	for i = #Tracers, 1, -1 do
		local tracer = Tracers[i]
		local elapsed = tick() - tracer.StartTime
		if elapsed >= 2.5 then
			if tracer.Beam then
				tracer.Beam:Destroy()
			end
			if tracer.StartPart then
				tracer.StartPart:Destroy()
			end
			if tracer.EndPart then
				tracer.EndPart:Destroy()
			end
			table.remove(Tracers, i)
		else
			local transparency = elapsed / 2.5
			if tracer.Beam then
				tracer.Beam.Transparency = NumberSequence.new(transparency)
			end
		end
	end

	local closest = get_closest_target()

	if AutoShootEnabled and closest and SilentAimEnabled and closest.Visible then
		local currentTime = tick()
		if currentTime - lastShot > shotCooldown then
			fireWeapon()
			lastShot = currentTime
		end
	end

	if SnaplineEnabled then
		if closest then
			local fromPoint
			if SnaplineFrom == "Gun" then
				fromPoint = screenCenter
			elseif SnaplineFrom == "Top" then
				fromPoint = Vector2.new(screenCenter.X, 0)
			elseif SnaplineFrom == "Middle" then
				fromPoint = screenCenter
			elseif SnaplineFrom == "Bottom" then
				fromPoint = Vector2.new(screenCenter.X, Camera.ViewportSize.Y)
			end

			Snapline.From = fromPoint
			Snapline.To = closest.ScreenPos
			SnaplineOutline.From = fromPoint
			SnaplineOutline.To = closest.ScreenPos
			Snapline.Visible = true
			SnaplineOutline.Visible = true
		else
			Snapline.Visible = false
			SnaplineOutline.Visible = false
		end
	end
end)

Window:DrawCategory({ Name = "Settings" })
local ConfigUI = Window:DrawConfig({ Name = "Config", Icon = "folder", Config = ConfigManager })
ConfigUI:Init()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: