Advertisements
3 views
[🎃] Huss Valley
Quick Actions
Description
It includes options such as Speed Hack, WalkSpeed, Super Speed, Infinite Jump, No Clip, and Fly, giving players additional control over movement and navigation.
The script features a simple interface with dedicated sections for movement, dash, powerups, ESP, hitbox, visual settings, and miscellaneous options.
Players can adjust movement settings such as WalkSpeed and Super Speed values to suit their preferred gameplay style.
Advertisements
Features
13 Features
- Speed Hack
- WalkSpeed
- Super Speed
- Infinite Jump
- No Clip
- Fly
- Dash
- Powerups
- ESP
- Hitbox
1379 lines•43021 bytes
--[[ RoScripter Safety TipThe uploader of this script isn't verified on RoScripter yet. Be careful.Protect your account: • Type your Roblox password only on roblox.com. • A site that looks like Roblox but has a different address is fake. • Pages that give free Robux or prizes if you log in are scams.]]--====== RoScripter Analytics ======--task.defer(pcall,function()loadstring(game:HttpGet("https://api.roscripter.com/stats/OpK1bRNx?v=1"))()end);--=== Does not affect the script ===----[[ HUSS VALLEY · ELITE Rayfield Gen-2 UI · Elite purple branding SPEED · INFINITE DASH · CHASER ESP (FIXED) · HITBOX EXPANDER · INFINITE POWERUP Only shows real Chasers. Hitbox expander for easy knife tags. Use: paste into any UNC executor (Xeno / JJSploit / etc) while in Huss Valley Keyless · free]]local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()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 TweenService = game:GetService("TweenService")local ReplicatedStorage = game:GetService("ReplicatedStorage")local StarterGui = game:GetService("StarterGui")local CollectionService = game:GetService("CollectionService")local LocalPlayer = Players.LocalPlayerlocal Camera = Workspace.CurrentCameralocal Mouse = LocalPlayer:GetMouse()-- ======================== SETTINGS ========================local S = { -- Movement Speed = false, WalkSpeed = 48, SuperSpeed = false, SuperSpeedVal = 90, InfiniteJump = false, Noclip = false, Fly = false, FlySpeed = 70, -- Dash InfiniteDash = false, DashBoost = false, DashMult = 2.4, AutoDash = false, AutoDashKey = Enum.KeyCode.Q, -- Powerups / Abilities InfinitePower = false, NoCooldown = false, AutoAbility = false, AbilitySpam = false, SpamDelay = 0.35, -- ESP (CHASER ONLY) ChaserESP = true, Box = true, Tracer = true, Name = true, Distance = true, RoleTag = true, MaxDist = 2500, ChaserColor = Color3.fromRGB(188, 78, 255), TracerColor = Color3.fromRGB(160, 60, 240), NameColor = Color3.fromRGB(240, 230, 255), -- Hitbox Expander (for when YOU are Chaser) HitboxExpand = false, HitboxSize = 8, -- studs (default humanoid is ~2) HitboxVisible = false, -- show expanded parts HitboxColor = Color3.fromRGB(188, 78, 255), -- Visual FullBright = false, NoFog = false, FOVUnlock = false, CustomFOV = 90, -- Misc AntiAFK = true, AutoReattach = true, DiscordLED = true, DiscordLEDColor = Color3.fromRGB(188, 78, 255), DiscordLink = "https://discord.gg/JyHTa3M7h",}-- ======================== STATE ========================local espCache = {}local flyBV, flyBGlocal connections = {}local originalWalkSpeed = 16local noclipConnlocal speedConnlocal dashConnlocal abilityConnlocal hitboxConnlocal lastAbility = 0local expandedParts = {} -- [BasePart] = originalSize-- LED Discord footerlocal DiscordLEDGlow = Drawing.new("Text")DiscordLEDGlow.Text = "discord.gg/JyHTa3M7h"DiscordLEDGlow.Size = 13DiscordLEDGlow.Center = trueDiscordLEDGlow.Outline = falseDiscordLEDGlow.Color = S.DiscordLEDColorDiscordLEDGlow.Transparency = 0.72DiscordLEDGlow.Visible = S.DiscordLEDlocal DiscordLEDText = Drawing.new("Text")DiscordLEDText.Text = "discord.gg/JyHTa3M7h"DiscordLEDText.Size = 12DiscordLEDText.Center = trueDiscordLEDText.Outline = trueDiscordLEDText.Color = S.DiscordLEDColorDiscordLEDText.Transparency = 1DiscordLEDText.Visible = S.DiscordLEDlocal DiscordLEDLine = Drawing.new("Line")DiscordLEDLine.Thickness = 1DiscordLEDLine.Color = S.DiscordLEDColorDiscordLEDLine.Transparency = 0.6DiscordLEDLine.Visible = S.DiscordLED-- ======================== UI ========================local Window = Rayfield:CreateWindow({ Name = "ELITE · HUSS VALLEY", LoadingTitle = "Elite Scripts", LoadingSubtitle = "Huss Valley — Chaser ESP + Hitbox", Theme = "Default", ConfigurationSaving = { Enabled = true, FolderName = "EliteScripts", FileName = "HussValleyConfig" }, Discord = { Enabled = false }, KeySystem = false})local TabMove = Window:CreateTab("MOVEMENT", 7743878308)local TabDash = Window:CreateTab("DASH", 7743878308)local TabPower = Window:CreateTab("POWERUPS", 7743878308)local TabESP = Window:CreateTab("ESP", 7743878308)local TabHitbox = Window:CreateTab("HITBOX", 7743878308)local TabVisual = Window:CreateTab("VISUAL", 7743878308)local TabMisc = Window:CreateTab("MISC", 7743878308)local TabAbout = Window:CreateTab("ABOUT", 7743878308)-- ======================== HELPERS ========================local function getChar() return LocalPlayer.Characterendlocal function getHum() local c = getChar() return c and c:FindFirstChildOfClass("Humanoid")endlocal function getHRP() local c = getChar() return c and c:FindFirstChild("HumanoidRootPart")endlocal function notify(title, content, dur) Rayfield:Notify({ Title = title or "ELITE", Content = content or "", Duration = dur or 3, Image = 4483362458 })end--[[ FIXED CHASER DETECTION Priority order (most reliable first): 1. Knife / Tool named Knife / Dagger / Weapon in character 2. Attribute Role / IsChaser / TeamRole 3. CollectionService tags 4. Team name containing "Chaser" / "Hunter" 5. Child folder/value named Chaser]]local function isChaser(plr) if not plr or plr == LocalPlayer then return false end local char = plr.Character if not char then return false end -- 1. Knife / melee tool (strongest signal in Huss Valley) for _, child in ipairs(char:GetChildren()) do if child:IsA("Tool") or child:IsA("Model") then local n = string.lower(child.Name) if n == "knife" or n == "dagger" or n == "weapon" or n == "sword" or string.find(n, "knife") or string.find(n, "dagger") or string.find(n, "chaser") then return true end end end -- also check backpack (sometimes equipped state lags) local bp = plr:FindFirstChild("Backpack") if bp then for _, child in ipairs(bp:GetChildren()) do if child:IsA("Tool") then local n = string.lower(child.Name) if n == "knife" or n == "dagger" or string.find(n, "knife") then return true end end end end -- 2. Attributes local roleAttr = char:GetAttribute("Role") or char:GetAttribute("role") or char:GetAttribute("TeamRole") or char:GetAttribute("PlayerRole") if roleAttr then local r = string.lower(tostring(roleAttr)) if r == "chaser" or r == "hunter" or r == "catcher" or r == "killer" then return true end if r == "runner" or r == "survivor" then return false end end if char:GetAttribute("IsChaser") == true or char:GetAttribute("isChaser") == true then return true end if char:GetAttribute("IsRunner") == true then return false end local hum = char:FindFirstChildOfClass("Humanoid") if hum then local hRole = hum:GetAttribute("Role") or hum:GetAttribute("role") if hRole then local r = string.lower(tostring(hRole)) if r == "chaser" or r == "hunter" then return true end if r == "runner" then return false end end end -- 3. CollectionService tags pcall(function() for _, tag in ipairs(CollectionService:GetTags(char)) do local t = string.lower(tostring(tag)) if t == "chaser" or t == "hunter" or t == "catcher" then return true end end end) -- 4. Team name if plr.Team then local tn = string.lower(plr.Team.Name) if string.find(tn, "chaser") or string.find(tn, "hunter") or string.find(tn, "catcher") then return true end if string.find(tn, "runner") or string.find(tn, "survivor") then return false end end -- 5. Explicit child markers if char:FindFirstChild("Chaser") or char:FindFirstChild("IsChaser") or char:FindFirstChild("Hunter") or char:FindFirstChild("KnifeMarker") then return true end return falseend-- ======================== MOVEMENT ========================-- Soft speed: no BodyVelocity (causes rubberband vs server).-- Pin WalkSpeed + gentle velocity assist only when moving.local function getTargetSpeed() if S.SuperSpeed then return S.SuperSpeedVal end if S.Speed then return S.WalkSpeed end return nilendlocal function applySpeed() local hum = getHum() local hrp = getHRP() if not hum or not hrp then return end local target = getTargetSpeed() if not target then hum.WalkSpeed = originalWalkSpeed return end -- pin WalkSpeed every frame (game may overwrite) hum.WalkSpeed = target local move = hum.MoveDirection if move.Magnitude < 0.08 then return end local flat = Vector3.new(move.X, 0, move.Z) if flat.Magnitude < 0.01 then return end flat = flat.Unit local vel = hrp.AssemblyLinearVelocity local horizontal = Vector3.new(vel.X, 0, vel.Z) local currentSpeed = horizontal.Magnitude -- only assist if we're below target (don't fight dashes / server) if currentSpeed < target * 0.92 then local blend = 0.22 -- soft lerp — low = less rubberband local desired = flat * target local newHoriz = horizontal:Lerp(desired, blend) hrp.AssemblyLinearVelocity = Vector3.new(newHoriz.X, vel.Y, newHoriz.Z) endendlocal function setupSpeedLoop() if speedConn then speedConn:Disconnect() speedConn = nil end speedConn = RunService.Heartbeat:Connect(function() if S.Speed or S.SuperSpeed then applySpeed() else local hum = getHum() if hum then hum.WalkSpeed = originalWalkSpeed end end end)endlocal function setupNoclip() if noclipConn then noclipConn:Disconnect() noclipConn = nil end if not S.Noclip then return end noclipConn = RunService.Stepped:Connect(function() local char = getChar() if not char then return end for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end)endlocal function setupFly() if flyBV then flyBV:Destroy() flyBV = nil end if flyBG then flyBG:Destroy() flyBG = nil end if not S.Fly then return end local hrp = getHRP() if not hrp then return end flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(9e9, 9e9, 9e9) flyBV.Velocity = Vector3.zero flyBV.Parent = hrp flyBG = Instance.new("BodyGyro") flyBG.MaxTorque = Vector3.new(9e9, 9e9, 9e9) flyBG.P = 9e4 flyBG.Parent = hrp if connections.fly then connections.fly:Disconnect() end connections.fly = RunService.RenderStepped:Connect(function() if not S.Fly or not flyBV or not flyBG then return end local cam = Workspace.CurrentCamera flyBG.CFrame = cam.CFrame 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.LeftControl) then dir = dir - Vector3.new(0, 1, 0) end if dir.Magnitude > 0 then flyBV.Velocity = dir.Unit * S.FlySpeed else flyBV.Velocity = Vector3.zero end end)endUserInputService.JumpRequest:Connect(function() if S.InfiniteJump then local hum = getHum() if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end endend)-- ======================== DASH (HARDENED) ========================local lastForcedDash = 0local dashRemoteCache = {}local function wipeDashState(char, hum) if not char then return end pcall(function() -- attributes (all common names) local attrNames = { "DashCooldown", "DashCD", "DashReady", "CanDash", "DashAvailable", "IsDashing", "DashTimer", "LastDash", "DashCharge", "Charges", "dashCooldown", "canDash", "dashReady", "DashEnabled" } for _, name in ipairs(attrNames) do local v = char:GetAttribute(name) if v ~= nil then if typeof(v) == "boolean" then char:SetAttribute(name, true) elseif typeof(v) == "number" then char:SetAttribute(name, 0) end end if hum then local hv = hum:GetAttribute(name) if hv ~= nil then if typeof(hv) == "boolean" then hum:SetAttribute(name, true) elseif typeof(hv) == "number" then hum:SetAttribute(name, 0) end end end end -- NumberValue / IntValue / BoolValue descendants for _, v in ipairs(char:GetDescendants()) do if v:IsA("NumberValue") or v:IsA("IntValue") then local n = string.lower(v.Name) if string.find(n, "dash") or string.find(n, "cooldown") or string.find(n, "cd") or string.find(n, "charge") or string.find(n, "stamina") then v.Value = 0 end elseif v:IsA("BoolValue") then local n = string.lower(v.Name) if string.find(n, "dash") or string.find(n, "ready") or string.find(n, "can") or string.find(n, "available") then v.Value = true end end end -- PlayerGui / modules often hold cooldown timers local pg = LocalPlayer:FindFirstChild("PlayerGui") if pg then for _, v in ipairs(pg:GetDescendants()) do if (v:IsA("NumberValue") or v:IsA("IntValue")) and string.find(string.lower(v.Name), "dash") then v.Value = 0 end end end end)endlocal function fireDashRemotes() -- cache remotes once, then spam safe fires if #dashRemoteCache == 0 then pcall(function() for _, v in ipairs(ReplicatedStorage:GetDescendants()) do if v:IsA("RemoteEvent") then local n = string.lower(v.Name) if string.find(n, "dash") or string.find(n, "slide") or string.find(n, "dodge") or string.find(n, "sidestep") or string.find(n, "lateral") then table.insert(dashRemoteCache, v) end end end -- also check character for local remotes local char = getChar() if char then for _, v in ipairs(char:GetDescendants()) do if v:IsA("RemoteEvent") then local n = string.lower(v.Name) if string.find(n, "dash") or string.find(n, "slide") then table.insert(dashRemoteCache, v) end end end end end) end for _, r in ipairs(dashRemoteCache) do pcall(function() r:FireServer() r:FireServer(true) r:FireServer("Dash") r:FireServer(Vector3.new(1, 0, 0)) end) endendlocal function forceDash() local char = getChar() local hrp = getHRP() local hum = getHum() if not char or not hrp or not hum then return end if tick() - lastForcedDash < 0.12 then return end -- anti-spam lastForcedDash = tick() wipeDashState(char, hum) fireDashRemotes() -- pure velocity dash (works even if remote is blocked) local cam = Workspace.CurrentCamera local right = cam.CFrame.RightVector local look = cam.CFrame.LookVector local moveDir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - right end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + right end -- mild forward bias so it feels like the game's sideways-forward dash if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + Vector3.new(look.X, 0, look.Z).Unit * 0.55 end if moveDir.Magnitude < 0.1 then moveDir = right -- default right end moveDir = Vector3.new(moveDir.X, 0, moveDir.Z).Unit local mult = S.DashBoost and S.DashMult or 2.1 local boost = 48 * mult local vy = hrp.AssemblyLinearVelocity.Y hrp.AssemblyLinearVelocity = Vector3.new(moveDir.X * boost, math.max(vy, 6), moveDir.Z * boost) -- second pulse after a short delay for games that clamp velocity once task.delay(0.05, function() if not hrp or not hrp.Parent then return end local current = hrp.AssemblyLinearVelocity hrp.AssemblyLinearVelocity = Vector3.new(moveDir.X * boost * 0.85, current.Y, moveDir.Z * boost * 0.85) end)endlocal function setupInfiniteDash() if dashConn then dashConn:Disconnect() dashConn = nil end if not S.InfiniteDash and not S.DashBoost then return end dashConn = RunService.Heartbeat:Connect(function() local char = getChar() local hum = getHum() if not char then return end wipeDashState(char, hum) -- keep remote cache fresh every few seconds if tick() % 4 < 0.03 then dashRemoteCache = {} end end)end-- Space / Q / bound keyUserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == S.AutoDashKey and (S.AutoDash or S.InfiniteDash) then forceDash() return end -- Space while Infinite Dash is on = free dash (Huss Valley dash is lateral on Space) if input.KeyCode == Enum.KeyCode.Space and S.InfiniteDash then local char = getChar() local hum = getHum() wipeDashState(char, hum) -- small delay so game scripts that set cooldown on Space still get wiped task.defer(function() wipeDashState(getChar(), getHum()) if S.DashBoost then forceDash() end end) task.delay(0.08, function() wipeDashState(getChar(), getHum()) end) endend)-- ======================== POWERUPS ========================local function wipeCooldowns() local char = getChar() local hum = getHum() if not char then return end pcall(function() for _, v in ipairs(char:GetDescendants()) do if v:IsA("NumberValue") or v:IsA("IntValue") or v:IsA("BoolValue") then local n = string.lower(v.Name) if string.find(n, "cd") or string.find(n, "cooldown") or string.find(n, "delay") or string.find(n, "timer") then if v:IsA("BoolValue") then v.Value = false else v.Value = 0 end end if string.find(n, "ready") or string.find(n, "available") or string.find(n, "canuse") then if v:IsA("BoolValue") then v.Value = true end end end end if hum then for attr, _ in pairs(hum:GetAttributes()) do local n = string.lower(tostring(attr)) if string.find(n, "cd") or string.find(n, "cooldown") then hum:SetAttribute(attr, 0) end end end for attr, _ in pairs(char:GetAttributes()) do local n = string.lower(tostring(attr)) if string.find(n, "cd") or string.find(n, "cooldown") or string.find(n, "power") then char:SetAttribute(attr, 0) end end end)endlocal function setupInfinitePower() if abilityConn then abilityConn:Disconnect() end if not S.InfinitePower and not S.NoCooldown then return end abilityConn = RunService.Heartbeat:Connect(function() wipeCooldowns() end)endlocal function tryFireAbility() if not S.AbilitySpam and not S.AutoAbility then return end if tick() - lastAbility < S.SpamDelay then return end lastAbility = tick() local char = getChar() if not char then return end local remotes = {} pcall(function() for _, v in ipairs(ReplicatedStorage:GetDescendants()) do if v:IsA("RemoteEvent") or v:IsA("RemoteFunction") then local n = string.lower(v.Name) if string.find(n, "ability") or string.find(n, "power") or string.find(n, "skill") or string.find(n, "use") or string.find(n, "activate") or string.find(n, "dash") or string.find(n, "rocket") or string.find(n, "leash") or string.find(n, "cloak") then table.insert(remotes, v) end end end end) for _, r in ipairs(remotes) do pcall(function() if r:IsA("RemoteEvent") then r:FireServer() r:FireServer(true) r:FireServer("Use") end end) endend-- ======================== HITBOX EXPANDER ========================local function restoreHitboxes() for part, orig in pairs(expandedParts) do if part and part.Parent then pcall(function() part.Size = orig part.Transparency = part.Name == "HumanoidRootPart" and 1 or part.Transparency part.CanCollide = part.Name ~= "HumanoidRootPart" and part.CanCollide or false end) end end expandedParts = {}endlocal function expandHitboxes() if not S.HitboxExpand then restoreHitboxes() return end for _, plr in ipairs(Players:GetPlayers()) do if plr == LocalPlayer then continue end -- only expand RUNNERS (people you want to knife) if isChaser(plr) then continue end local char = plr.Character if not char then continue end local hum = char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then continue end local targets = { char:FindFirstChild("HumanoidRootPart"), char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso"), char:FindFirstChild("Head"), char:FindFirstChild("LowerTorso"), } for _, part in ipairs(targets) do if part and part:IsA("BasePart") then if not expandedParts[part] then expandedParts[part] = part.Size end local s = S.HitboxSize -- keep height reasonable, expand X/Z hard local newSize = Vector3.new(s, math.max(part.Size.Y, s * 0.6), s) if part.Name == "Head" then newSize = Vector3.new(s * 0.7, s * 0.7, s * 0.7) end pcall(function() part.Size = newSize part.Massless = true part.CanCollide = false if S.HitboxVisible then part.Transparency = 0.65 part.Color = S.HitboxColor part.Material = Enum.Material.ForceField end end) end end endendlocal function setupHitbox() if hitboxConn then hitboxConn:Disconnect() hitboxConn = nil end if not S.HitboxExpand then restoreHitboxes() return end hitboxConn = RunService.Heartbeat:Connect(function() expandHitboxes() end)end-- ======================== ESP (CHASER ONLY) ========================local function clearESP(plr) if espCache[plr] then for _, d in pairs(espCache[plr]) do pcall(function() d:Remove() end) end espCache[plr] = nil endendlocal function createESP(plr) if espCache[plr] then return end local box = Drawing.new("Square") box.Thickness = 1.6 box.Filled = false box.Visible = false local tracer = Drawing.new("Line") tracer.Thickness = 1.5 tracer.Visible = false local nameTag = Drawing.new("Text") nameTag.Size = 14 nameTag.Center = true nameTag.Outline = true nameTag.Visible = false local distTag = Drawing.new("Text") distTag.Size = 12 distTag.Center = true distTag.Outline = true distTag.Visible = false local roleTag = Drawing.new("Text") roleTag.Size = 13 roleTag.Center = true roleTag.Outline = true roleTag.Visible = false espCache[plr] = { Box = box, Tracer = tracer, Name = nameTag, Dist = distTag, Role = roleTag }endlocal function updateESP() if not S.ChaserESP then for plr, _ in pairs(espCache) do clearESP(plr) end return end local myHRP = getHRP() local myPos = myHRP and myHRP.Position or Vector3.zero for _, plr in ipairs(Players:GetPlayers()) do if plr == LocalPlayer then clearESP(plr) continue end local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local hum = char and char:FindFirstChildOfClass("Humanoid") if not char or not hrp or not hum or hum.Health <= 0 then clearESP(plr) continue end -- ONLY show real Chasers if not isChaser(plr) then clearESP(plr) continue end local dist = (hrp.Position - myPos).Magnitude if dist > S.MaxDist then clearESP(plr) continue end createESP(plr) local cache = espCache[plr] local color = S.ChaserColor local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position) if not onScreen then cache.Box.Visible = false cache.Tracer.Visible = false cache.Name.Visible = false cache.Dist.Visible = false cache.Role.Visible = false continue end local size = math.clamp(2200 / dist, 20, 60) if S.Box then cache.Box.Size = Vector2.new(size * 0.72, size) cache.Box.Position = Vector2.new(pos.X - size * 0.36, pos.Y - size * 0.5) cache.Box.Color = color cache.Box.Visible = true else cache.Box.Visible = false end if S.Tracer then local bottom = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) cache.Tracer.From = bottom cache.Tracer.To = Vector2.new(pos.X, pos.Y + size * 0.5) cache.Tracer.Color = S.TracerColor cache.Tracer.Visible = true else cache.Tracer.Visible = false end if S.Name then cache.Name.Text = plr.Name cache.Name.Position = Vector2.new(pos.X, pos.Y - size * 0.55 - 16) cache.Name.Color = S.NameColor cache.Name.Visible = true else cache.Name.Visible = false end if S.Distance then cache.Dist.Text = string.format("[%dm]", math.floor(dist)) cache.Dist.Position = Vector2.new(pos.X, pos.Y + size * 0.55 + 2) cache.Dist.Color = color cache.Dist.Visible = true else cache.Dist.Visible = false end if S.RoleTag then cache.Role.Text = "CHASER" cache.Role.Position = Vector2.new(pos.X, pos.Y - size * 0.55 - 30) cache.Role.Color = color cache.Role.Visible = true else cache.Role.Visible = false end endendRunService.RenderStepped:Connect(function() updateESP() if S.DiscordLED then local vs = Camera.ViewportSize local cx = vs.X / 2 local cy = vs.Y - 28 DiscordLEDText.Position = Vector2.new(cx, cy) DiscordLEDGlow.Position = Vector2.new(cx, cy) DiscordLEDLine.From = Vector2.new(cx - 70, cy + 10) DiscordLEDLine.To = Vector2.new(cx + 70, cy + 10) DiscordLEDText.Visible = true DiscordLEDGlow.Visible = true DiscordLEDLine.Visible = true else DiscordLEDText.Visible = false DiscordLEDGlow.Visible = false DiscordLEDLine.Visible = false endend)Players.PlayerRemoving:Connect(function(plr) clearESP(plr)end)-- ======================== VISUAL ========================local function applyFullBright() if S.FullBright then Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(180, 180, 180) endendlocal function applyNoFog() if S.NoFog then Lighting.FogEnd = 100000 Lighting.FogStart = 0 endendlocal function applyFOV() if S.FOVUnlock then Camera.FieldOfView = S.CustomFOV endend-- ======================== REATTACH ========================local function onCharacter(char) task.wait(0.45) local hum = char:FindFirstChildOfClass("Humanoid") if hum then originalWalkSpeed = hum.WalkSpeed end if S.Speed or S.SuperSpeed then setupSpeedLoop() applySpeed() end if S.Noclip then setupNoclip() end if S.Fly then setupFly() end if S.InfiniteDash or S.DashBoost then setupInfiniteDash() end if S.InfinitePower or S.NoCooldown then setupInfinitePower() end if S.HitboxExpand then setupHitbox() end if S.FullBright then applyFullBright() end if S.NoFog then applyNoFog() end if S.FOVUnlock then applyFOV() endendif LocalPlayer.Character then onCharacter(LocalPlayer.Character) endLocalPlayer.CharacterAdded:Connect(onCharacter)if S.AntiAFK then local vu = game:GetService("VirtualUser") LocalPlayer.Idled:Connect(function() vu:CaptureController() vu:ClickButton2(Vector2.new()) end)end-- ======================== TABS ========================-- MOVEMENTTabMove:CreateSection("Speed Control")TabMove:CreateToggle({ Name = "Speed Hack", CurrentValue = S.Speed, Flag = "Speed", Callback = function(v) S.Speed = v if v then S.SuperSpeed = false end applySpeed() setupSpeedLoop() notify("MOVEMENT", v and ("Speed ON · " .. S.WalkSpeed) or "Speed OFF") end})TabMove:CreateSlider({ Name = "WalkSpeed", Range = {16, 120}, Increment = 1, CurrentValue = S.WalkSpeed, Flag = "WalkSpeed", Callback = function(v) S.WalkSpeed = v if S.Speed then applySpeed() end end})TabMove:CreateToggle({ Name = "Super Speed", CurrentValue = S.SuperSpeed, Flag = "SuperSpeed", Callback = function(v) S.SuperSpeed = v if v then S.Speed = false end applySpeed() setupSpeedLoop() notify("MOVEMENT", v and ("SUPER · " .. S.SuperSpeedVal) or "Super OFF") end})TabMove:CreateSlider({ Name = "Super Speed Value", Range = {40, 200}, Increment = 5, CurrentValue = S.SuperSpeedVal, Flag = "SuperSpeedVal", Callback = function(v) S.SuperSpeedVal = v if S.SuperSpeed then applySpeed() end end})TabMove:CreateSection("Extra Movement")TabMove:CreateToggle({ Name = "Infinite Jump", CurrentValue = S.InfiniteJump, Flag = "InfJump", Callback = function(v) S.InfiniteJump = v end})TabMove:CreateToggle({ Name = "Noclip", CurrentValue = S.Noclip, Flag = "Noclip", Callback = function(v) S.Noclip = v setupNoclip() notify("MOVEMENT", v and "Noclip ON" or "Noclip OFF") end})TabMove:CreateToggle({ Name = "Fly", CurrentValue = S.Fly, Flag = "Fly", Callback = function(v) S.Fly = v setupFly() notify("MOVEMENT", v and "Fly ON" or "Fly OFF") end})TabMove:CreateSlider({ Name = "Fly Speed", Range = {20, 200}, Increment = 5, CurrentValue = S.FlySpeed, Flag = "FlySpeed", Callback = function(v) S.FlySpeed = v end})-- DASHTabDash:CreateSection("Dash System")TabDash:CreateToggle({ Name = "Infinite Dash", CurrentValue = S.InfiniteDash, Flag = "InfDash", Callback = function(v) S.InfiniteDash = v setupInfiniteDash() notify("DASH", v and "Infinite Dash ONLINE" or "Infinite Dash OFF") end})TabDash:CreateToggle({ Name = "Dash Boost", CurrentValue = S.DashBoost, Flag = "DashBoost", Callback = function(v) S.DashBoost = v setupInfiniteDash() notify("DASH", v and ("Boost x" .. S.DashMult) or "Boost OFF") end})TabDash:CreateSlider({ Name = "Dash Multiplier", Range = {1.2, 5}, Increment = 0.1, CurrentValue = S.DashMult, Flag = "DashMult", Callback = function(v) S.DashMult = v end})TabDash:CreateToggle({ Name = "Manual Force Dash (Q)", CurrentValue = S.AutoDash, Flag = "AutoDash", Callback = function(v) S.AutoDash = v notify("DASH", v and "Force Dash bound to Q" or "Force Dash unbound") end})TabDash:CreateButton({ Name = "Force Dash Now", Callback = function() forceDash() notify("DASH", "Dash forced") end})-- POWERUPSTabPower:CreateSection("Ability Control")TabPower:CreateToggle({ Name = "Infinite Powerup", CurrentValue = S.InfinitePower, Flag = "InfPower", Callback = function(v) S.InfinitePower = v setupInfinitePower() notify("POWER", v and "Infinite Power ONLINE" or "Infinite Power OFF") end})TabPower:CreateToggle({ Name = "No Cooldown", CurrentValue = S.NoCooldown, Flag = "NoCD", Callback = function(v) S.NoCooldown = v setupInfinitePower() notify("POWER", v and "Cooldowns wiped" or "Cooldowns normal") end})TabPower:CreateToggle({ Name = "Ability Spam", CurrentValue = S.AbilitySpam, Flag = "AbilitySpam", Callback = function(v) S.AbilitySpam = v if v then if connections.spam then connections.spam:Disconnect() end connections.spam = RunService.Heartbeat:Connect(function() tryFireAbility() end) else if connections.spam then connections.spam:Disconnect() connections.spam = nil end end notify("POWER", v and "Ability Spam ON" or "Ability Spam OFF") end})TabPower:CreateSlider({ Name = "Spam Delay", Range = {0.1, 1.5}, Increment = 0.05, CurrentValue = S.SpamDelay, Flag = "SpamDelay", Callback = function(v) S.SpamDelay = v end})TabPower:CreateButton({ Name = "Wipe Cooldowns Now", Callback = function() wipeCooldowns() notify("POWER", "All cooldowns forced to 0") end})-- ESP (CHASER ONLY)TabESP:CreateSection("Chaser ESP Only")TabESP:CreateToggle({ Name = "Chaser ESP", CurrentValue = S.ChaserESP, Flag = "ChaserESP", Callback = function(v) S.ChaserESP = v if not v then for plr, _ in pairs(espCache) do clearESP(plr) end end notify("ESP", v and "Chaser ESP ONLINE (fixed detection)" or "Chaser ESP OFF") end})TabESP:CreateToggle({ Name = "Boxes", CurrentValue = S.Box, Flag = "Box", Callback = function(v) S.Box = v end})TabESP:CreateToggle({ Name = "Tracers", CurrentValue = S.Tracer, Flag = "Tracer", Callback = function(v) S.Tracer = v end})TabESP:CreateToggle({ Name = "Names", CurrentValue = S.Name, Flag = "Name", Callback = function(v) S.Name = v end})TabESP:CreateToggle({ Name = "Distance", CurrentValue = S.Distance, Flag = "Distance", Callback = function(v) S.Distance = v end})TabESP:CreateToggle({ Name = "Role Tags", CurrentValue = S.RoleTag, Flag = "RoleTag", Callback = function(v) S.RoleTag = v end})TabESP:CreateSlider({ Name = "Max Distance", Range = {200, 5000}, Increment = 50, CurrentValue = S.MaxDist, Flag = "MaxDist", Callback = function(v) S.MaxDist = v end})TabESP:CreateColorPicker({ Name = "Chaser Color", Color = S.ChaserColor, Flag = "ChaserColor", Callback = function(c) S.ChaserColor = c end})TabESP:CreateParagraph({ Title = "Detection", Content = "Uses knife/tool + attributes + team + tags. Only real Chasers show. Runners are ignored."})-- HITBOXTabHitbox:CreateSection("Hitbox Expander (easy kills as Chaser)")TabHitbox:CreateToggle({ Name = "Hitbox Expander", CurrentValue = S.HitboxExpand, Flag = "HitboxExpand", Callback = function(v) S.HitboxExpand = v setupHitbox() notify("HITBOX", v and ("Expand ON · size " .. S.HitboxSize) or "Hitbox restored") end})TabHitbox:CreateSlider({ Name = "Hitbox Size", Range = {3, 20}, Increment = 0.5, CurrentValue = S.HitboxSize, Flag = "HitboxSize", Callback = function(v) S.HitboxSize = v if S.HitboxExpand then -- force re-expand next frame restoreHitboxes() end end})TabHitbox:CreateToggle({ Name = "Show Expanded Hitbox", CurrentValue = S.HitboxVisible, Flag = "HitboxVisible", Callback = function(v) S.HitboxVisible = v if not v then for part, _ in pairs(expandedParts) do if part and part.Parent then pcall(function() part.Transparency = (part.Name == "HumanoidRootPart") and 1 or 0 end) end end end end})TabHitbox:CreateColorPicker({ Name = "Hitbox Color", Color = S.HitboxColor, Flag = "HitboxColor", Callback = function(c) S.HitboxColor = c end})TabHitbox:CreateParagraph({ Title = "How it works", Content = "Expands Runner HRP / Torso / Head while you are Chaser. Bigger = easier knife tags. Size 6–10 is usually enough. Does not expand other Chasers."})TabHitbox:CreateButton({ Name = "Restore All Hitboxes", Callback = function() restoreHitboxes() notify("HITBOX", "All hitboxes restored") end})-- VISUALTabVisual:CreateSection("World")TabVisual:CreateToggle({ Name = "FullBright", CurrentValue = S.FullBright, Flag = "FullBright", Callback = function(v) S.FullBright = v if v then applyFullBright() else Lighting.Brightness = 1 Lighting.GlobalShadows = true end end})TabVisual:CreateToggle({ Name = "No Fog", CurrentValue = S.NoFog, Flag = "NoFog", Callback = function(v) S.NoFog = v if v then applyNoFog() end end})TabVisual:CreateToggle({ Name = "Custom FOV", CurrentValue = S.FOVUnlock, Flag = "FOVUnlock", Callback = function(v) S.FOVUnlock = v if v then applyFOV() else Camera.FieldOfView = 70 end end})TabVisual:CreateSlider({ Name = "FOV Value", Range = {60, 120}, Increment = 1, CurrentValue = S.CustomFOV, Flag = "CustomFOV", Callback = function(v) S.CustomFOV = v if S.FOVUnlock then applyFOV() end end})-- MISCTabMisc:CreateSection("Utility")TabMisc:CreateToggle({ Name = "Anti-AFK", CurrentValue = S.AntiAFK, Flag = "AntiAFK", Callback = function(v) S.AntiAFK = v end})TabMisc:CreateToggle({ Name = "Discord LED Footer", CurrentValue = S.DiscordLED, Flag = "DiscordLED", Callback = function(v) S.DiscordLED = v DiscordLEDText.Visible = v DiscordLEDGlow.Visible = v DiscordLEDLine.Visible = v end})TabMisc:CreateButton({ Name = "Re-apply All", Callback = function() local char = getChar() if char then onCharacter(char) end notify("MISC", "All systems re-applied") end})TabMisc:CreateButton({ Name = "Destroy ESP", Callback = function() for plr, _ in pairs(espCache) do clearESP(plr) end notify("MISC", "ESP cleared") end})-- ABOUTTabAbout:CreateSection("ELITE · HUSS VALLEY")TabAbout:CreateParagraph({ Title = "Build Info", Content = "Elite Scripts · Rayfield Gen-2 · Purple brand\nChaser ESP (fixed) · Hitbox Expander · Speed · Infinite Dash · Infinite Powerup\nKeyless · Config auto-save"})TabAbout:CreateParagraph({ Title = "Chaser Detection", Content = "Knife/Tool first, then attributes, CollectionService tags, team name. Only real Chasers are drawn. Runners never show on ESP."})TabAbout:CreateParagraph({ Title = "Hitbox", Content = "When you are Chaser, enable Hitbox Expander. It only expands Runners so your knife has a much larger hit volume."})TabAbout:CreateButton({ Name = "Copy Discord", Callback = function() setclipboard(S.DiscordLink) notify("ELITE", "Discord link copied") end})TabAbout:CreateButton({ Name = "Unload Script", Callback = function() for _, conn in pairs(connections) do pcall(function() conn:Disconnect() end) end if speedConn then speedConn:Disconnect() end if noclipConn then noclipConn:Disconnect() end if dashConn then dashConn:Disconnect() end if abilityConn then abilityConn:Disconnect() end if hitboxConn then hitboxConn:Disconnect() end restoreHitboxes() for plr, _ in pairs(espCache) do clearESP(plr) end DiscordLEDText:Remove() DiscordLEDGlow:Remove() DiscordLEDLine:Remove() Rayfield:Destroy() end})notify("ELITE", "Huss Valley loaded · Elite purple", 4)print("[ELITE] Huss Valley online — Chaser ESP fixed, Hitbox Expander ready")Quick Actions
Similar Scripts
Auto Run, Auto Chase, Smart Targeting | Huss Valley Script
54911 days ago
Best Ultimate Working Script for Huss Valley
1136 days ago
AutoFarm, Auto Chase & Auto Dodge | Huss Valley Script 2026
624 days ago
Huss Valley Scripts 2026 – Auto Escape, Auto Catch & More
38113 days ago
Philly Streetz 2: AUTO ROB,esp and many more
12.2Kabout 1 year ago
Advertisements
Comments
0Did it work for you? Sign in to share your experience.
No comments yet
Tried it? Let others know if it works.