-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ac5b2f4c2d592b4a65cbf41"))() end) end) --[[rscripts:analytics:end]] -- Fear Hub | Made by Solo -- LocalScript — run via executor local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local Lighting = game:GetService("Lighting") local lp = Players.LocalPlayer local char = lp.Character or lp.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local rootPart = char:WaitForChild("HumanoidRootPart") local head = char:WaitForChild("Head") -- ───────────────────────────────────────── -- State -- ───────────────────────────────────────── -- Hitbox local hitboxEnabled = false local hitboxSize = 8 local hitboxTransparency = 0.5 -- Jump / Speed / Gravity local jumpEnabled = false local jumpPower = 80 local jumpConn = nil local originalJump = hum.JumpPower local speedEnabled = false local speedValue = 18 local gravEnabled = false local gravValue = 196 -- Ball local ballPullEnabled = false local ballPullStrength = 0.15 local ballPullMaxDist = 50 local instantCatchEnabled = false local catchRange = 8 local catchCooldown = 0.5 local lastCatchTime = 0 local legitPullEnabled = false local isSmoothPulling = false local pullSmoothness = 0.08 local pullMaxDist = 35 local autoPJEnabled = false local isAutoPJActive = false local ballSpeedEnabled = false local ballSpeedValue = 50 local ballManipEnabled = false local ballManipStrength = 0.05 local ballStickEnabled = false local ballStickRange = 19 -- Sticky Head local stickyEnabled = false local stickyStrength = 5 local currentStickyHead = nil local stickyAttachment = nil local stickyAlignPos = nil -- TTB local ttbEnabled = false local ttbPower = 5 local ttbSmoothness = 0.3 local lastTTBBoost = 0 local ttbBodyGyro = nil -- Boost On Jump local boostOnJumpEnabled = false local boostOnJumpPower = 25 local boostCooldowns = {} -- Head Sink local headSinkEnabled = false local headSinkStrength = 0.8 local headSinkBoostPower = 60 local headSinkDepth = 3 local isSinking = false local sinkTarget = nil local sinkBodyVel = nil local sinkBodyGyro = nil -- Head Manip / Follow local headManipEnabled = false local headManipSubtle = true local headFollowEnabled = false -- Graphics local skyColorEnabled = false local skyColorValue = Color3.fromRGB(135, 206, 235) local origAmbient = Lighting.Ambient local origOutdoorAmbient = Lighting.OutdoorAmbient local origFogColor = Lighting.FogColor local origFogEnd = Lighting.FogEnd local origBrightness = Lighting.Brightness local origClockTime = Lighting.ClockTime local unloaded = false -- ───────────────────────────────────────── -- Respawn handler -- ───────────────────────────────────────── lp.CharacterAdded:Connect(function(newChar) char = newChar hum = newChar:WaitForChild("Humanoid") rootPart = newChar:WaitForChild("HumanoidRootPart") head = newChar:WaitForChild("Head") boostCooldowns = {} isSinking = false sinkTarget = nil if jumpConn then jumpConn:Disconnect(); jumpConn = nil end if jumpEnabled then hum.JumpPower = jumpPower; hum.UseJumpPower = true end if ttbBodyGyro then ttbBodyGyro:Destroy(); ttbBodyGyro = nil end if sinkBodyVel then sinkBodyVel:Destroy(); sinkBodyVel = nil end if sinkBodyGyro then sinkBodyGyro:Destroy(); sinkBodyGyro = nil end if ttbEnabled then ttbBodyGyro = Instance.new("BodyGyro") ttbBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) ttbBodyGyro.P = 3000; ttbBodyGyro.D = 500 ttbBodyGyro.CFrame = rootPart.CFrame ttbBodyGyro.Parent = rootPart end if headSinkEnabled then sinkBodyVel = Instance.new("BodyVelocity") sinkBodyVel.MaxForce = Vector3.new(5000, 5000, 5000) sinkBodyVel.Velocity = Vector3.new(0, 0, 0) sinkBodyVel.P = 2000 sinkBodyVel.Parent = rootPart sinkBodyGyro = Instance.new("BodyGyro") sinkBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) sinkBodyGyro.P = 3000; sinkBodyGyro.D = 500 sinkBodyGyro.CFrame = rootPart.CFrame sinkBodyGyro.Parent = rootPart end end) -- ───────────────────────────────────────── -- Football finder -- ───────────────────────────────────────── local function getFootball() if char then for _, child in ipairs(char:GetChildren()) do if child:IsA("Tool") then local h = child:FindFirstChild("Handle") if h and h.Name == "Football" then return h end end end for _, d in ipairs(char:GetDescendants()) do if (d:IsA("Weld") or d:IsA("Motor6D") or d:IsA("WeldConstraint")) then if d.Part0 and d.Part0.Name == "Football" and d.Part0:IsA("BasePart") then return d.Part0 end if d.Part1 and d.Part1.Name == "Football" and d.Part1:IsA("BasePart") then return d.Part1 end end end end for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Name == "Football" then if obj.Parent and not obj.Parent:IsA("ScreenGui") and not obj.Parent:IsA("BillboardGui") then return obj end end end return nil end -- ───────────────────────────────────────── -- Ball functions -- ───────────────────────────────────────── local function doBallPull() if not ballPullEnabled then return end local ball = getFootball(); if not ball or not rootPart then return end local dist = (ball.Position - rootPart.Position).Magnitude if dist > ballPullMaxDist then return end local target = rootPart.Position + rootPart.CFrame.LookVector * 2 + Vector3.new(0, 2.5, 0) local dir = (target - ball.Position).Unit local force = dir * math.min(dist * ballPullStrength * 10, 80) ball.AssemblyLinearVelocity = ball.AssemblyLinearVelocity:Lerp(force, ballPullStrength) local g = Instance.new("BodyGyro") g.MaxTorque = Vector3.new(1000, 1000, 1000); g.P = 5000 g.CFrame = CFrame.lookAt(ball.Position, rootPart.Position); g.Parent = ball game.Debris:AddItem(g, 0.05) end local function doBallSpeed() if not ballSpeedEnabled then return end local ball = getFootball(); if not ball or not rootPart then return end local dir = (rootPart.Position - ball.Position).Unit ball.AssemblyLinearVelocity = dir * ballSpeedValue end local function doBallManip() if not ballManipEnabled then return end local ball = getFootball(); if not ball or not rootPart then return end local dir = (rootPart.Position - ball.Position).Unit ball.AssemblyLinearVelocity = ball.AssemblyLinearVelocity:Lerp(dir * ballManipStrength * 150, 0.15) end local function doBallStick() if not ballStickEnabled then return end local ball = getFootball(); if not ball or not rootPart then return end if (ball.Position - rootPart.Position).Magnitude <= ballStickRange then ball.CFrame = CFrame.new(rootPart.Position + Vector3.new(0, 2, -2)) ball.AssemblyLinearVelocity = Vector3.new(0, 0, 0) ball.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end end local function doInstantCatch() if not instantCatchEnabled then return end local now = tick(); if now - lastCatchTime < catchCooldown then return end local ball = getFootball(); if not ball or not rootPart then return end if (ball.Position - rootPart.Position).Magnitude > catchRange then return end local hand = char:FindFirstChild("RightHand") or char:FindFirstChild("Right Arm") or char:FindFirstChild("LeftHand") or char:FindFirstChild("Left Arm") if hand then ball.CFrame = CFrame.new(hand.Position + Vector3.new(0, 0.2, -0.5)) ball.AssemblyLinearVelocity = Vector3.new(0, 0, 0) ball.AssemblyAngularVelocity = Vector3.new(0, 0, 0) lastCatchTime = now end end local function doLegitPull() local ball = getFootball(); if not ball or not rootPart then return end local dist = (ball.Position - rootPart.Position).Magnitude if dist > pullMaxDist then return end local lookDir = (ball.Position - rootPart.Position).Unit local targetPos = ball.Position + Vector3.new(0, 3, 0) rootPart.CFrame = rootPart.CFrame:Lerp(CFrame.new(targetPos, targetPos + lookDir), pullSmoothness) end local function doAutoPJ() if not autoPJEnabled or not isAutoPJActive then return end local ball = getFootball() if ball and rootPart and hum then hum:MoveTo(ball.Position) if (rootPart.Position - ball.Position).Magnitude < 15 then hum.Jump = true end end end -- ───────────────────────────────────────── -- Sticky Head -- ───────────────────────────────────────── local function stickToHead(headPart) if currentStickyHead then if stickyAttachment then stickyAttachment:Destroy() end if stickyAlignPos then stickyAlignPos:Destroy() end currentStickyHead = nil end currentStickyHead = headPart stickyAttachment = Instance.new("Attachment", rootPart) local headAtt = Instance.new("Attachment", headPart) stickyAlignPos = Instance.new("AlignPosition") stickyAlignPos.Attachment0 = stickyAttachment stickyAlignPos.Attachment1 = headAtt stickyAlignPos.MaxForce = 800 * stickyStrength stickyAlignPos.Responsiveness = 80 stickyAlignPos.Parent = rootPart end local function detachSticky() if stickyAttachment then stickyAttachment:Destroy(); stickyAttachment = nil end if stickyAlignPos then stickyAlignPos:Destroy(); stickyAlignPos = nil end currentStickyHead = nil end hum.Touched:Connect(function(hit) if not stickyEnabled or currentStickyHead then return end if hit.Parent == char or hit.Name ~= "Head" then return end local otherHum = hit.Parent:FindFirstChild("Humanoid") if otherHum and otherHum.Health > 0 and (rootPart.Position.Y - hit.Position.Y) > 0.8 then stickToHead(hit) end end) -- ───────────────────────────────────────── -- TTB -- ───────────────────────────────────────── local function updateTTB() if not ttbEnabled or not rootPart or not hum then if ttbBodyGyro then ttbBodyGyro.CFrame = rootPart.CFrame end return end if not ttbBodyGyro or not ttbBodyGyro.Parent then if ttbBodyGyro then ttbBodyGyro:Destroy() end ttbBodyGyro = Instance.new("BodyGyro") ttbBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) ttbBodyGyro.P = 3000; ttbBodyGyro.D = 500 ttbBodyGyro.CFrame = rootPart.CFrame ttbBodyGyro.Parent = rootPart end if hum.MoveDirection.Magnitude > 0.1 or UserInputService:IsKeyDown(Enum.KeyCode.Space) or hum.Jump then ttbBodyGyro.CFrame = rootPart.CFrame; return end local now = tick() local bestTarget, bestScore = nil, 0 for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local oRoot = p.Character:FindFirstChild("HumanoidRootPart") local oHead = p.Character:FindFirstChild("Head") if oRoot and oHead then local dist = (rootPart.Position - oHead.Position).Magnitude local yDiff = rootPart.Position.Y - oHead.Position.Y if dist < 7 and yDiff > 0 and yDiff < 5 then local score = (7 - dist) * 3 + yDiff * 2 if score > bestScore then bestScore = score; bestTarget = {root = oRoot, head = oHead} end end end end end if bestTarget then local headPos = bestTarget.head.Position local dir = headPos - rootPart.Position local dist = dir.Magnitude if dist > 0.5 and dist < 7 then local horiz = Vector3.new(dir.X, 0, dir.Z) if horiz.Magnitude > 0.2 then local tCF = CFrame.lookAt(rootPart.Position, rootPart.Position + horiz.Unit) ttbBodyGyro.CFrame = ttbBodyGyro.CFrame:Lerp(tCF, ttbSmoothness) end if dist < 3.5 and now - lastTTBBoost > 0.4 and rootPart.Velocity.Y < 3 then rootPart.Velocity = Vector3.new(rootPart.Velocity.X, rootPart.Velocity.Y + ttbPower * 4, rootPart.Velocity.Z) lastTTBBoost = now end end else ttbBodyGyro.CFrame = rootPart.CFrame end end -- ───────────────────────────────────────── -- Head Sink -- ───────────────────────────────────────── local function updateHeadSink() if not headSinkEnabled or not rootPart or not hum then if sinkBodyVel then sinkBodyVel.Velocity = Vector3.new(0, 0, 0) end if sinkBodyGyro then sinkBodyGyro.CFrame = rootPart.CFrame end isSinking = false; sinkTarget = nil; return end if not sinkBodyVel or not sinkBodyVel.Parent then if sinkBodyVel then sinkBodyVel:Destroy() end sinkBodyVel = Instance.new("BodyVelocity") sinkBodyVel.MaxForce = Vector3.new(5000, 5000, 5000) sinkBodyVel.Velocity = Vector3.new(0, 0, 0) sinkBodyVel.P = 2000; sinkBodyVel.Parent = rootPart end if not sinkBodyGyro or not sinkBodyGyro.Parent then if sinkBodyGyro then sinkBodyGyro:Destroy() end sinkBodyGyro = Instance.new("BodyGyro") sinkBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) sinkBodyGyro.P = 3000; sinkBodyGyro.D = 500 sinkBodyGyro.CFrame = rootPart.CFrame; sinkBodyGyro.Parent = rootPart end if hum.MoveDirection.Magnitude > 0.1 or UserInputService:IsKeyDown(Enum.KeyCode.Space) or hum.Jump then sinkBodyVel.Velocity = sinkBodyVel.Velocity:Lerp(Vector3.new(0, 0, 0), 0.5) sinkBodyGyro.CFrame = rootPart.CFrame isSinking = false; sinkTarget = nil; return end local bestTarget, bestScore = nil, 0 for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local oHead = p.Character:FindFirstChild("Head") local oHum = p.Character:FindFirstChild("Humanoid") if oHead and oHum then local dist = (rootPart.Position - oHead.Position).Magnitude local yDiff = rootPart.Position.Y - oHead.Position.Y if dist < 6 and yDiff > 0 and yDiff < 8 then local score = (6 - dist) * 2 + yDiff if oHum:GetState() == Enum.HumanoidStateType.Jumping then score = score * 2 end if score > bestScore then bestScore = score; bestTarget = {head = oHead, hum = oHum} end end end end end if bestTarget then sinkTarget = bestTarget local headPos = bestTarget.head.Position if bestTarget.hum:GetState() == Enum.HumanoidStateType.Jumping then isSinking = false local boost = Vector3.new(0, headSinkBoostPower, 0) local horiz = Vector3.new(headPos.X - rootPart.Position.X, 0, headPos.Z - rootPart.Position.Z) if horiz.Magnitude > 0.1 then boost = boost + horiz.Unit * 15 end sinkBodyVel.Velocity = boost sinkBodyGyro.CFrame = rootPart.CFrame hum:ChangeState(Enum.HumanoidStateType.Jumping) else isSinking = true local targetY = headPos.Y - headSinkDepth local yDiff = targetY - rootPart.Position.Y local sinkYVel = math.clamp(yDiff * headSinkStrength * 3, -30, -3) local horiz = Vector3.new(headPos.X - rootPart.Position.X, 0, headPos.Z - rootPart.Position.Z) local vel = Vector3.new(0, sinkYVel, 0) if horiz.Magnitude > 1 then vel = vel + horiz.Unit * math.min(horiz.Magnitude * 3, 15) end sinkBodyVel.Velocity = vel sinkBodyGyro.CFrame = rootPart.CFrame if math.abs(yDiff) > 3 then hum:ChangeState(Enum.HumanoidStateType.Freefall) end end else isSinking = false; sinkTarget = nil sinkBodyVel.Velocity = sinkBodyVel.Velocity:Lerp(Vector3.new(0, 0, 0), 0.3) sinkBodyGyro.CFrame = rootPart.CFrame end end -- ───────────────────────────────────────── -- Head Manip / Follow -- ───────────────────────────────────────── local function updateHeadManip() if not headManipEnabled then return end if hum:GetState() ~= Enum.HumanoidStateType.Freefall then return end if rootPart.Velocity.Y > 3 or hum.MoveDirection.Magnitude > 0.5 then return end local nearest, nearDist = nil, 18 for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local h = p.Character:FindFirstChild("Head") if h then local dist = (rootPart.Position - h.Position).Magnitude local yDiff = h.Position.Y - rootPart.Position.Y if dist < nearDist and yDiff < 3 and yDiff > -8 then nearDist = dist; nearest = h end end end end if nearest and nearDist > 2 and nearDist < 18 and headManipSubtle then local dir = Vector3.new(nearest.Position.X - rootPart.Position.X, 0, nearest.Position.Z - rootPart.Position.Z).Unit local strength = math.clamp(1 - (nearDist / 18), 0.1, 0.5) local force = dir * 25 * strength rootPart.Velocity = Vector3.new( rootPart.Velocity.X * 0.9 + force.X * 0.1, rootPart.Velocity.Y, rootPart.Velocity.Z * 0.9 + force.Z * 0.1 ) end end local function updateHeadFollow() if not headFollowEnabled then return end for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local oRoot = p.Character:FindFirstChild("HumanoidRootPart") local oHum = p.Character:FindFirstChild("Humanoid") if oRoot and oHum and oHum:GetState() == Enum.HumanoidStateType.Jumping then local dist = (rootPart.Position - oRoot.Position).Magnitude if dist < 25 then local dir = (oRoot.Position + Vector3.new(0, 3, 0) - rootPart.Position).Unit local force = dir * 100 rootPart.Velocity = Vector3.new( rootPart.Velocity.X * 0.4 + force.X * 0.6, rootPart.Velocity.Y, rootPart.Velocity.Z * 0.4 + force.Z * 0.6 ) break end end end end end -- ───────────────────────────────────────── -- Main loops -- ───────────────────────────────────────── RunService.RenderStepped:Connect(function() if unloaded then return end if isSmoothPulling then doLegitPull() end doBallPull() doBallSpeed() doBallManip() doBallStick() if isAutoPJActive then doAutoPJ() end end) RunService.Heartbeat:Connect(function() if unloaded then return end if speedEnabled then hum.WalkSpeed = speedValue end if jumpEnabled then hum.JumpPower = jumpPower; hum.UseJumpPower = true end Workspace.Gravity = gravEnabled and gravValue or 196.2 if hitboxEnabled then for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local hrp = p.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.Size = Vector3.new(hitboxSize, hitboxSize, hitboxSize) hrp.Transparency = hitboxTransparency end end end end if stickyEnabled and currentStickyHead then local moving = hum.MoveDirection.Magnitude > 0.2 local jumping = UserInputService:IsKeyDown(Enum.KeyCode.Space) or hum.Jump if moving or jumping or not currentStickyHead.Parent or (rootPart.Position - currentStickyHead.Position).Magnitude > 15 then detachSticky() end end if headSinkEnabled then updateHeadSink() end if not isSinking then updateTTB() end if boostOnJumpEnabled then for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local oHum = p.Character:FindFirstChild("Humanoid") local oRoot = p.Character:FindFirstChild("HumanoidRootPart") if oHum and oRoot and oHum:GetState() == Enum.HumanoidStateType.Jumping then local dist = (rootPart.Position - oRoot.Position).Magnitude local yDiff = rootPart.Position.Y - oRoot.Position.Y if dist < 5 and yDiff > 1.5 and yDiff < 5 then local last = boostCooldowns[p.Name] if not last or tick() - last > 1 then local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(0, math.huge, 0) bv.Velocity = Vector3.new(0, boostOnJumpPower, 0) bv.Parent = rootPart boostCooldowns[p.Name] = tick() task.delay(0.3, function() if bv and bv.Parent then bv:Destroy() end end) end end end end end end updateHeadManip() updateHeadFollow() if skyColorEnabled then Lighting.Ambient = skyColorValue Lighting.OutdoorAmbient = skyColorValue Lighting.Brightness = 2 Lighting.FogEnd = 100000 Lighting.ClockTime = 14 end end) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType == Enum.UserInputType.MouseButton1 and legitPullEnabled then isSmoothPulling = true end if input.KeyCode == Enum.KeyCode.R or input.KeyCode == Enum.KeyCode.ButtonR1 then if autoPJEnabled then isAutoPJActive = true end end if input.KeyCode == Enum.KeyCode.E or input.KeyCode == Enum.KeyCode.ButtonY then doInstantCatch() end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isSmoothPulling = false end if input.KeyCode == Enum.KeyCode.R or input.KeyCode == Enum.KeyCode.ButtonR1 then isAutoPJActive = false end end) -- ───────────────────────────────────────── -- Rayfield -- ───────────────────────────────────────── local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() local Window = Rayfield:CreateWindow({ Name = "Fear Hub", Icon = 0, LoadingTitle = "Fear Hub", LoadingSubtitle = "made by solo", Theme = "Default", DisableRayfieldPrompts = false, DisableBuildWarnings = false, ConfigurationSaving = { Enabled = true, FolderName = "FearHub", FileName = "FearHub" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = true }, KeySystem = true, KeySettings = { Title = "Fear Hub", Subtitle = "Key System", Note = "Join the Discord for the key: discord.gg/NPKDz2JkQ", FileName = "FearHubKey", SaveKey = true, GrabKeyFromSite = false, Key = {"fH@9$xZq#2mLv!Rp"} } }) -- ── Tab: Combat ───────────────────────── local CombatTab = Window:CreateTab("Combat", 4483362458) CombatTab:CreateSection("Hitbox") CombatTab:CreateToggle({ Name = "Hitbox Expander", CurrentValue = false, Flag = "HitboxToggle", Callback = function(v) hitboxEnabled = v end }) CombatTab:CreateSlider({ Name = "Hitbox Size", Range = {2, 30}, Increment = 1, CurrentValue = 8, Flag = "HitboxSize", Callback = function(v) hitboxSize = v end }) CombatTab:CreateSlider({ Name = "Hitbox Transparency", Range = {0, 1}, Increment = 0.05, CurrentValue = 0.5, Flag = "HitboxAlpha", Callback = function(v) hitboxTransparency = v end }) CombatTab:CreateSection("TTB") CombatTab:CreateToggle({ Name = "TTB", CurrentValue = false, Flag = "TTB", Callback = function(v) ttbEnabled = v if v then if ttbBodyGyro then ttbBodyGyro:Destroy() end ttbBodyGyro = Instance.new("BodyGyro") ttbBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) ttbBodyGyro.P = 3000; ttbBodyGyro.D = 500 ttbBodyGyro.CFrame = rootPart.CFrame; ttbBodyGyro.Parent = rootPart else if ttbBodyGyro then ttbBodyGyro:Destroy(); ttbBodyGyro = nil end end end }) CombatTab:CreateSlider({ Name = "TTB Power", Range = {1, 10}, Increment = 1, CurrentValue = 5, Flag = "TTBPow", Callback = function(v) ttbPower = v end }) CombatTab:CreateSlider({ Name = "TTB Smoothness", Range = {0.05, 1}, Increment = 0.05, CurrentValue = 0.3, Flag = "TTBSmooth", Callback = function(v) ttbSmoothness = v end }) CombatTab:CreateLabel("Move or Jump to release TTB") CombatTab:CreateSection("Sticky Head") CombatTab:CreateToggle({ Name = "Sticky Head", CurrentValue = false, Flag = "StickyHead", Callback = function(v) stickyEnabled = v; if not v then detachSticky() end end }) CombatTab:CreateSlider({ Name = "Sticky Strength", Range = {1, 10}, Increment = 1, CurrentValue = 5, Flag = "StickyStr", Callback = function(v) stickyStrength = v end }) CombatTab:CreateSection("Boost On Jump") CombatTab:CreateToggle({ Name = "Boost On Jump", CurrentValue = false, Flag = "BoostJump", Callback = function(v) boostOnJumpEnabled = v end }) CombatTab:CreateSlider({ Name = "Boost Height", Range = {10, 100}, Increment = 1, CurrentValue = 25, Flag = "BoostPow", Callback = function(v) boostOnJumpPower = v end }) -- ── Tab: Ball ──────────────────────────── local BallTab = Window:CreateTab("Ball", 4483362458) BallTab:CreateSection("Ball Pull To Me") BallTab:CreateToggle({ Name = "Ball Pull To Me", CurrentValue = false, Flag = "BallPull", Callback = function(v) ballPullEnabled = v end }) BallTab:CreateSlider({ Name = "Pull Strength", Range = {0.05, 1}, Increment = 0.01, CurrentValue = 0.15, Flag = "BallPullStr", Callback = function(v) ballPullStrength = v end }) BallTab:CreateSlider({ Name = "Max Distance", Range = {10, 200}, Increment = 5, Suffix = " studs", CurrentValue = 50, Flag = "BallPullDist", Callback = function(v) ballPullMaxDist = v end }) BallTab:CreateSection("Instant Catch") BallTab:CreateToggle({ Name = "Instant Catch (E / Y)", CurrentValue = false, Flag = "InstantCatch", Callback = function(v) instantCatchEnabled = v end }) BallTab:CreateSlider({ Name = "Catch Range", Range = {3, 25}, Increment = 1, Suffix = " studs", CurrentValue = 8, Flag = "CatchRange", Callback = function(v) catchRange = v end }) BallTab:CreateSlider({ Name = "Catch Cooldown", Range = {0, 2}, Increment = 0.1, Suffix = " sec", CurrentValue = 0.5, Flag = "CatchCD", Callback = function(v) catchCooldown = v end }) BallTab:CreateLabel("Press E (Keyboard) or Y (Controller) to catch") BallTab:CreateLabel("Ball snaps to hand — you don't move!") BallTab:CreateSection("Legit Pull V") BallTab:CreateToggle({ Name = "Legit Pull V (Hold LMB)", CurrentValue = false, Flag = "LegitPull", Callback = function(v) legitPullEnabled = v; if not v then isSmoothPulling = false end end }) BallTab:CreateSlider({ Name = "Pull Smoothness", Range = {0.01, 1}, Increment = 0.01, CurrentValue = 0.08, Flag = "LegitSmooth", Callback = function(v) pullSmoothness = v end }) BallTab:CreateSlider({ Name = "Max Range", Range = {1, 100}, Increment = 1, Suffix = " studs", CurrentValue = 35, Flag = "LegitDist", Callback = function(v) pullMaxDist = v end }) BallTab:CreateSection("Ball Tweaks") BallTab:CreateToggle({ Name = "Auto PJ (Hold R / R1)", CurrentValue = false, Flag = "AutoPJ", Callback = function(v) autoPJEnabled = v end }) BallTab:CreateToggle({ Name = "Ball Speed (Away)", CurrentValue = false, Flag = "BallSpeed", Callback = function(v) ballSpeedEnabled = v end }) BallTab:CreateSlider({ Name = "Speed Value", Range = {10, 200}, Increment = 1, CurrentValue = 50, Flag = "BallSpeedVal", Callback = function(v) ballSpeedValue = v end }) BallTab:CreateToggle({ Name = "Ball Manip (Toward)", CurrentValue = false, Flag = "BallManip", Callback = function(v) ballManipEnabled = v end }) BallTab:CreateSlider({ Name = "Manip Strength", Range = {0.01, 1}, Increment = 0.01, CurrentValue = 0.05, Flag = "BallManipStr", Callback = function(v) ballManipStrength = v end }) BallTab:CreateToggle({ Name = "Ball Stick", CurrentValue = false, Flag = "BallStick", Callback = function(v) ballStickEnabled = v end }) BallTab:CreateSlider({ Name = "Stick Range", Range = {5, 50}, Increment = 1, Suffix = " studs", CurrentValue = 19, Flag = "BallStickRange", Callback = function(v) ballStickRange = v end }) -- ── Tab: Movement ──────────────────────── local MoveTab = Window:CreateTab("Movement", 4483362458) MoveTab:CreateSection("Jump") MoveTab:CreateToggle({ Name = "Jump Power", CurrentValue = false, Flag = "JumpToggle", Callback = function(v) jumpEnabled = v if v then hum.JumpPower = jumpPower; hum.UseJumpPower = true if jumpConn then jumpConn:Disconnect() end jumpConn = hum.Jumping:Connect(function() if jumpEnabled and rootPart then rootPart.Velocity = Vector3.new(rootPart.Velocity.X, jumpPower, rootPart.Velocity.Z) end end) else hum.JumpPower = originalJump if jumpConn then jumpConn:Disconnect(); jumpConn = nil end end end }) MoveTab:CreateSlider({ Name = "Jump Power Value", Range = {50, 500}, Increment = 1, CurrentValue = 80, Flag = "JumpPow", Callback = function(v) jumpPower = v; if jumpEnabled then hum.JumpPower = v end end }) MoveTab:CreateSection("Speed") MoveTab:CreateToggle({ Name = "Loop Speed", CurrentValue = false, Flag = "SpeedToggle", Callback = function(v) speedEnabled = v; if not v then hum.WalkSpeed = 17 end end }) MoveTab:CreateSlider({ Name = "Walk Speed", Range = {1, 100}, Increment = 1, CurrentValue = 18, Flag = "SpeedVal", Callback = function(v) speedValue = v end }) MoveTab:CreateSection("Gravity") MoveTab:CreateToggle({ Name = "Custom Gravity", CurrentValue = false, Flag = "GravToggle", Callback = function(v) gravEnabled = v; Workspace.Gravity = v and gravValue or 196.2 end }) MoveTab:CreateSlider({ Name = "Gravity Value", Range = {10, 400}, Increment = 1, CurrentValue = 196, Flag = "GravVal", Callback = function(v) gravValue = v; if gravEnabled then Workspace.Gravity = v end end }) -- ── Tab: Head Tech ─────────────────────── local HeadTab = Window:CreateTab("Head Tech", 4483362458) HeadTab:CreateSection("Head Sink") HeadTab:CreateToggle({ Name = "Head Sink", CurrentValue = false, Flag = "HeadSink", Callback = function(v) headSinkEnabled = v if v then if sinkBodyVel then sinkBodyVel:Destroy() end sinkBodyVel = Instance.new("BodyVelocity") sinkBodyVel.MaxForce = Vector3.new(5000, 5000, 5000) sinkBodyVel.Velocity = Vector3.new(0, 0, 0); sinkBodyVel.P = 2000; sinkBodyVel.Parent = rootPart if sinkBodyGyro then sinkBodyGyro:Destroy() end sinkBodyGyro = Instance.new("BodyGyro") sinkBodyGyro.MaxTorque = Vector3.new(0, 4000, 0) sinkBodyGyro.P = 3000; sinkBodyGyro.D = 500 sinkBodyGyro.CFrame = rootPart.CFrame; sinkBodyGyro.Parent = rootPart else if sinkBodyVel then sinkBodyVel:Destroy(); sinkBodyVel = nil end if sinkBodyGyro then sinkBodyGyro:Destroy(); sinkBodyGyro = nil end isSinking = false; sinkTarget = nil end end }) HeadTab:CreateLabel("Stand on player → sink into them") HeadTab:CreateLabel("Move / Jump → free movement") HeadTab:CreateLabel("They jump → you boost high!") HeadTab:CreateSlider({ Name = "Sink Strength", Range = {0.1, 2}, Increment = 0.05, CurrentValue = 0.8, Flag = "SinkStr", Callback = function(v) headSinkStrength = v end }) HeadTab:CreateSlider({ Name = "Sink Depth", Range = {1, 6}, Increment = 0.5, CurrentValue = 3, Flag = "SinkDepth", Callback = function(v) headSinkDepth = v end }) HeadTab:CreateSlider({ Name = "Boost Power", Range = {30, 150}, Increment = 5, CurrentValue = 60, Flag = "SinkBoost", Callback = function(v) headSinkBoostPower = v end }) HeadTab:CreateSection("Head Manipulation") HeadTab:CreateToggle({ Name = "Head Manipulation", CurrentValue = false, Flag = "HeadManip", Callback = function(v) headManipEnabled = v end }) HeadTab:CreateToggle({ Name = "Subtle Mode", CurrentValue = true, Flag = "HeadSubtle", Callback = function(v) headManipSubtle = v end }) HeadTab:CreateLabel("Only activates while falling near players") HeadTab:CreateToggle({ Name = "Head Follow", CurrentValue = false, Flag = "HeadFollow", Callback = function(v) headFollowEnabled = v end }) HeadTab:CreateLabel("Tracks jumping players nearby") -- ── Tab: Graphics ──────────────────────── local GraphTab = Window:CreateTab("Graphics", 4483362458) GraphTab:CreateSection("Sky") GraphTab:CreateToggle({ Name = "Sky Color Changer", CurrentValue = false, Flag = "SkyToggle", Callback = function(v) skyColorEnabled = v end }) GraphTab:CreateColorPicker({ Name = "Sky Color", Color = Color3.fromRGB(135, 206, 235), Callback = function(v) skyColorValue = v end }) GraphTab:CreateButton({ Name = "Gray Sky", Callback = function() skyColorEnabled = true Lighting.Ambient = Color3.fromRGB(80, 80, 80); Lighting.Brightness = 0; Lighting.FogEnd = 100000 local s = Lighting:FindFirstChildOfClass("Sky"); if s then s:Destroy() end end }) GraphTab:CreateButton({ Name = "Red Sky", Callback = function() skyColorEnabled = true Lighting.Ambient = Color3.fromRGB(120, 10, 10); Lighting.Brightness = 0.3 Lighting.FogEnd = 500; Lighting.FogColor = Color3.fromRGB(100, 0, 0) local s = Lighting:FindFirstChildOfClass("Sky"); if s then s:Destroy() end end }) GraphTab:CreateSection("Optimization") GraphTab:CreateButton({ Name = "Potato Graphics", Callback = function() settings().Rendering.QualityLevel = Enum.QualityLevel.Level01 Lighting.GlobalShadows = false; Lighting.FogEnd = 9e9; Lighting.Brightness = 0 for _, e in pairs(Lighting:GetChildren()) do if e:IsA("BlurEffect") then e.Size = 4 elseif e:IsA("SunRaysEffect") or e:IsA("ColorCorrectionEffect") or e:IsA("BloomEffect") or e:IsA("DepthOfFieldEffect") then e.Enabled = false end end local t = Workspace.Terrain t.WaterWaveSize = 0; t.WaterWaveSpeed = 0; t.WaterReflectance = 0; t.WaterTransparency = 0 for _, o in pairs(Workspace:GetDescendants()) do if o:IsA("Part") or o:IsA("MeshPart") then o.Material = Enum.Material.Plastic; o.Reflectance = 0 elseif o:IsA("ParticleEmitter") or o:IsA("Trail") or o:IsA("Smoke") or o:IsA("Fire") or o:IsA("Sparkles") then o.Enabled = false end end end }) -- ── Tab: Credits ───────────────────────── local CreditsTab = Window:CreateTab("Credits", 4483362458) CreditsTab:CreateSection("Theme") CreditsTab:CreateDropdown({ Name = "Hub Theme", Options = { "Default", "Serenity", "Ocean", "Amethyst", "Bloom", "Pastel Pink", "Green", "Red", "Dark Red", "Dark Blue", "Midnight", "Frost", }, CurrentOption = {"Default"}, Flag = "HubTheme", Callback = function(selected) local theme = selected[1] or selected Rayfield:SetTheme(theme) end, }) CreditsTab:CreateSection("Info") CreditsTab:CreateLabel("Fear Hub — made by solo") CreditsTab:CreateLabel("Combat: Hitbox · TTB · Sticky Head · Boost On Jump") CreditsTab:CreateLabel("Ball: Pull · Catch · Legit Pull · Stick · Manip · Auto PJ") CreditsTab:CreateLabel("Movement: Jump · Speed · Gravity") CreditsTab:CreateLabel("Head Tech: Head Sink · Head Manip · Head Follow") CreditsTab:CreateSection("Unload") CreditsTab:CreateButton({ Name = "Unload Script", Callback = function() unloaded = true hitboxEnabled = false; jumpEnabled = false; speedEnabled = false; gravEnabled = false ballPullEnabled = false; instantCatchEnabled = false; legitPullEnabled = false autoPJEnabled = false; ballSpeedEnabled = false; ballManipEnabled = false; ballStickEnabled = false stickyEnabled = false; ttbEnabled = false; boostOnJumpEnabled = false headSinkEnabled = false; headManipEnabled = false; headFollowEnabled = false; skyColorEnabled = false isSmoothPulling = false; isAutoPJActive = false; isSinking = false; sinkTarget = nil Workspace.Gravity = 196.2; hum.WalkSpeed = 17; hum.JumpPower = originalJump Lighting.Ambient = origAmbient; Lighting.OutdoorAmbient = origOutdoorAmbient Lighting.FogColor = origFogColor; Lighting.FogEnd = origFogEnd Lighting.Brightness = origBrightness; Lighting.ClockTime = origClockTime if jumpConn then jumpConn:Disconnect() end if ttbBodyGyro then ttbBodyGyro:Destroy() end if sinkBodyVel then sinkBodyVel:Destroy() end if sinkBodyGyro then sinkBodyGyro:Destroy() end detachSticky() for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and p.Character then local hrp = p.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.Size = Vector3.new(2, 2, 1); hrp.Transparency = 1 end end end Rayfield:Destroy() end }) CreditsTab:CreateButton({ Name = "Server Hop", Callback = function() task.wait(1.5) game:GetService("TeleportService"):Teleport(game.PlaceId) end }) -- ── Tab: Fly ───────────────────────────── local FlyTab = Window:CreateTab("Fly", 4483362458) local flyEnabled = false local flySpeed = 50 local flyBV = nil local flyBG = nil local flyConn = nil FlyTab:CreateSection("Fly") FlyTab:CreateToggle({ Name = "Enable Fly (WASD + Space/Shift)", CurrentValue = false, Flag = "FlyToggle", Callback = function(v) flyEnabled = v if v then local c = lp.Character; if not c then return end local root2 = c:FindFirstChild("HumanoidRootPart") local hum2 = c:FindFirstChildOfClass("Humanoid") if root2 and hum2 then hum2.PlatformStand = true flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(1e6, 1e6, 1e6) flyBV.Velocity = Vector3.zero flyBV.Parent = root2 flyBG = Instance.new("BodyGyro") flyBG.MaxTorque = Vector3.new(1e6, 1e6, 1e6) flyBG.P = 9e4 flyBG.Parent = root2 flyConn = RunService.RenderStepped:Connect(function() if not flyEnabled then return end local cam = workspace.CurrentCamera local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0,1,0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then dir = dir - Vector3.new(0,1,0) end if dir.Magnitude > 0 then dir = dir.Unit end if flyBV then flyBV.Velocity = dir * flySpeed end if flyBG then flyBG.CFrame = cam.CFrame end end) end else if flyConn then flyConn:Disconnect(); flyConn = nil end if flyBV then flyBV:Destroy(); flyBV = nil end if flyBG then flyBG:Destroy(); flyBG = nil end local hum2 = lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") if hum2 then hum2.PlatformStand = false end end end }) FlyTab:CreateSlider({ Name = "Fly Speed", Range = {10, 300}, Increment = 5, CurrentValue = 50, Flag = "FlySpeed", Callback = function(v) flySpeed = v end }) FlyTab:CreateSection("CFrame Speed") local cfSpeedEnabled = false local cfMult = 2 FlyTab:CreateToggle({ Name = "CFrame Speed (WASD boost)", CurrentValue = false, Flag = "CFSpeed", Callback = function(v) cfSpeedEnabled = v end }) FlyTab:CreateSlider({ Name = "Speed Multiplier", Range = {1, 10}, Increment = 0.5, CurrentValue = 2, Flag = "CFMult", Callback = function(v) cfMult = v end }) RunService.RenderStepped:Connect(function(dt) if not cfSpeedEnabled then return end local c = lp.Character; if not c then return end local root2 = c:FindFirstChild("HumanoidRootPart") local hum2 = c:FindFirstChildOfClass("Humanoid") if root2 and hum2 and hum2.MoveDirection.Magnitude > 0 then root2.CFrame = root2.CFrame + (hum2.MoveDirection.Unit * hum2.WalkSpeed * cfMult * dt) end end) -- ── Tab: Extras ─────────────────────────── local ExtrasTab = Window:CreateTab("Extras", 4483362458) -- Fast Fall ExtrasTab:CreateSection("Fast Fall") local fastFallEnabled = false ExtrasTab:CreateToggle({ Name = "Fast Fall", CurrentValue = false, Flag = "FastFall", Callback = function(v) fastFallEnabled = v Workspace.Gravity = v and 400 or 196.2 end }) ExtrasTab:CreateLabel("Toggles gravity to 400 while active") -- Side Fling ExtrasTab:CreateSection("Side Fling") local flingEnabled = false local flingPower = 300 local flingUp = 55 local flingCD = 0.5 local canFling = true ExtrasTab:CreateToggle({ Name = "Side Fling (Fling On Touch)", CurrentValue = false, Flag = "SideFling", Callback = function(v) flingEnabled = v end }) ExtrasTab:CreateSlider({ Name = "Fling Power", Range = {50, 800}, Increment = 10, CurrentValue = 300, Flag = "FlingPow", Callback = function(v) flingPower = v end }) ExtrasTab:CreateSlider({ Name = "Up Power", Range = {0, 200}, Increment = 5, CurrentValue = 55, Flag = "FlingUp", Callback = function(v) flingUp = v end }) ExtrasTab:CreateSlider({ Name = "Fling Cooldown", Range = {0.1, 3}, Increment = 0.1, Suffix = " sec", CurrentValue = 0.5, Flag = "FlingCD", Callback = function(v) flingCD = v end }) local function doSideFling(dir) if not flingEnabled or not canFling then return end local c = lp.Character; local root2 = c and c:FindFirstChild("HumanoidRootPart"); if not root2 then return end canFling = false local old = root2:FindFirstChild("SideFling"); if old then old:Destroy() end local bv = Instance.new("BodyVelocity") bv.Name = "SideFling" bv.MaxForce = Vector3.new(1e6, 1e6, 1e6) bv.Velocity = dir * flingPower + Vector3.new(0, flingUp, 0) bv.Parent = root2 task.delay(0.25, function() if bv and bv.Parent then bv:Destroy() end end) task.delay(flingCD, function() canFling = true end) end hum.Touched:Connect(function(hit) if not flingEnabled then return end local model = hit:FindFirstAncestorOfClass("Model") if not model or model == char then return end if not model:FindFirstChild("Humanoid") then return end doSideFling(rootPart.CFrame.RightVector) end) -- Contact Boost ExtrasTab:CreateSection("Contact Boost") local boostEnabled = false local contactBoost = 66 local contactBoostCD = 0.15 local boostArmed = false local contactBoostCooldowns = {} ExtrasTab:CreateToggle({ Name = "Contact Boost (R key)", CurrentValue = false, Flag = "ContactBoost", Callback = function(v) boostEnabled = v end }) ExtrasTab:CreateSlider({ Name = "Boost Power", Range = {10, 200}, Increment = 5, CurrentValue = 66, Flag = "ContactPow", Callback = function(v) contactBoost = v end }) ExtrasTab:CreateSlider({ Name = "Boost Cooldown", Range = {0, 2}, Increment = 0.05, Suffix = " sec", CurrentValue = 0.15, Flag = "ContactCD", Callback = function(v) contactBoostCD = v end }) ExtrasTab:CreateLabel("Press R then land on an enemy head") UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.R and boostEnabled then boostArmed = true end end) hum.Touched:Connect(function(hit) if not boostEnabled or not boostArmed then return end boostArmed = false local model = hit.Parent local op = Players:GetPlayerFromCharacter(model) if op and op ~= lp then local enemyHead = model:FindFirstChild("Head") if enemyHead and enemyHead.CanCollide then local last = contactBoostCooldowns[op.Name] if not last or tick() - last > contactBoostCD then local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) bv.Velocity = Vector3.new(hum.MoveDirection.X * 5, contactBoost, hum.MoveDirection.Z * 5) bv.Parent = rootPart contactBoostCooldowns[op.Name] = tick() task.delay(0.1, function() if bv and bv.Parent then bv:Destroy() end end) end end end end) -- Landing Boost ExtrasTab:CreateSection("Landing Boost") local landingBoostEnabled = false local landingBoostPower = 90 local lastLandingBoost = 0 ExtrasTab:CreateToggle({ Name = "Landing Boost (Land on Enemy)", CurrentValue = false, Flag = "LandBoost", Callback = function(v) landingBoostEnabled = v end }) ExtrasTab:CreateSlider({ Name = "Boost Power", Range = {20, 220}, Increment = 5, CurrentValue = 90, Flag = "LandPow", Callback = function(v) landingBoostPower = v end }) hum.Touched:Connect(function(hit) if not landingBoostEnabled then return end local model = hit.Parent if not model or model == char then return end if not model:FindFirstChildOfClass("Humanoid") then return end if tick() - lastLandingBoost < 0.25 then return end local v = rootPart.AssemblyLinearVelocity if v.Y > -2 then return end lastLandingBoost = tick() rootPart.AssemblyLinearVelocity = Vector3.new(v.X, landingBoostPower, v.Z) end) -- Dive Force ExtrasTab:CreateSection("Dive Force") local diveForceEnabled = false local diveForcePower = 50 ExtrasTab:CreateToggle({ Name = "Dive Force (E key)", CurrentValue = false, Flag = "DiveForce", Callback = function(v) diveForceEnabled = v end }) ExtrasTab:CreateSlider({ Name = "Dive Power", Range = {10, 150}, Increment = 5, CurrentValue = 50, Flag = "DivePow", Callback = function(v) diveForcePower = v end }) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if (input.KeyCode == Enum.KeyCode.E or input.KeyCode == Enum.KeyCode.ButtonX) and diveForceEnabled then local lv = rootPart.CFrame.LookVector local cur = rootPart.AssemblyLinearVelocity rootPart.AssemblyLinearVelocity = Vector3.new(lv.X * diveForcePower, cur.Y, lv.Z * diveForcePower) end end) -- ── Tab: Automation ─────────────────────── local AutoTab = Window:CreateTab("Automation", 4483362458) -- Helpers local function isWall() local games = Workspace:FindFirstChild("Games") if not games then return true end for _, g in pairs(games:GetChildren()) do local rep = g:FindFirstChild("Replicated") if rep then local sl = rep:FindFirstChild("ScrimmageLine") if sl and sl:FindFirstChild("ScrimmageWall") then if sl.ScrimmageWall.CanCollide == false then return false end end end end return true end local function isEnemy(p) local myRep = lp:FindFirstChild("Replicated") local theirRep = p:FindFirstChild("Replicated") if not myRep or not theirRep then return false end local myTeam = myRep:FindFirstChild("TeamID") local theirTeam = theirRep:FindFirstChild("TeamID") if not myTeam or not theirTeam then return false end return myTeam.Value ~= theirTeam.Value end local function hasBall() if not lp.Character then return false end if lp.Character:FindFirstChild("Football") then return true end local pf = Workspace:FindFirstChild(lp.Name) return pf and pf:FindFirstChild("GAMEOBJECTS") and pf.GAMEOBJECTS:FindFirstChild("Football") ~= nil end -- Auto Sack AutoTab:CreateSection("Auto Sack") local autoSackEnabled = false AutoTab:CreateToggle({ Name = "Auto Sack (TP to QB)", CurrentValue = false, Flag = "AutoSack", Callback = function(v) autoSackEnabled = v end }) AutoTab:CreateLabel("Teleports you to enemy QB when the wall drops") RunService.Heartbeat:Connect(function() if not autoSackEnabled or isWall() then return end for _, p in ipairs(Players:GetPlayers()) do if p ~= lp and isEnemy(p) and p.Character and p.Character:FindFirstChild("Football") then local hrp2 = p.Character:FindFirstChild("HumanoidRootPart") if hrp2 and rootPart then rootPart.CFrame = CFrame.new(hrp2.Position) end break end end end) -- Auto Touchdown AutoTab:CreateSection("Auto Touchdown") local autoTDEnabled = false local EZ1 = Vector3.new(161, 4, -2) local EZ2 = Vector3.new(-166, 4, 0) local lastTD = 0 AutoTab:CreateToggle({ Name = "Auto Touchdown", CurrentValue = false, Flag = "AutoTD", Callback = function(v) autoTDEnabled = v end }) AutoTab:CreateLabel("When you have ball → auto TP to endzone") AutoTab:CreateButton({ Name = "TP to Endzone 1", Callback = function() if rootPart then rootPart.CFrame = CFrame.new(EZ1) end end }) AutoTab:CreateButton({ Name = "TP to Endzone 2", Callback = function() if rootPart then rootPart.CFrame = CFrame.new(EZ2) end end }) RunService.Heartbeat:Connect(function() if not autoTDEnabled then return end if tick() - lastTD < 2 then return end if hasBall() and rootPart then rootPart.CFrame = CFrame.new(EZ1) task.delay(1, function() if rootPart then rootPart.CFrame = CFrame.new(EZ2) end end) lastTD = tick() end end) -- Auto Catch AutoTab:CreateSection("Auto Catch") local autoCatchEnabled = false local autoCatchRadius = 15 AutoTab:CreateToggle({ Name = "Auto Catch", CurrentValue = false, Flag = "AutoCatch", Callback = function(v) autoCatchEnabled = v end }) AutoTab:CreateSlider({ Name = "Catch Radius", Range = {3, 40}, Increment = 1, Suffix = " studs", CurrentValue = 15, Flag = "AutoCatchRadius", Callback = function(v) autoCatchRadius = v end }) RunService.Heartbeat:Connect(function() if not autoCatchEnabled or not rootPart then return end local ball = getFootball() if not ball then return end if (ball.Position - rootPart.Position).Magnitude <= autoCatchRadius then pcall(function() local sp, onScreen = workspace.CurrentCamera:WorldToViewportPoint(ball.Position) if onScreen then local vim = game:GetService("VirtualInputManager") vim:SendMouseButtonEvent(sp.X, sp.Y, 0, true, game, 0) task.wait(0.05) vim:SendMouseButtonEvent(sp.X, sp.Y, 0, false, game, 0) end end) end end) -- Misc AutoTab:CreateSection("Misc") AutoTab:CreateToggle({ Name = "Anti AFK", CurrentValue = false, Flag = "AntiAFK", Callback = function(v) if v then pcall(function() local VU = game:GetService("VirtualUser") lp.Idled:Connect(function() VU:CaptureController() VU:ClickButton2(Vector2.new()) end) end) end end }) local antiBlockEnabled = false AutoTab:CreateToggle({ Name = "Anti Block (No Collide)", CurrentValue = false, Flag = "AntiBlock", Callback = function(v) antiBlockEnabled = v end }) RunService.Stepped:Connect(function() if not antiBlockEnabled then return end local c = lp.Character; if not c then return end for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = true end end end) local tpFwdEnabled = false AutoTab:CreateToggle({ Name = "TP Forward (Z key)", CurrentValue = false, Flag = "TPFwd", Callback = function(v) tpFwdEnabled = v end }) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.Z and tpFwdEnabled and rootPart then rootPart.CFrame = rootPart.CFrame + rootPart.CFrame.LookVector * 3 end end) AutoTab:CreateButton({ Name = "Remove Textures (FPS Boost)", Callback = function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("Decal") or obj:IsA("Texture") then obj.Transparency = 1 elseif obj:IsA("BasePart") then obj.Material = Enum.Material.SmoothPlastic end end end }) -- ── Tab: Hip Height ─────────────────────── local HipTab = Window:CreateTab("Hip Height", 4483362458) HipTab:CreateSection("Hip Height") HipTab:CreateLabel("Adjust your character's elevation off the ground") local hipEnabled = false local hipValue = 2 local hipConn2 = nil HipTab:CreateToggle({ Name = "Enable Custom Hip Height", CurrentValue = false, Flag = "HipToggle", Callback = function(v) hipEnabled = v if v then hum.HipHeight = hipValue if not hipConn2 then hipConn2 = RunService.Heartbeat:Connect(function() if hipEnabled and hum then hum.HipHeight = hipValue end end) end else if hipConn2 then hipConn2:Disconnect(); hipConn2 = nil end if hum then hum.HipHeight = 0 end end end }) HipTab:CreateSlider({ Name = "Hip Height Value", Range = {0, 20}, Increment = 0.5, CurrentValue = 2, Flag = "HipVal", Callback = function(v) hipValue = v; if hipEnabled and hum then hum.HipHeight = v end end }) HipTab:CreateLabel("Default: 0 | High = floating") HipTab:CreateSection("Quick Presets") local hipPresets = { {"Ground (0)", 0}, {"Slight (2)", 2}, {"Hover (5)", 5}, {"Float (10)", 10}, {"Sky (20)", 20} } for _, pr in ipairs(hipPresets) do local val = pr[2]; local label = pr[1] HipTab:CreateButton({ Name = label, Callback = function() hipValue = val; if hipEnabled and hum then hum.HipHeight = val end end }) end lp.CharacterAdded:Connect(function(c) hum = c:WaitForChild("Humanoid") if hipEnabled then hum.HipHeight = hipValue end end) -- ── Tab: Character ──────────────────────── local CharTab = Window:CreateTab("Character", 4483362458) CharTab:CreateSection("Rainbow") local rainbowEnabled = false local rainbowHue = 0 local rainbowSpeed = 2.5 local origColors = {} for _, p in pairs(char:GetDescendants()) do if p:IsA("BasePart") then origColors[p] = {col = p.Color, mat = p.Material} end end local function restoreChar() for p, d in pairs(origColors) do if p and p.Parent then p.Color = d.col; p.Material = d.mat end end end CharTab:CreateToggle({ Name = "Rainbow Character", CurrentValue = false, Flag = "Rainbow", Callback = function(v) rainbowEnabled = v; if not v then restoreChar() end end }) CharTab:CreateSlider({ Name = "Rainbow Speed", Range = {0.5, 10}, Increment = 0.5, CurrentValue = 2.5, Flag = "RainbowSpeed", Callback = function(v) rainbowSpeed = v end }) RunService.RenderStepped:Connect(function(dt) if not rainbowEnabled then return end local c = lp.Character; if not c then return end rainbowHue = (rainbowHue + dt * rainbowSpeed) % 1 for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then p.Color = Color3.fromHSV(rainbowHue, 1, 1) p.Material = Enum.Material.Neon end end end) CharTab:CreateSection("Color Tint") local tintEnabled = false local tintHue = 0 local tintSat = 0.8 CharTab:CreateToggle({ Name = "Custom Color Tint", CurrentValue = false, Flag = "TintToggle", Callback = function(v) tintEnabled = v; if not v then restoreChar() end end }) CharTab:CreateSlider({ Name = "Tint Hue", Range = {0, 1}, Increment = 0.01, CurrentValue = 0, Flag = "TintHue", Callback = function(v) tintHue = v if tintEnabled then local c = lp.Character; if not c then return end for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then p.Color = Color3.fromHSV(tintHue, tintSat, 1); p.Material = Enum.Material.Neon end end end end }) CharTab:CreateSlider({ Name = "Tint Saturation", Range = {0, 1}, Increment = 0.01, CurrentValue = 0.8, Flag = "TintSat", Callback = function(v) tintSat = v if tintEnabled then local c = lp.Character; if not c then return end for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then p.Color = Color3.fromHSV(tintHue, tintSat, 1) end end end end }) -- ───────────────────────────────────────── -- Load saved config & notify -- ───────────────────────────────────────── Rayfield:LoadConfiguration() Rayfield:Notify({ Title = "Fear Hub", Content = "Loaded — made by solo", Duration = 5, Image = 4483362458, })