-- [[ 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=6a79b5b3900716b3902a76c3"))() end) end) --[[rscripts:analytics:end]] --████████╗██████╗ █████╗ ███████╗██╗ ██╗ ██╗ ██╗██╗ ██╗██████╗ --╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██║ ██║ ██║ ██║██║ ██║██╔══██╗ -- ██║ ██████╔╝███████║███████╗███████║ ███████║██║ ██║██████╔╝ -- ██║ ██╔══██╗██╔══██║╚════██║██╔══██║ ██╔══██║██║ ██║██╔══██╗ -- ██║ ██║ ██║██║ ██║███████║██║ ██║ ██║ ██║╚██████╔╝██████╔╝ -- ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ -- -- o p e n s o u r c e local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local TweenService = game:GetService("TweenService") local Stats = game:GetService("Stats") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local S = { tpOn = false, tpDist = 10, tpConn = nil, tpStack = 1, tpAdded = nil, bhopOn = false, bhopConn = nil, bhopAdded = nil, fbOn = false, fbConn = nil, fb2On = false, fb2Conn = nil, fb2Light = nil, fb2Brightness = 5, fb2Range = 30, fb2CharAdded = nil, alOn = false, alConn = nil, alAddedConn = nil, alOrig = {}, nfOn = false, nfConn = nil, nfSaved = {}, espOn = false, espConn = nil, espSet = { dist = 500, names = true, tracers = true, players = true }, espDr = {}, espAdd = nil, espRem = nil, glowOn = false, glowLines = {}, glowAdd = nil, glowRem = nil, aimOn = false, aimWall = true, aimFov = 90, aimSmooth = 0.5, aimJit = 0.02, aimPriority = "Closest", aimPart = "Head", fovCol = Color3.fromRGB(255,255,255), trgOn = false, trgLast = 0, trgSet = { delay = 0.1, dist = 300, part = "Head", wall = true }, nrOn = false, nrSens = 1, nrTX = 0, nrTY = 0, nrTZ = 0, nrFire = false, nrRec = 0, aaOn = false, aaConn = nil, aaSpin = 50, aaCrouch = true, aaJitterOn = false, aaJitterSpeed = 8, noShakeOn = false, noShakeConn = nil, camBobAdded = nil, headlessOn = false, headlessConn = nil, fakeLagOn = false, fakeLagAmount = 0.5, fakeLagConn = nil, snowOn = false, snowParts = {}, snowMax = 80, snowSet = { radius = 15, up = 15, down = 5, fall = 1.5, size = 3 }, snowOld = {}, snowDecals = {}, snowColored = false, snowID = "http://www.roblox.com/asset/?id=49312437", snowConn = nil, trailOn = false, trailPts = {}, trailConn = nil, trailMax = 30, lastTrailPos = nil, trailSet = { color = Color3.fromRGB(255,105,180), width = 4, life = 1.5, rainbow = false }, emoTrack = nil, emoAnim = nil, currentSky = nil, originalSky = nil, inputReceived = false, inputConn1 = nil, inputConn2 = nil, bindList = {}, bindTexts = {} } local fovCircle = Drawing.new("Circle") fovCircle.Visible = false fovCircle.Radius = 90 fovCircle.Color = S.fovCol fovCircle.Transparency = 0.5 fovCircle.Filled = false local lockCircle = Drawing.new("Circle") lockCircle.Visible = false lockCircle.Radius = 10 lockCircle.Color = Color3.fromRGB(255,50,50) lockCircle.Transparency = 0.4 lockCircle.Filled = true local splashGui = Instance.new("ScreenGui") splashGui.Name = "TH_Splash_" .. tostring(math.random(10000, 99999)) splashGui.IgnoreGuiInset = true splashGui.ResetOnSpawn = false splashGui.DisplayOrder = 999999 if gethui then local ok, hui = pcall(gethui) splashGui.Parent = ok and hui or game:GetService("CoreGui") else splashGui.Parent = game:GetService("CoreGui") end local blur = Instance.new("BlurEffect") blur.Size = 0 blur.Parent = Lighting task.spawn(function() for i = 0, 24, 1 do if not blur.Parent then return end blur.Size = i task.wait(0.02) end end) local dim = Instance.new("Frame") dim.Size = UDim2.fromScale(1, 1) dim.BackgroundColor3 = Color3.fromRGB(0, 0, 0) dim.BackgroundTransparency = 1 dim.BorderSizePixel = 0 dim.ZIndex = 1 dim.Parent = splashGui task.spawn(function() for i = 1, 0.5, -0.03 do if not dim.Parent then return end dim.BackgroundTransparency = i task.wait(0.02) end end) local center = Instance.new("Frame") center.Size = UDim2.fromOffset(520, 240) center.Position = UDim2.fromScale(0.5, 0.5) center.AnchorPoint = Vector2.new(0.5, 0.5) center.BackgroundTransparency = 1 center.ZIndex = 5 center.Parent = splashGui local logo = Instance.new("TextLabel") logo.Size = UDim2.new(1, 0, 0, 70) logo.Position = UDim2.new(0, 0, 0, 10) logo.BackgroundTransparency = 1 logo.Text = "" logo.Font = Enum.Font.GothamBlack logo.TextSize = 56 logo.TextColor3 = Color3.fromRGB(255, 255, 255) logo.TextXAlignment = Enum.TextXAlignment.Center logo.TextTransparency = 1 logo.ZIndex = 10 logo.Parent = center local logoGrad = Instance.new("UIGradient") logoGrad.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 80, 180)), ColorSequenceKeypoint.new(0.33, Color3.fromRGB(180, 100, 255)), ColorSequenceKeypoint.new(0.66, Color3.fromRGB(80, 200, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 80, 180)) } logoGrad.Rotation = 0 logoGrad.Parent = logo task.spawn(function() while logo.Parent do for i = 0, 360, 4 do if not logo.Parent then return end logoGrad.Rotation = i task.wait(0.03) end end end) task.spawn(function() task.wait(0.3) local fullText = "TRASH HUB" local currentText = "" for i = 1, #fullText do if not logo.Parent then return end currentText = currentText .. fullText:sub(i, i) logo.Text = currentText logo.TextTransparency = math.max(0, logo.TextTransparency - 0.15) task.wait(0.06) end logo.TextTransparency = 0 task.spawn(function() while logo.Parent do TweenService:Create(logo, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { TextSize = 62 }):Play() task.wait(0.8) if not logo.Parent then return end TweenService:Create(logo, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { TextSize = 56 }):Play() task.wait(0.8) end end) end) local sub = Instance.new("TextLabel") sub.Size = UDim2.new(1, 0, 0, 20) sub.Position = UDim2.new(0, 0, 0, 80) sub.BackgroundTransparency = 1 sub.Text = "" sub.Font = Enum.Font.GothamMedium sub.TextSize = 14 sub.TextColor3 = Color3.fromRGB(180, 180, 200) sub.TextTransparency = 1 sub.ZIndex = 10 sub.Parent = center task.spawn(function() task.wait(1.2) local fullText = "by mrgli4hub" local currentText = "" for i = 1, #fullText do if not sub.Parent then return end currentText = currentText .. fullText:sub(i, i) sub.Text = currentText sub.TextTransparency = math.max(0.3, sub.TextTransparency - 0.1) task.wait(0.04) end end) local barBg = Instance.new("Frame") barBg.Size = UDim2.new(1, -80, 0, 6) barBg.Position = UDim2.new(0, 40, 0, 130) barBg.BackgroundColor3 = Color3.fromRGB(30, 30, 40) barBg.BackgroundTransparency = 1 barBg.BorderSizePixel = 0 barBg.ZIndex = 10 barBg.Parent = center local barBgCorner = Instance.new("UICorner") barBgCorner.CornerRadius = UDim.new(1, 0) barBgCorner.Parent = barBg local barFill = Instance.new("Frame") barFill.Size = UDim2.new(0, 0, 1, 0) barFill.BackgroundColor3 = Color3.fromRGB(255, 255, 255) barFill.BorderSizePixel = 0 barFill.ZIndex = 11 barFill.Parent = barBg local barFillCorner = Instance.new("UICorner") barFillCorner.CornerRadius = UDim.new(1, 0) barFillCorner.Parent = barFill local barGrad = Instance.new("UIGradient") barGrad.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 80, 180)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(120, 80, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(80, 200, 255)) } barGrad.Parent = barFill local status = Instance.new("TextLabel") status.Size = UDim2.new(1, 0, 0, 20) status.Position = UDim2.new(0, 0, 0, 145) status.BackgroundTransparency = 1 status.Text = "" status.Font = Enum.Font.GothamMedium status.TextSize = 13 status.TextColor3 = Color3.fromRGB(180, 180, 200) status.TextTransparency = 1 status.ZIndex = 10 status.Parent = center local pct = Instance.new("TextLabel") pct.Size = UDim2.new(1, 0, 0, 20) pct.Position = UDim2.new(0, 0, 0, 170) pct.BackgroundTransparency = 1 pct.Text = "" pct.Font = Enum.Font.GothamBold pct.TextSize = 14 pct.TextColor3 = Color3.fromRGB(200, 200, 220) pct.TextTransparency = 1 pct.ZIndex = 10 pct.Parent = center local waitLabel = Instance.new("TextLabel") waitLabel.Size = UDim2.new(1, 0, 0, 25) waitLabel.Position = UDim2.new(0, 0, 0, 200) waitLabel.BackgroundTransparency = 1 waitLabel.Text = "" waitLabel.Font = Enum.Font.GothamBold waitLabel.TextSize = 15 waitLabel.TextColor3 = Color3.fromRGB(120, 200, 255) waitLabel.TextTransparency = 1 waitLabel.ZIndex = 10 waitLabel.Parent = center task.spawn(function() task.wait(1.6) TweenService:Create(barBg, TweenInfo.new(0.4), { BackgroundTransparency = 0 }):Play() task.wait(0.2) TweenService:Create(status, TweenInfo.new(0.4), { TextTransparency = 0.2 }):Play() TweenService:Create(pct, TweenInfo.new(0.4), { TextTransparency = 0 }):Play() end) local stages = { { pct = 8, text = "Caching assets..." }, { pct = 18, text = "Loading Fluent UI..." }, { pct = 35, text = "Building interface..." }, { pct = 52, text = "Connecting modules..." }, { pct = 68, text = "Wiring callbacks..." }, { pct = 82, text = "Finalizing..." }, { pct = 95, text = "Almost ready..." }, { pct = 100, text = "Welcome, " .. LocalPlayer.Name }, } local function setProgress(targetPct, text) if text then status.Text = text end TweenService:Create(barFill, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(targetPct / 100, 0, 1, 0) }):Play() task.spawn(function() local startPct = tonumber((pct.Text:gsub("%%", ""))) or 0 for i = 1, 10 do local cur = startPct + (targetPct - startPct) * (i / 10) pct.Text = math.floor(cur) .. "%" task.wait(0.035) end pct.Text = targetPct .. "%" end) end task.spawn(function() task.wait(1.8) for _, stage in ipairs(stages) do setProgress(stage.pct, stage.text) task.wait(0.4) end end) local function onInput() if S.inputReceived then return end S.inputReceived = true end S.inputConn1 = UIS.InputBegan:Connect(function(input, gpe) if not gpe then onInput() end end) S.inputConn2 = UIS.TouchTap:Connect(onInput) task.spawn(function() task.wait(3.5) TweenService:Create(waitLabel, TweenInfo.new(0.5), { TextTransparency = 0 }):Play() while not S.inputReceived do waitLabel.Text = "Press any key or tap to continue" task.wait(0.8) if S.inputReceived then break end waitLabel.Text = "" task.wait(0.4) end end) status.Text = "Loading Fluent UI..." local Fluent do local ok, res = pcall(function() return loadstring(game:HttpGet("https://github.com/StyearX/Fluent-Modded/releases/download/Fluent/FluentPro"))() end) if not ok or not res then status.Text = "Fluent failed: " .. tostring(res) error("Fluent failed to load: " .. tostring(res)) end Fluent = res end status.Text = "Building interface..." local Window = Fluent:CreateWindow({ Title = "TrashHub", SubTitle = "by mrgli4hub", TabWidth = 160, Size = UDim2.fromOffset(620, 540), Acrylic = true, Theme = "AMOLED", MinimizeKey = Enum.KeyCode.RightShift }) local Tabs = { Story = Window:AddTab({ Title = "Story", Icon = "solar/book-bold" }), Movement = Window:AddTab({ Title = "Movement", Icon = "solar/running-bold" }), Visuals = Window:AddTab({ Title = "Visuals", Icon = "solar/eye-bold" }), Combat = Window:AddTab({ Title = "Combat", Icon = "solar/swords-bold" }), AntiAim = Window:AddTab({ Title = "Anti-Aim", Icon = "solar/shield-bold" }), Emotions = Window:AddTab({ Title = "Emotions", Icon = "solar/emoji-bold" }), Effects = Window:AddTab({ Title = "Effects", Icon = "solar/stars-bold" }), Settings = Window:AddTab({ Title = "Settings", Icon = "solar/settings-bold" }) } local EMOTES = { Goal = "rbxassetid://28488254", Dance = "rbxassetid://27789359", Moonwalk = "rbxassetid://30196114", Tara = "rbxassetid://248263260", Disko = "rbxassetid://45834924", Party = "rbxassetid://33796059", Flute = "rbxassetid://52155728", Bang = "rbxassetid://148840371", FullSwing = "rbxassetid://218504594", FullPunch = "rbxassetid://204062532", FloorFaint = "rbxassetid://181525546", Crouch = "rbxassetid://182724289", SpinDance = "rbxassetid://429730430", SpinDance2 = "rbxassetid://186934910", JumpingJacks = "rbxassetid://429681631", ArmDetach = "rbxassetid://33169583", MegaInsane = "rbxassetid://184574340", WeirdMove = "rbxassetid://215384594", DinoWalk = "rbxassetid://204328711", FloorCrawl = "rbxassetid://282574440", Spinner = "rbxassetid://188632011", Faint = "rbxassetid://181526230", Levitate = "rbxassetid://313762630", LoopHead = "rbxassetid://35154961", HeadThrow = "rbxassetid://35154961", CloneIllusion = "rbxassetid://215384594", Dab = "rbxassetid://183412246", BarrelRoll = "rbxassetid://136801964", Insane = "rbxassetid://33796059", SwordSlam = "rbxassetid://204295235", LoopSlam = "rbxassetid://204295235", MovingDance = "rbxassetid://429703734", ArmTurbine = "rbxassetid://259438880", SuperPunch = "rbxassetid://126753849", Scared = "rbxassetid://180612465", HeroJump = "rbxassetid://184574340", SwordSlice = "rbxassetid://35978879", FloatingHead = "rbxassetid://121572214", InsaneArms = "rbxassetid://27432691", SuperFaint = "rbxassetid://181525546", FloatSit = "rbxassetid://179224234", BowDown = "rbxassetid://204292303", GlitchLevitate = "rbxassetid://313762630", } local SKYBOXES = { ["GreenHaze"] = {160193458, 160193466, 160193461, 160193404, 160193469, 160193463}, ["Space2"] = {11844053742, 11844069700, 11844067209, 11844076072, 11844063543, 11844058446}, ["PinkMountains"] = {160188588, 160188614, 160188609, 160188495, 160188589, 160188597}, ["Valentines"] = {11427771954, 11427770685, 11427769401, 11427769401, 11427769401, 11427769401}, ["PinkArt"] = {79190209626172, 78865378050055, 104560113223878, 71607054149497, 80395333901607, 87570388049514}, ["PurplePlanet"] = {16262366016, 16262358026, 16262360469, 16262356578, 16262362003, 16262363873}, ["Blizzard"] = {16653228333, 16653222701, 16653224051, 16653221738, 16653225849, 16653227200}, ["Winter"] = {155674931, 155674246, 155657609, 155657655, 155657671, 155657619}, ["FlamingSunset"] = {415688354, 415688193, 415688242, 415688378, 415688310, 415688274}, ["Mountains"] = {15359412677, 15359411132, 15359412131, 15359410490, 15359411633, 15359417656}, ["FPSBoost"] = {11457548274, 11457548274, 11457548274, 11457548274, 11457548274, 11457548274}, ["AestheticMountains"] = {15470207755, 15470151245, 15470200128, 15470198023, 15470202648, 15470204862}, ["BetterNight3"] = {2670644331, 2670643365, 2670643214, 2670643994, 2670643070, 2670644173}, ["Galaxy2"] = {14164405298, 14164386126, 14164389230, 14164368678, 14164398493, 14164402782}, ["Aesthetic3"] = {151165227, 151165197, 151165224, 151165214, 151165191, 151165206}, ["PurpleSpace"] = {15983964246, 15983966825, 5260817288, 15983968922, 15983967420, 15983966246}, ["Pink"] = {271077958, 271077243, 271042556, 271042516, 271042310, 271042467}, ["PurpleNight"] = {5084576400, 5260653793, 5260817288, 5260808177, 5260800833, 5260800833}, ["Flame"] = {6286790025, 6286782353, 6286784186, 6286780109, 6286785801, 6286788245}, ["Galaxy3"] = {14543371676, 14543358958, 14543257810, 14543264135, 14543275895, 14543280890}, ["Storm"] = {1618913654, 1618913943, 1618913244, 1618912481, 1618912849, 1618911568}, ["Milkyway"] = {137817405681365, 108406529909981, 104400530594543, 129876530632297, 73372229972523, 87408857415924}, ["PurpleClouds"] = {570557727, 570557775, 570557559, 570557514, 570557620, 570557672}, ["BlueClouds"] = {591059642, 591059876, 591058104, 591058823, 591057861, 591057625}, ["BetterNight"] = {15470303050, 15470291746, 15470294431, 15470289121, 15470297162, 15470299887}, ["Cloudy"] = {4495867486, 4495864887, 4495865458, 4495864450, 4495866035, 4495866584}, ["NetherWorld"] = {14365019327, 14365023350, 14365018399, 14365019002, 14365018705, 14365018143}, ["NewYork"] = {11333967970, 11333969768, 11333964303, 11333973069, 11333971332, 11333982864}, ["Purple2"] = {8107849791, 6444884785, 8107841671, 8107841671, 8107841671, 8107841671}, ["FunnyStorm"] = {6280942402, 6280935347, 6280936575, 6280934001, 6280938749, 6280940989}, ["Galaxy"] = {159454288, 159454296, 159454293, 159454299, 159454293, 159454293}, ["BlueSpace"] = {16876552681, 16876543880, 16876546384, 16876541778, 16876548320, 16876550345}, ["Purple3"] = {433274285, 433274194, 433274131, 433274085, 433274370, 433274429}, ["Nebula2"] = {16932810138, 16932797813, 16932800523, 16932794531, 16932803722, 16932806825}, ["Nebula"] = {5260824661, 5260653793, 5260817288, 5260808177, 5260800833, 5260811073}, ["LunarNight"] = {187712111, 187712428, 187712836, 187713366, 187713755, 187714525}, ["Purple"] = {8539981085, 8539981943, 8539981721, 8539982183, 8539981424, 8539980766}, ["Hell"] = {11730857150, 11730842997, 11730849615, 11730840088, 11730852920, 11730855491}, ["Nebula6"] = {16694204069, 16694190947, 16694194795, 16694187412, 16694197080, 16694200892}, ["DarkishPink"] = {570555929, 570555964, 570555800, 570555736, 570555840, 570555882}, ["RedNight"] = {401664936, 401664862, 401664960, 401664839, 401664881, 401664901}, ["Space"] = {166510114, 166510057, 166510116, 166509999, 166510092, 166510131}, ["OverPlanet"] = {165052345, 165052286, 165052328, 165052268, 165052365, 165052306}, ["Orange"] = {150939082, 150939038, 150939047, 150939022, 150939056, 150939063}, ["Pastel"] = {2128462236, 2128462480, 2128458653, 2128458653, 2128462027, 2128462027}, ["Beach"] = {173380790, 173380627, 173380642, 173380597, 173380671, 173380774}, ["FakeClouds"] = {8496897504, 8496896250, 8496892810, 8496892810, 8496892810, 8496892810}, ["Aesthetic2"] = {600835177, 600831635, 600832720, 600830446, 600886090, 600833862}, ["Nebula4"] = {17103639457, 17103622190, 17103624898, 17103618635, 17103628153, 17103636666}, ["BluePlanet"] = {16889004122, 16888991855, 16888995219, 16888989874, 16888998994, 16889000916}, ["Nebula5"] = {17124369657, 17124359797, 17124362093, 17124357467, 17124365127, 17124367200}, ["LunarNight2"] = {14365026442, 14365026242, 14365025735, 14365026085, 14365025904, 14365025444}, ["Pinkie"] = {11554996247, 11555013415, 11555010145, 11555017034, 11555006545, 11555000712}, ["PurpleMountains"] = {17901365106, 17901366771, 17901356262, 17901353811, 17901359687, 17901362326}, ["DarkClouds"] = {190477146, 190477222, 190477200, 190477248, 190477185, 190477166}, ["BetterNight2"] = {248431605, 248431677, 248431598, 248431616, 248431686, 248431611}, ["DarkMountains"] = {5098819127, 5098815227, 5098815653, 5098814730, 5098816155, 5098820352}, ["Nebula3"] = {17839226876, 17839215896, 17839218166, 17839210699, 17839220800, 17839223605}, ["BetterSky"] = {591059642, 591059876, 591058104, 591058823, 591057861, 591057625}, ["MagentaOrange"] = {566616187, 566616232, 566616141, 566616113, 566616044, 566616082}, ["Aesthetic"] = {1417494643, 1417494146, 1417494253, 1417494030, 1417494402, 1417494499}, ["Alien"] = {159248176, 159248183, 159248187, 159248188, 159248173, 159248192}, ["Lunar"] = {179724054, 179724005, 179724018, 179723991, 179724029, 179724037}, ["Retro"] = {16642401907, 16642397027, 16642398372, 16642396302, 16642399309, 16642400745}, ["Realistic"] = {402560052, 402559927, 402559953, 402559900, 402559983, 402560019}, ["Midnight"] = {154185031, 154184960, 154185021, 154185004, 154184943, 154184972}, ["Antartica"] = {2118766003, 2118766919, 2118765204, 2118763079, 2118764070, 2118761853}, ["Moon"] = {17489393055, 17489387417, 17489388310, 17489386489, 17489389632, 17489391101}, ["NightMountains"] = {264907379, 264907909, 264909420, 264908339, 264909758, 264908886}, ["Art"] = {9831769868, 9831764283, 9831766232, 9831762777, 9831768023, 9831768909}, ["Ame"] = {160186148, 160185945, 160186027, 160185927, 160186075, 160186126}, ["Dawn"] = {250381047, 254156892, 250380916, 250381017, 250380953, 250380985}, } local function applySkybox(name) if not S.originalSky then local existing = Lighting:FindFirstChildOfClass("Sky") if existing then S.originalSky = existing:Clone() else S.originalSky = Instance.new("Sky") end end for _, v in ipairs(Lighting:GetChildren()) do if v:IsA("Sky") then v:Destroy() end end if name == "Reset" or name == "None" then if S.originalSky then local restored = S.originalSky:Clone() restored.Parent = Lighting end S.currentSky = nil return end local ids = SKYBOXES[name] if not ids then return end local sky = Instance.new("Sky") sky.SkyboxUp = "rbxassetid://" .. ids[1] sky.SkyboxDn = "rbxassetid://" .. ids[2] sky.SkyboxFt = "rbxassetid://" .. ids[3] sky.SkyboxBk = "rbxassetid://" .. ids[4] sky.SkyboxLf = "rbxassetid://" .. ids[5] sky.SkyboxRt = "rbxassetid://" .. ids[6] sky.Parent = Lighting S.currentSky = name end local function extractCode() local cf = workspace.map.Zone1.Locations.BorderF.SubwaySecret.zs_secret.code if not cf then Fluent:Notify({Title = "Error", Content = "Not found", Duration = 5}) return end local a = cf:GetAttributes() local r = "" for k,v in pairs(a) do r = r .. k .. "=" .. tostring(v) .. "\n" setclipboard(tostring(v)) end Fluent:Notify({Title = "Code", Content = r ~= "" and r or "Empty", Duration = 5}) end local function togNoShake(s) S.noShakeOn = s if S.noShakeConn then S.noShakeConn:Disconnect() S.noShakeConn = nil end if S.camBobAdded then S.camBobAdded:Disconnect() S.camBobAdded = nil end if s then S.noShakeConn = RunService.RenderStepped:Connect(function() if not S.noShakeOn then return end pcall(function() RunService:UnbindFromRenderStep("CameraShake") end) pcall(function() RunService:UnbindFromRenderStep("Shake") end) pcall(function() RunService:UnbindFromRenderStep("Recoil") end) for _, v in ipairs(Lighting:GetChildren()) do if v:IsA("BlurEffect") and v.Name:lower():find("shake") then v:Destroy() end end end) local function attach(char) local hum = char:WaitForChild("Humanoid", 5) if not hum then return end RunService:BindToRenderStep("TH_BobKiller", Enum.RenderPriority.Camera.Value + 1, function() if S.noShakeOn and char.Parent and hum.Parent and hum.Health > 0 then hum.CameraOffset = Vector3.zero end end) end if LocalPlayer.Character then attach(LocalPlayer.Character) end S.camBobAdded = LocalPlayer.CharacterAdded:Connect(function(char) if S.noShakeOn then task.wait(0.5) attach(char) end end) else pcall(function() RunService:UnbindFromRenderStep("TH_BobKiller") end) end end local function toggleHeadless(s) S.headlessOn = s if S.headlessConn then S.headlessConn:Disconnect() S.headlessConn = nil end local function applyHeadless() if not S.headlessOn then return end local chr = LocalPlayer.Character if not chr then return end if chr:FindFirstChild("Head") then chr.Head.Transparency = 1 for _, v in pairs(chr.Head:GetChildren()) do if v:IsA("Decal") then v.Transparency = 1 end end end if chr:FindFirstChild("RightLowerLeg") and chr:FindFirstChild("RightUpperLeg") and chr:FindFirstChild("RightFoot") then chr.RightLowerLeg.MeshId = "902942093" chr.RightLowerLeg.Transparency = 1 chr.RightUpperLeg.MeshId = "http://www.roblox.com/asset/?id=902942096" chr.RightUpperLeg.TextureID = "http://roblox.com/asset/?id=902843398" chr.RightFoot.MeshId = "902942089" chr.RightFoot.Transparency = 1 end end if s then applyHeadless() S.headlessConn = RunService.Heartbeat:Connect(applyHeadless) else local chr = LocalPlayer.Character if chr then if chr:FindFirstChild("Head") then chr.Head.Transparency = 0 for _, v in pairs(chr.Head:GetChildren()) do if v:IsA("Decal") then v.Transparency = 0 end end end pcall(function() chr.RightLowerLeg.MeshId = "0" chr.RightLowerLeg.Transparency = 0 chr.RightUpperLeg.MeshId = "0" chr.RightUpperLeg.TextureID = "0" chr.RightFoot.MeshId = "0" chr.RightFoot.Transparency = 0 end) end end end local function tpAttach() if S.tpConn then pcall(function() S.tpConn:Disconnect() end) S.tpConn = nil end local character = LocalPlayer.Character if not character then return end local humanoid = character:WaitForChild("Humanoid", 5) if not humanoid then return end if not character.Parent then return end S.tpConn = RunService.Heartbeat:Connect(function(delta) if not (character and character.Parent and humanoid and humanoid.Parent) then return end if humanoid.MoveDirection.Magnitude > 0 then character:TranslateBy(humanoid.MoveDirection * (S.tpDist * S.tpStack) * delta * 10) end end) end local function togTP(s) S.tpOn = s if not s then if S.tpConn then pcall(function() S.tpConn:Disconnect() end) S.tpConn = nil end if S.tpAdded then pcall(function() S.tpAdded:Disconnect() end) S.tpAdded = nil end return end if not S.tpAdded then S.tpAdded = LocalPlayer.CharacterAdded:Connect(function() if S.tpOn then task.wait(1) tpAttach() end end) end tpAttach() end local function bhopAttach() if S.bhopConn then S.bhopConn:Disconnect() S.bhopConn = nil end local c = LocalPlayer.Character if not c then return end local h = c:WaitForChild("Humanoid", 5) if not h then return end local cs for _ = 1, 10 do cs = getconnections(h:GetPropertyChangedSignal("Jump")) if #cs > 0 then break end task.wait(0.2) end if not cs or #cs == 0 then return end S.bhopConn = RunService.Heartbeat:Connect(function() pcall(debug.setupvalue, cs[1].Function, 2, tick() - 2) end) end local function togBHop(s) S.bhopOn = s if not s then if S.bhopConn then S.bhopConn:Disconnect() S.bhopConn = nil end if S.bhopAdded then S.bhopAdded:Disconnect() S.bhopAdded = nil end return end if not S.bhopAdded then S.bhopAdded = LocalPlayer.CharacterAdded:Connect(function() if S.bhopOn then task.wait(1) bhopAttach() end end) end bhopAttach() end local function fbTick() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128,128,128) end local function togFB(s) S.fbOn = s if s then if S.fbConn then S.fbConn:Disconnect() end S.fbConn = RunService.RenderStepped:Connect(fbTick) else if S.fbConn then S.fbConn:Disconnect() S.fbConn = nil end end end -- ================= FULLBRIGHT V2 (PointLight на персонаже) ================= local function fb2Attach() if S.fb2Light and S.fb2Light.Parent then return end local chr = LocalPlayer.Character if not chr then return end local root = chr:FindFirstChild("HumanoidRootPart") or chr:FindFirstChild("Torso") or chr:FindFirstChild("UpperTorso") if not root then return end local light = Instance.new("PointLight") light.Name = "TH_FB2_Light" light.Brightness = S.fb2Brightness light.Range = S.fb2Range light.Color = Color3.fromRGB(255, 255, 255) light.Shadows = false light.Parent = root S.fb2Light = light end local function fb2Detach() if S.fb2Light then pcall(function() S.fb2Light:Destroy() end) S.fb2Light = nil end end local function togFB2(s) S.fb2On = s if S.fb2Conn then S.fb2Conn:Disconnect() S.fb2Conn = nil end if s then fb2Attach() S.fb2Conn = RunService.Heartbeat:Connect(function() if not S.fb2On then return end if not S.fb2Light or not S.fb2Light.Parent then fb2Attach() else if S.fb2Light.Brightness ~= S.fb2Brightness then S.fb2Light.Brightness = S.fb2Brightness end if S.fb2Light.Range ~= S.fb2Range then S.fb2Light.Range = S.fb2Range end end end) S.fb2CharAdded = LocalPlayer.CharacterAdded:Connect(function() if not S.fb2On then return end task.wait(0.5) fb2Detach() fb2Attach() end) else fb2Detach() if S.fb2CharAdded then pcall(function() S.fb2CharAdded:Disconnect() end) S.fb2CharAdded = nil end end end local function alSnapshotAndApply() S.alOrig = { parts = {}, decals = {}, emitters = {}, postFx = {}, terrain = nil } local terrain = workspace:FindFirstChildWhichIsA("Terrain") if terrain then S.alOrig.terrain = { WaterWaveSize = terrain.WaterWaveSize, WaterWaveSpeed = terrain.WaterWaveSpeed, WaterReflectance = terrain.WaterReflectance, WaterTransparency = terrain.WaterTransparency, } terrain.WaterWaveSize = 0 terrain.WaterWaveSpeed = 0 terrain.WaterReflectance = 0 terrain.WaterTransparency = 1 end S.alOrig.lighting = { GlobalShadows = Lighting.GlobalShadows, FogEnd = Lighting.FogEnd, FogStart = Lighting.FogStart, } Lighting.GlobalShadows = false Lighting.FogEnd = 9e9 Lighting.FogStart = 9e9 pcall(function() settings().Rendering.QualityLevel = 1 end) for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("BasePart") then S.alOrig.parts[v] = { CastShadow = v.CastShadow, Material = v.Material, Reflectance = v.Reflectance, BackSurface = v.BackSurface, BottomSurface = v.BottomSurface, FrontSurface = v.FrontSurface, LeftSurface = v.LeftSurface, RightSurface = v.RightSurface, TopSurface = v.TopSurface, } v.CastShadow = false pcall(function() v.Material = Enum.Material.Plastic end) v.Reflectance = 0 v.BackSurface = Enum.SurfaceType.SmoothNoOutlines v.BottomSurface = Enum.SurfaceType.SmoothNoOutlines v.FrontSurface = Enum.SurfaceType.SmoothNoOutlines v.LeftSurface = Enum.SurfaceType.SmoothNoOutlines v.RightSurface = Enum.SurfaceType.SmoothNoOutlines v.TopSurface = Enum.SurfaceType.SmoothNoOutlines elseif v:IsA("Decal") then S.alOrig.decals[v] = { Transparency = v.Transparency, Texture = v.Texture } v.Transparency = 1 v.Texture = "" elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then S.alOrig.emitters[v] = { Lifetime = v.Lifetime, Enabled = v.Enabled } pcall(function() v.Lifetime = NumberRange.new(0) end) end end for _, v in ipairs(Lighting:GetDescendants()) do if v:IsA("PostEffect") then S.alOrig.postFx[v] = v.Enabled v.Enabled = false end end -- На случай, если игра досоздаёт объекты в рантайме S.alAddedConn = workspace.DescendantAdded:Connect(function(child) if not S.alOn then return end task.spawn(function() task.wait() if child:IsA("ForceField") or child:IsA("Sparkles") or child:IsA("Smoke") or child:IsA("Fire") or child:IsA("Beam") then pcall(function() child:Destroy() end) elseif child:IsA("BasePart") then pcall(function() child.CastShadow = false end) end end) end) end local function alRestore() if S.alAddedConn then pcall(function() S.alAddedConn:Disconnect() end) S.alAddedConn = nil end if S.alOrig.terrain then local terrain = workspace:FindFirstChildWhichIsA("Terrain") if terrain then local t = S.alOrig.terrain pcall(function() terrain.WaterWaveSize = t.WaterWaveSize terrain.WaterWaveSpeed = t.WaterWaveSpeed terrain.WaterReflectance = t.WaterReflectance terrain.WaterTransparency = t.WaterTransparency end) end end if S.alOrig.lighting then local l = S.alOrig.lighting pcall(function() Lighting.GlobalShadows = l.GlobalShadows Lighting.FogEnd = l.FogEnd Lighting.FogStart = l.FogStart end) end for v, d in pairs(S.alOrig.parts or {}) do if v and v.Parent then pcall(function() v.CastShadow = d.CastShadow v.Material = d.Material v.Reflectance = d.Reflectance v.BackSurface = d.BackSurface v.BottomSurface = d.BottomSurface v.FrontSurface = d.FrontSurface v.LeftSurface = d.LeftSurface v.RightSurface = d.RightSurface v.TopSurface = d.TopSurface end) end end for v, d in pairs(S.alOrig.decals or {}) do if v and v.Parent then pcall(function() v.Transparency = d.Transparency v.Texture = d.Texture end) end end for v, d in pairs(S.alOrig.emitters or {}) do if v and v.Parent then pcall(function() v.Lifetime = d.Lifetime v.Enabled = d.Enabled end) end end for v, en in pairs(S.alOrig.postFx or {}) do if v and v.Parent then pcall(function() v.Enabled = en end) end end S.alOrig = {} end local function togAntiLag(s) S.alOn = s if s then alSnapshotAndApply() else alRestore() end end local function nfTick() Lighting.FogEnd = 100000 for _,v in pairs(Lighting:GetDescendants()) do if v:IsA("Atmosphere") then S.nfSaved[v] = {Density = v.Density, Offset = v.Offset, Color = v.Color, Decay = v.Decay, Glare = v.Glare, Haze = v.Haze, Parent = v.Parent} v:Destroy() end end end local function togNF(s) S.nfOn = s if s then if S.nfConn then S.nfConn:Disconnect() end S.nfConn = RunService.RenderStepped:Connect(nfTick) else if S.nfConn then S.nfConn:Disconnect() S.nfConn = nil end for _,d in pairs(S.nfSaved) do local atm = Instance.new("Atmosphere") atm.Density = d.Density atm.Offset = d.Offset atm.Color = d.Color atm.Decay = d.Decay atm.Glare = d.Glare atm.Haze = d.Haze atm.Parent = d.Parent or Lighting end S.nfSaved = {} end end local function isNpc(p) return p.UserId == 0 end local function mkEsp(p) if p == LocalPlayer then return end if S.espDr[p] then for _,d in pairs(S.espDr[p]) do pcall(function() d:Remove() end) end S.espDr[p] = nil end if not S.espSet.players and not isNpc(p) then return end local d = {} if S.espSet.tracers then local t = Drawing.new("Line") t.Visible = false t.Color = Color3.fromRGB(255,255,255) t.Thickness = 1 t.Transparency = 0.7 d.Tracer = t end if S.espSet.names then local t = Drawing.new("Text") t.Visible = false t.Color = Color3.fromRGB(255,255,255) t.Size = 13 t.Center = true t.Outline = true t.OutlineColor = Color3.fromRGB(0,0,0) t.Font = 3 d.Name = t end if next(d) then S.espDr[p] = d end end local function clrEsp() for _,d in pairs(S.espDr) do for _,o in pairs(d) do pcall(function() o:Remove() end) end end S.espDr = {} end local function updEsp() if not S.espOn then return end local c = LocalPlayer.Character if not c then return end local lr = c:FindFirstChild("HumanoidRootPart") if not lr then return end local cam = workspace.CurrentCamera if not cam then return end local sb = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y) for p,d in pairs(S.espDr) do if not p.Character then for _,o in pairs(d) do o.Visible = false end else local rp = p.Character:FindFirstChild("HumanoidRootPart") local head = p.Character:FindFirstChild("Head") if not rp or not head then for _,o in pairs(d) do o.Visible = false end else local dist = (lr.Position - rp.Position).Magnitude if dist > S.espSet.dist then for _,o in pairs(d) do o.Visible = false end else local rsp,ros = cam:WorldToViewportPoint(rp.Position) local hsp,hos = cam:WorldToViewportPoint(head.Position + Vector3.new(0,0.5,0)) if d.Tracer then d.Tracer.Visible = ros if ros then d.Tracer.From = sb d.Tracer.To = Vector2.new(rsp.X, rsp.Y) local r = math.clamp(dist/S.espSet.dist, 0, 1) d.Tracer.Color = Color3.fromRGB(255*(1-r), 255*r, 50) end end if d.Name then d.Name.Visible = ros and hos if ros and hos then d.Name.Text = p.Name .. " [" .. math.floor(dist) .. "m]" d.Name.Position = Vector2.new(hsp.X, hsp.Y-25) d.Name.Size = math.clamp(400/dist, 10, 14) local r = math.clamp(dist/S.espSet.dist, 0, 1) d.Name.Color = Color3.fromRGB(255*(1-r), 255*r, 50) end end end end end end end local function togEsp(s) S.espOn = s if not s then if S.espConn then S.espConn:Disconnect() S.espConn = nil end if S.espAdd then S.espAdd:Disconnect() S.espAdd = nil end if S.espRem then S.espRem:Disconnect() S.espRem = nil end clrEsp() return end for _,p in ipairs(Players:GetPlayers()) do mkEsp(p) end S.espAdd = Players.PlayerAdded:Connect(function(p) if S.espOn then task.wait(0.5) mkEsp(p) end end) S.espRem = Players.PlayerRemoving:Connect(function(p) if S.espDr[p] then for _,d in pairs(S.espDr[p]) do pcall(function() d:Remove() end) end S.espDr[p] = nil end end) if S.espConn then S.espConn:Disconnect() end S.espConn = RunService.RenderStepped:Connect(updEsp) end local function mkGlow(p) if p == LocalPlayer then return end if S.glowLines[p] then for _,l in ipairs(S.glowLines[p]) do pcall(function() l:Remove() end) end end local t = {} for i=1,4 do local l = Drawing.new("Line") l.Visible = false l.Color = Color3.fromRGB(255,255,255) l.Thickness = 2 l.Transparency = 0.5 table.insert(t, l) end S.glowLines[p] = t end local function updGlow() if not S.glowOn then for _,t in pairs(S.glowLines) do for _,l in ipairs(t) do l.Visible = false end end return end for p,t in pairs(S.glowLines) do if not p.Character or not p.Character:FindFirstChild("HumanoidRootPart") then for _,l in ipairs(t) do l.Visible = false end else local root = p.Character.HumanoidRootPart local pos, sz = root.Position, root.Size local c = {Vector3.new(pos.X-sz.X/2, pos.Y-sz.Y/2, pos.Z), Vector3.new(pos.X+sz.X/2, pos.Y-sz.Y/2, pos.Z), Vector3.new(pos.X+sz.X/2, pos.Y+sz.Y/2, pos.Z), Vector3.new(pos.X-sz.X/2, pos.Y+sz.Y/2, pos.Z)} local sc = {} for _,v in ipairs(c) do local sp,os = Camera:WorldToViewportPoint(v) if os then table.insert(sc, Vector2.new(sp.X, sp.Y)) end end if #sc >= 4 then for i=1,4 do local j = (i%4)+1 t[i].Visible = true t[i].From = sc[i] t[i].To = sc[j] end end end end end local function togGlow(s) S.glowOn = s if not s then if S.glowAdd then S.glowAdd:Disconnect() S.glowAdd = nil end if S.glowRem then S.glowRem:Disconnect() S.glowRem = nil end for _,t in pairs(S.glowLines) do for _,l in ipairs(t) do l.Visible = false end end return end for _,p in ipairs(Players:GetPlayers()) do mkGlow(p) end S.glowAdd = Players.PlayerAdded:Connect(mkGlow) S.glowRem = Players.PlayerRemoving:Connect(function(p) if S.glowLines[p] then for _,l in ipairs(S.glowLines[p]) do pcall(function() l:Remove() end) end S.glowLines[p] = nil end end) end local function aimLos(t) if not S.aimWall then return true end local h = t:FindFirstChild("Head") if not h then return false end local ok, r = pcall(function() return workspace:FindPartOnRayWithIgnoreList(Ray.new(Camera.CFrame.Position, (h.Position-Camera.CFrame.Position).Unit*1000), {LocalPlayer.Character}) end) if ok and r then return r:IsDescendantOf(t) end return true end local function aimTarget() local best, bestScore = nil, math.huge for _, obj in ipairs(workspace:GetChildren()) do if obj:IsA("Model") and obj:FindFirstChild("Humanoid") and obj:FindFirstChild("Head") and obj ~= LocalPlayer.Character then if obj.Humanoid.Health > 0 and aimLos(obj) then local targetPart = obj:FindFirstChild(S.aimPart) or obj:FindFirstChild("Head") local pos = targetPart.Position local ang = math.deg(math.acos(Camera.CFrame.LookVector:Dot((pos-Camera.CFrame.Position).Unit))) if ang <= S.aimFov then local sp = Camera:WorldToViewportPoint(pos) local screenDist = (Vector2.new(sp.X, sp.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude local score if S.aimPriority == "Closest" then score = (Camera.CFrame.Position - pos).Magnitude elseif S.aimPriority == "Crosshair" then score = screenDist elseif S.aimPriority == "Lowest HP" then score = obj.Humanoid.Health end if score < bestScore then bestScore = score best = obj end end end end end return best end local function aimTick() if not S.aimOn then return end fovCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) local t = aimTarget() if t then local targetPart = t:FindFirstChild(S.aimPart) or t:FindFirstChild("Head") local cf = Camera.CFrame local tcf = CFrame.new(Camera.CFrame.Position, targetPart.Position) local jx = (math.random()-0.5)*S.aimJit local jy = (math.random()-0.5)*S.aimJit Camera.CFrame = cf:Lerp(tcf * CFrame.new(Vector3.new(jx, jy, 0)), S.aimSmooth) local sp = Camera:WorldToViewportPoint(targetPart.Position) lockCircle.Visible = true lockCircle.Position = Vector2.new(sp.X, sp.Y) else lockCircle.Visible = false end end local function trgCheck() local c = LocalPlayer.Character if not c then return false end local cam = workspace.CurrentCamera if not cam then return false end local sc = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y/2) local ray = cam:ViewportPointToRay(sc.X, sc.Y) local p = RaycastParams.new() p.FilterType = Enum.RaycastFilterType.Exclude p.FilterDescendantsInstances = {c} p.IgnoreWater = true local res = workspace:Raycast(ray.Origin, ray.Direction*S.trgSet.dist, p) if not res then return false end local hp = res.Instance if not hp then return false end local hm = hp:FindFirstAncestorOfClass("Model") if not hm then return false end local tp = Players:GetPlayerFromCharacter(hm) if not tp and not hm:FindFirstChild("Humanoid") then return false end if tp == LocalPlayer then return false end local hum = hm:FindFirstChildOfClass("Humanoid") if hum and hum.Health <= 0 then return false end if S.trgSet.part ~= "All Parts" and hp.Name ~= S.trgSet.part then return false end return true end local function trgTick() if not S.trgOn then return end if trgCheck() then local now = tick() if now - S.trgLast >= S.trgSet.delay then mouse1press() task.wait(0.02) mouse1release() S.trgLast = now end end end local function nrSync() S.nrTX, S.nrTY, S.nrTZ = Camera.CFrame:ToEulerAnglesYXZ() end nrSync() local function nrTick(dt) if not S.nrOn then return end if UIS.MouseBehavior == Enum.MouseBehavior.Default then nrSync() return end local ch = LocalPlayer.Character if not ch or not ch:FindFirstChildOfClass("Humanoid") or ch.Humanoid.Health <= 0 then nrSync() return end local d = UIS:GetMouseDelta() local _,_,rz = Camera.CFrame:ToEulerAnglesYXZ() local f = (Camera.CFrame.UpVector.Y < 0) and -1 or 1 local head = ch:FindFirstChild("Head") local thirdPerson = head and (Camera.CFrame.Position - head.Position).Magnitude > 2 if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then S.nrFire = true S.nrRec = 0.35 S.nrTY = S.nrTY - math.rad(d.X * S.nrSens * 0.48 * f) S.nrTX = S.nrTX - math.rad(d.Y * S.nrSens * 0.48) S.nrTX = math.clamp(S.nrTX, math.rad(-85), math.rad(85)) local newRot = CFrame.fromEulerAnglesYXZ(S.nrTX, S.nrTY, rz) if thirdPerson and head then local dist = (Camera.CFrame.Position - head.Position).Magnitude Camera.CFrame = CFrame.new(head.Position - newRot.LookVector * dist) * newRot else Camera.CFrame = CFrame.new(Camera.CFrame.Position) * newRot end elseif S.nrFire then if S.nrRec > 0 then S.nrRec = S.nrRec - dt if d.Magnitude > 0 then S.nrTY = S.nrTY - math.rad(d.X * S.nrSens * 0.48 * f) S.nrTX = S.nrTX - math.rad(d.Y * S.nrSens * 0.48) S.nrTX = math.clamp(S.nrTX, math.rad(-85), math.rad(85)) end local newRot = CFrame.fromEulerAnglesYXZ(S.nrTX, S.nrTY, S.nrTZ) if thirdPerson and head then local dist = (Camera.CFrame.Position - head.Position).Magnitude Camera.CFrame = CFrame.new(head.Position - newRot.LookVector * dist) * newRot else Camera.CFrame = CFrame.new(Camera.CFrame.Position) * newRot end else nrSync() S.nrFire = false end else nrSync() end end local function aaTick() if not S.aaOn then return end local c = LocalPlayer.Character if not c then return end local rp = c:FindFirstChild("HumanoidRootPart") local h = c:FindFirstChild("Humanoid") if rp then if S.aaJitterOn then local angle = math.sin(tick() * S.aaJitterSpeed) * 180 rp.CFrame = CFrame.new(rp.Position) * CFrame.Angles(0, math.rad(angle), 0) * rp.CFrame.Rotation else rp.CFrame = CFrame.new(rp.Position) * CFrame.Angles(0, math.rad(S.aaSpin * 0.5), 0) * rp.CFrame.Rotation end end if h then h.AutoRotate = false if S.aaCrouch and h.Health > 25 then h.HipHeight = -1.5 end end end local function togAA(s) S.aaOn = s if s then if S.aaConn then S.aaConn:Disconnect() end S.aaConn = RunService.Heartbeat:Connect(aaTick) else if S.aaConn then S.aaConn:Disconnect() S.aaConn = nil end local c = LocalPlayer.Character if c then local h = c:FindFirstChild("Humanoid") if h then h.AutoRotate = true h.HipHeight = 0 end end end end local function serverHop() local HttpService = game:GetService("HttpService") local TeleportService = game:GetService("TeleportService") local PlaceId = game.PlaceId local ok, result = pcall(function() return HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Asc&limit=100")) end) if not ok or not result or not result.data then Fluent:Notify({Title = "Hop", Content = "Failed to fetch servers", Duration = 3}) return end for _, server in ipairs(result.data) do if server.playing < server.maxPlayers and server.id ~= game.JobId then pcall(function() TeleportService:TeleportToPlaceInstance(PlaceId, server.id, LocalPlayer) end) return end end Fluent:Notify({Title = "Hop", Content = "No available servers", Duration = 3}) end local function emoPlay(name) local id = EMOTES[name] if not id then return end local c = LocalPlayer.Character if not c then return end local h = c:FindFirstChildOfClass("Humanoid") local an = h and h:FindFirstChildOfClass("Animator") if not an then return end if S.emoTrack then pcall(function() S.emoTrack:Stop() end) S.emoTrack = nil end local a = Instance.new("Animation") a.AnimationId = id local ok, t = pcall(function() return an:LoadAnimation(a) end) if ok and t then t.Priority = Enum.AnimationPriority.Action t.Looped = true t:Play() S.emoTrack = t S.emoAnim = a end end local function emoStop() if S.emoTrack then pcall(function() S.emoTrack:Stop() end) S.emoTrack = nil end S.emoAnim = nil end local function isLeaf(o) local n = o.Name:lower() return n ~= "wood" and n:match("lol") end local function snowColor() if S.snowColored then return end S.snowOld, S.snowDecals = {}, {} local basef = workspace:FindFirstChild("map") and workspace.map:FindFirstChild("Zone1") and workspace.map.Zone1:FindFirstChild("Base") if basef then for _,o in ipairs(basef:GetDescendants()) do if o:IsA("BasePart") or o:IsA("MeshPart") then S.snowOld[o] = o.Color o.Color = Color3.fromRGB(245,245,250) local d = Instance.new("Decal") d.Texture = S.snowID d.Face = Enum.NormalId.Top d.Transparency = 0 d.Name = "SnowDecal" d.Parent = o table.insert(S.snowDecals, d) end end end S.snowColored = true end local function snowRestore() if not S.snowColored then return end for _,d in ipairs(S.snowDecals) do if d and d.Parent then d:Destroy() end end S.snowDecals = {} for o,c in pairs(S.snowOld) do if o and o.Parent then o.Color = c end end S.snowOld = {} S.snowColored = false end local function snowMake() local c = Drawing.new("Circle") c.Visible = false c.Radius = S.snowSet.size/2 c.Filled = true c.Color = Color3.fromRGB(255,255,255) c.Transparency = math.random(40,80)/100 return {d = c, x = (math.random()-0.5)*S.snowSet.radius*2, y = math.random()*(S.snowSet.up+S.snowSet.down)-S.snowSet.down, z = (math.random()-0.5)*S.snowSet.radius*2, sp = S.snowSet.fall*(0.3+math.random()*0.7), w = math.random()*math.pi*2} end local function snowInit() for _,p in ipairs(S.snowParts) do p.d:Remove() end S.snowParts = {} for i=1,S.snowMax do table.insert(S.snowParts, snowMake()) end end local function snowTick() if not S.snowOn then for _,p in ipairs(S.snowParts) do p.d.Visible = false end return end local c = LocalPlayer.Character if not c then return end local rp = c:FindFirstChild("HumanoidRootPart") if not rp then return end local cam = workspace.CurrentCamera if not cam then return end local pp = rp.Position local t = tick() for _,p in ipairs(S.snowParts) do p.y = p.y - p.sp*0.05 p.x = p.x + math.sin(t+p.w)*0.02 p.z = p.z + math.sin(t+p.w+1)*0.02 if p.y < -S.snowSet.down then p.y = S.snowSet.up p.x = (math.random()-0.5)*S.snowSet.radius*2 p.z = (math.random()-0.5)*S.snowSet.radius*2 p.d.Transparency = math.random(40,80)/100 end local dist = math.sqrt(p.x*p.x + p.z*p.z) if dist > S.snowSet.radius then local a = math.atan2(p.z, p.x) p.x = math.cos(a)*S.snowSet.radius p.z = math.sin(a)*S.snowSet.radius end local wp = pp + Vector3.new(p.x, p.y, p.z) local sp, os = cam:WorldToViewportPoint(wp) if os then p.d.Radius = (S.snowSet.size/2)*math.clamp(100/(cam.CFrame.Position-wp).Magnitude, 0.5, 2) p.d.Visible = true p.d.Position = Vector2.new(sp.X, sp.Y) else p.d.Visible = false end end end local function togSnow(s) S.snowOn = s if s then snowInit() snowColor() if S.snowConn then S.snowConn:Disconnect() end S.snowConn = RunService.RenderStepped:Connect(snowTick) else if S.snowConn then S.snowConn:Disconnect() S.snowConn = nil end for _,p in ipairs(S.snowParts) do p.d.Visible = false end snowRestore() end end local function hsv(h, s, v) h = h%360 local c = v*s local x = c*(1-math.abs((h/60)%2-1)) local m = v-c local r,g,b if h < 60 then r,g,b = c,x,0 elseif h < 120 then r,g,b = x,c,0 elseif h < 180 then r,g,b = 0,c,x elseif h < 240 then r,g,b = 0,x,c elseif h < 300 then r,g,b = x,0,c else r,g,b = c,0,x end return Color3.fromRGB((r+m)*255, (g+m)*255, (b+m)*255) end local function trailLine() local l = Drawing.new("Line") l.Visible = false l.Color = S.trailSet.color l.Thickness = S.trailSet.width l.Transparency = 0.4 l.From = Vector2.new(0,0) l.To = Vector2.new(0,0) return l end local function trailAdd(wp, t) table.insert(S.trailPts, {line = nil, worldPos = wp, time = t}) while #S.trailPts > S.trailMax do local old = table.remove(S.trailPts, 1) if old.line then pcall(function() old.line:Remove() end) end end for i=2,#S.trailPts do if not S.trailPts[i].line then S.trailPts[i].line = trailLine() end end end local function trailTick() if not S.trailOn then for _,p in ipairs(S.trailPts) do if p.line then p.line.Visible = false end end return end local c = LocalPlayer.Character if not c then return end local rp = c:FindFirstChild("HumanoidRootPart") if not rp then return end local cam = workspace.CurrentCamera if not cam then return end local cp = rp.Position local ct = tick() if not S.lastTrailPos or (cp-S.lastTrailPos).Magnitude >= 3 then trailAdd(cp, ct) S.lastTrailPos = cp end for i=#S.trailPts,1,-1 do local pt = S.trailPts[i] local age = ct - pt.time if age > S.trailSet.life then if pt.line then pcall(function() pt.line:Remove() end) end table.remove(S.trailPts, i) else local life = 1-(age/S.trailSet.life) local alpha = 0.2+life*0.7 if pt.line and i > 1 then local pp = S.trailPts[i-1] local sp1, os1 = cam:WorldToViewportPoint(pp.worldPos) local sp2, os2 = cam:WorldToViewportPoint(pt.worldPos) if os1 and os2 and sp1.Z > 0 and sp2.Z > 0 then pt.line.Visible = true pt.line.From = Vector2.new(sp1.X, sp1.Y) pt.line.To = Vector2.new(sp2.X, sp2.Y) pt.line.Thickness = S.trailSet.width*life pt.line.Transparency = 1-alpha if S.trailSet.rainbow then pt.line.Color = hsv((ct*60+i*10)%360, 1, 1) else pt.line.Color = S.trailSet.color end else pt.line.Visible = false end end end end end local function togTrail(s) S.trailOn = s if s then S.lastTrailPos = nil for _,p in ipairs(S.trailPts) do if p.line then pcall(function() p.line:Remove() end) end end S.trailPts = {} if S.trailConn then S.trailConn:Disconnect() end S.trailConn = RunService.Heartbeat:Connect(trailTick) else if S.trailConn then S.trailConn:Disconnect() S.trailConn = nil end for _,p in ipairs(S.trailPts) do if p.line then pcall(function() p.line:Remove() end) end end S.trailPts = {} end end local function toggleBind(name, state) if name == "TP Walk" then togTP(state) elseif name == "BHop" then togBHop(state) elseif name == "Aimbot" then S.aimOn = state fovCircle.Visible = state elseif name == "Trigger Bot" then S.trgOn = state elseif name == "Anti-Aim" then togAA(state) elseif name == "Fullbright V2" then togFB2(state) elseif name == "Anti-Lag" then togAntiLag(state) elseif name == "ESP" then togEsp(state) end end RunService.RenderStepped:Connect(aimTick) RunService.RenderStepped:Connect(trgTick) RunService.RenderStepped:Connect(nrTick) RunService.RenderStepped:Connect(snowTick) RunService.RenderStepped:Connect(updGlow) RunService.Heartbeat:Connect(trailTick) LocalPlayer.CharacterAdded:Connect(function() emoStop() if S.noShakeOn then task.wait(0.5) togNoShake(true) end if S.headlessOn then task.wait(0.5) toggleHeadless(true) end if S.snowOn then snowInit() S.snowColored = false snowColor() end if S.trailOn then S.lastTrailPos = nil for _,p in ipairs(S.trailPts) do if p.line then pcall(function() p.line:Remove() end) end end S.trailPts = {} end end) local story = Tabs.Story:AddSection("Secret", "solar/key-bold") story:AddButton({ Title = "Extract Secret Code", Callback = extractCode }) local mv1 = Tabs.Movement:AddSection("TP Walk", "solar/running-bold") mv1:AddToggle("tpwalk", { Title = "TP Walk", Default = false, Callback = togTP }) mv1:AddSlider("tpd", { Title = "Speed", Default = 10, Min = 1, Max = 50, Rounding = 0, Callback = function(v) S.tpDist = v end }) local mv2 = Tabs.Movement:AddSection("Bunny Hop", "solar/rabbit-bold") mv2:AddToggle("bhop", { Title = "Bunny Hop", Default = false, Callback = togBHop }) local vs1 = Tabs.Visuals:AddSection("Lighting", "solar/sun-bold") vs1:AddToggle("fb", { Title = "Fullbright", Default = false, Callback = togFB }) vs1:AddToggle("fb2", { Title = "Fullbright V2 (PointLight)", Default = false, Callback = togFB2 }) vs1:AddSlider("fb2b", { Title = "FB2 Brightness", Default = 5, Min = 1, Max = 20, Rounding = 0, Callback = function(v) S.fb2Brightness = v end }) vs1:AddSlider("fb2r", { Title = "FB2 Range", Default = 30, Min = 5, Max = 120, Rounding = 0, Callback = function(v) S.fb2Range = v end }) vs1:AddToggle("nofog", { Title = "No Fog", Default = false, Callback = togNF }) local vs5 = Tabs.Visuals:AddSection("Skybox", "solar/cloud-bold") local skyList = {"Reset"} for name, _ in pairs(SKYBOXES) do table.insert(skyList, name) end table.sort(skyList) vs5:AddDropdown("skybox", { Title = "Select Sky", Values = skyList, Default = "Reset", Multi = false, Callback = function(v) applySkybox(v) end }) local vs6 = Tabs.Visuals:AddSection("Character", "solar/user-bold") vs6:AddToggle("headless", { Title = "Headless", Default = false, Callback = toggleHeadless }) local vs2 = Tabs.Visuals:AddSection("ESP", "solar/eye-bold") vs2:AddToggle("esp", { Title = "ESP", Default = false, Callback = togEsp }) vs2:AddToggle("espp", { Title = "Players", Default = true, Callback = function(s) S.espSet.players = s if S.espOn then clrEsp() for _,p in ipairs(Players:GetPlayers()) do mkEsp(p) end end end }) vs2:AddToggle("espn", { Title = "Names", Default = true, Callback = function(s) S.espSet.names = s if S.espOn then clrEsp() for _,p in ipairs(Players:GetPlayers()) do mkEsp(p) end end end }) vs2:AddToggle("espt", { Title = "Tracers", Default = true, Callback = function(s) S.espSet.tracers = s if S.espOn then clrEsp() for _,p in ipairs(Players:GetPlayers()) do mkEsp(p) end end end }) vs2:AddSlider("espd", { Title = "Distance", Default = 500, Min = 50, Max = 2000, Rounding = 0, Callback = function(v) S.espSet.dist = v end }) local vs3 = Tabs.Visuals:AddSection("Glow", "solar/stars-bold") vs3:AddToggle("glow", { Title = "Player Glow", Default = false, Callback = togGlow }) local cb1 = Tabs.Combat:AddSection("Aimbot", "solar/radar-bold") cb1:AddToggle("ab", { Title = "Aim Bot", Default = false, Callback = function(s) S.aimOn = s fovCircle.Visible = s end }) cb1:AddSlider("fov", { Title = "FOV", Default = 90, Min = 10, Max = 360, Rounding = 0, Callback = function(v) S.aimFov = v fovCircle.Radius = v end }) cb1:AddColorpicker("fovcolor", { Title = "FOV Color", Default = S.fovCol, Callback = function(v) S.fovCol = v fovCircle.Color = v end }) cb1:AddSlider("sm", { Title = "Smoothness", Default = 50, Min = 1, Max = 100, Rounding = 0, Callback = function(v) S.aimSmooth = v/100 end }) cb1:AddSlider("jt", { Title = "Jitter", Default = 2, Min = 0, Max = 20, Rounding = 0, Callback = function(v) S.aimJit = v*0.01 end }) cb1:AddToggle("wc", { Title = "Wall Check", Default = true, Callback = function(s) S.aimWall = s end }) cb1:AddDropdown("aimprio", { Title = "Priority", Values = {"Closest","Crosshair","Lowest HP"}, Default = "Closest", Multi = false, Callback = function(v) S.aimPriority = v end }) cb1:AddDropdown("aimpart", { Title = "Hit Part", Values = {"Head","HumanoidRootPart","UpperTorso","Torso"}, Default = "Head", Multi = false, Callback = function(v) S.aimPart = v end }) local cb2 = Tabs.Combat:AddSection("Trigger Bot", "solar/crosshair-bold") cb2:AddToggle("trigger", { Title = "Trigger Bot", Default = false, Callback = function(s) S.trgOn = s end }) cb2:AddSlider("trigdelay", { Title = "Delay", Default = 10, Min = 1, Max = 50, Rounding = 0, Suffix = "x0.01s", Callback = function(v) S.trgSet.delay = v/100 end }) cb2:AddSlider("trigdist", { Title = "Distance", Default = 300, Min = 50, Max = 500, Rounding = 0, Suffix = " studs", Callback = function(v) S.trgSet.dist = v end }) cb2:AddDropdown("trigpart", { Title = "Hit Part", Values = {"All Parts","Head","HumanoidRootPart","Torso","UpperTorso","LowerTorso","LeftArm","RightArm","LeftLeg","RightLeg"}, Default = "Head", Multi = false, Callback = function(v) S.trgSet.part = v end }) cb2:AddToggle("trigwall", { Title = "Wall Check", Default = true, Callback = function(s) S.trgSet.wall = s end }) local cb3 = Tabs.Combat:AddSection("Modifications", "solar/settings-bold") cb3:AddToggle("norecoil", { Title = "No Recoil", Default = false, Callback = function(s) S.nrOn = s if not s then S.nrFire = false end end }) cb3:AddSlider("nrsens", { Title = "Sensitivity", Default = 10, Min = 1, Max = 50, Rounding = 1, Callback = function(v) S.nrSens = v/10 end }) local aa1 = Tabs.AntiAim:AddSection("Anti-Aim", "solar/shield-bold") aa1:AddToggle("aa", { Title = "Anti-Aim (Spinbot)", Default = false, Callback = togAA }) aa1:AddToggle("ac", { Title = "Auto Crouch", Default = true, Callback = function(s) S.aaCrouch = s end }) aa1:AddSlider("ss", { Title = "Spin Speed", Default = 50, Min = 10, Max = 500, Rounding = 0, Callback = function(v) S.aaSpin = v end }) aa1:AddToggle("aajitter", { Title = "Jitter Mode", Default = false, Callback = function(s) S.aaJitterOn = s end }) aa1:AddSlider("aajitterspd", { Title = "Jitter Speed", Default = 8, Min = 1, Max = 30, Rounding = 0, Callback = function(v) S.aaJitterSpeed = v end }) aa1:AddToggle("noshake", { Title = "No Camera Bob / No Shake", Default = false, Callback = togNoShake }) local emoAllList = {"Stop"} for k, _ in pairs(EMOTES) do table.insert(emoAllList, k) end table.sort(emoAllList) local em1 = Tabs.Emotions:AddSection("Play", "solar/play-bold") em1:AddDropdown("emotion", { Title = "Emotion", Values = emoAllList, Default = "Stop", Multi = false, Callback = function(v) if v == "Stop" then emoStop() else emoPlay(v) end end }) local em2 = Tabs.Emotions:AddSection("Basic", "solar/star-bold") em2:AddButton({ Title = "Goal", Callback = function() emoPlay("Goal") end }) em2:AddButton({ Title = "Dance", Callback = function() emoPlay("Dance") end }) em2:AddButton({ Title = "Moonwalk", Callback = function() emoPlay("Moonwalk") end }) em2:AddButton({ Title = "Tara", Callback = function() emoPlay("Tara") end }) em2:AddButton({ Title = "Disko", Callback = function() emoPlay("Disko") end }) em2:AddButton({ Title = "Party", Callback = function() emoPlay("Party") end }) em2:AddButton({ Title = "Flute", Callback = function() emoPlay("Flute") end }) em2:AddButton({ Title = "Bang", Callback = function() emoPlay("Bang") end }) local em3 = Tabs.Emotions:AddSection("Dances", "solar/music-bold") em3:AddButton({ Title = "Spin Dance", Callback = function() emoPlay("SpinDance") end }) em3:AddButton({ Title = "Spin Dance 2", Callback = function() emoPlay("SpinDance2") end }) em3:AddButton({ Title = "Moving Dance", Callback = function() emoPlay("MovingDance") end }) em3:AddButton({ Title = "Dab", Callback = function() emoPlay("Dab") end }) em3:AddButton({ Title = "Bow Down", Callback = function() emoPlay("BowDown") end }) local em4 = Tabs.Emotions:AddSection("Combat", "solar/swords-bold") em4:AddButton({ Title = "Full Swing", Callback = function() emoPlay("FullSwing") end }) em4:AddButton({ Title = "Full Punch", Callback = function() emoPlay("FullPunch") end }) em4:AddButton({ Title = "Super Punch", Callback = function() emoPlay("SuperPunch") end }) em4:AddButton({ Title = "Sword Slam", Callback = function() emoPlay("SwordSlam") end }) em4:AddButton({ Title = "Loop Slam", Callback = function() emoPlay("LoopSlam") end }) em4:AddButton({ Title = "Sword Slice", Callback = function() emoPlay("SwordSlice") end }) em4:AddButton({ Title = "Arm Turbine", Callback = function() emoPlay("ArmTurbine") end }) em4:AddButton({ Title = "Insane Arms", Callback = function() emoPlay("InsaneArms") end }) local em5 = Tabs.Emotions:AddSection("Meme / Weird", "solar/ghost-bold") em5:AddButton({ Title = "Dino Walk", Callback = function() emoPlay("DinoWalk") end }) em5:AddButton({ Title = "Weird Move", Callback = function() emoPlay("WeirdMove") end }) em5:AddButton({ Title = "Clone Illusion", Callback = function() emoPlay("CloneIllusion") end }) em5:AddButton({ Title = "Barrel Roll", Callback = function() emoPlay("BarrelRoll") end }) em5:AddButton({ Title = "Mega Insane", Callback = function() emoPlay("MegaInsane") end }) em5:AddButton({ Title = "Insane", Callback = function() emoPlay("Insane") end }) em5:AddButton({ Title = "Scared", Callback = function() emoPlay("Scared") end }) local em6 = Tabs.Emotions:AddSection("Faint / Lie", "solar/moon-bold") em6:AddButton({ Title = "Faint", Callback = function() emoPlay("Faint") end }) em6:AddButton({ Title = "Floor Faint", Callback = function() emoPlay("FloorFaint") end }) em6:AddButton({ Title = "Super Faint", Callback = function() emoPlay("SuperFaint") end }) em6:AddButton({ Title = "Float Sit", Callback = function() emoPlay("FloatSit") end }) em6:AddButton({ Title = "Floor Crawl", Callback = function() emoPlay("FloorCrawl") end }) local em7 = Tabs.Emotions:AddSection("Float / Head", "solar/cloud-bold") em7:AddButton({ Title = "Levitate", Callback = function() emoPlay("Levitate") end }) em7:AddButton({ Title = "Glitch Levitate", Callback = function() emoPlay("GlitchLevitate") end }) em7:AddButton({ Title = "Floating Head", Callback = function() emoPlay("FloatingHead") end }) em7:AddButton({ Title = "Loop Head", Callback = function() emoPlay("LoopHead") end }) em7:AddButton({ Title = "Head Throw", Callback = function() emoPlay("HeadThrow") end }) em7:AddButton({ Title = "Arm Detach", Callback = function() emoPlay("ArmDetach") end }) local em8 = Tabs.Emotions:AddSection("Movement", "solar/running-bold") em8:AddButton({ Title = "Crouch", Callback = function() emoPlay("Crouch") end }) em8:AddButton({ Title = "Jumping Jacks", Callback = function() emoPlay("JumpingJacks") end }) em8:AddButton({ Title = "Spinner", Callback = function() emoPlay("Spinner") end }) em8:AddButton({ Title = "Hero Jump", Callback = function() emoPlay("HeroJump") end }) local em9 = Tabs.Emotions:AddSection("Control", "solar/stop-bold") em9:AddButton({ Title = "Stop Emotion", Callback = function() emoStop() end }) local ef1 = Tabs.Effects:AddSection("Snow", "solar/snow-bold") ef1:AddToggle("sn", { Title = "Snow", Default = false, Callback = togSnow }) ef1:AddSlider("snp", { Title = "Particles", Default = 80, Min = 20, Max = 200, Rounding = 0, Callback = function(v) S.snowMax = v if S.snowOn then snowInit() end end }) ef1:AddSlider("sns", { Title = "Size", Default = 3, Min = 1, Max = 8, Rounding = 0, Callback = function(v) S.snowSet.size = v if S.snowOn then snowInit() end end }) local ef2 = Tabs.Effects:AddSection("Trail", "solar/wind-bold") ef2:AddToggle("tr", { Title = "Glow Trail", Default = false, Callback = togTrail }) ef2:AddColorpicker("trc", { Title = "Trail Color", Default = S.trailSet.color, Callback = function(v) S.trailSet.color = v for _, p in ipairs(S.trailPts) do if p.line then pcall(function() p.line.Color = v end) end end end }) ef2:AddToggle("trr", { Title = "Rainbow", Default = false, Callback = function(s) S.trailSet.rainbow = s end }) ef2:AddSlider("trw", { Title = "Width", Default = 4, Min = 1, Max = 10, Rounding = 0, Callback = function(v) S.trailSet.width = v end }) ef2:AddSlider("trl", { Title = "Lifetime", Default = 15, Min = 5, Max = 50, Rounding = 0, Callback = function(v) S.trailSet.life = v / 10 end }) local ef4 = Tabs.Effects:AddSection("Screen Effects", "solar/monitor-bold") ef4:AddToggle("blur", { Title = "Screen Blur", Default = false, Callback = function(s) if s then if not S.blurEffect then S.blurEffect = Instance.new("BlurEffect") S.blurEffect.Size = 10 S.blurEffect.Parent = Lighting end else if S.blurEffect then S.blurEffect:Destroy() S.blurEffect = nil end end end }) ef4:AddSlider("bluramt", { Title = "Blur Amount", Default = 10, Min = 1, Max = 30, Rounding = 0, Callback = function(v) if S.blurEffect then S.blurEffect.Size = v end end }) ef4:AddToggle("cc", { Title = "Color Correction", Default = false, Callback = function(s) if s then if not S.ccEffect then S.ccEffect = Instance.new("ColorCorrectionEffect") S.ccEffect.Saturation = 0.3 S.ccEffect.Contrast = 0.1 S.ccEffect.Parent = Lighting end else if S.ccEffect then S.ccEffect:Destroy() S.ccEffect = nil end end end }) ef4:AddSlider("ccsat", { Title = "Saturation", Default = 30, Min = 0, Max = 100, Rounding = 0, Callback = function(v) if S.ccEffect then S.ccEffect.Saturation = v / 100 end end }) ef4:AddSlider("cccon", { Title = "Contrast", Default = 10, Min = 0, Max = 100, Rounding = 0, Callback = function(v) if S.ccEffect then S.ccEffect.Contrast = v / 100 end end }) local st1 = Tabs.Settings:AddSection("Theme", "solar/palette-bold") st1:AddDropdown("theme", { Title = "Theme", Values = {"AMOLED","Ash Gray","Blood Red","Cyanic","Amber Glow","Deep Violet","Neon Cyber","Neon Purple","Royal Blue","Deep Ocean","RGB","Orange","Charcoal","Pearl White","Midnight Blue","Galaxy Purple","Cosmic Violet","Cotton Candy"}, Default = "AMOLED", Multi = false, Callback = function(v) Fluent:SetTheme(v) end }) local st2 = Tabs.Settings:AddSection("Network", "solar/wifi-bold") st2:AddButton({ Title = "Server Hop", Callback = serverHop }) local st3 = Tabs.Settings:AddSection("Performance", "solar/flash-bold") st3:AddToggle("antilag", { Title = "Anti-Lag / Boost FPS / Low Graphics", Default = false, Callback = togAntiLag }) local bindTab = Tabs.Settings:AddSection("Binds", "solar/keyboard-bold") local function addBind(name, defaultKey) S.bindList[name] = defaultKey local safeId = "bind_" .. tostring(name):gsub("%s+", "_") local ok, el = pcall(function() return Tabs.Settings:AddInput(safeId, { Title = name .. " Key", Default = defaultKey.Name, Placeholder = "KeyCode", Finished = true, Callback = function(text) local ok2, key = pcall(function() return Enum.KeyCode[text:upper()] end) if ok2 and key then S.bindList[name] = key Fluent:Notify({Title = "Bind", Content = name .. " set to " .. key.Name, Duration = 2}) end end }) end) if not ok then warn("[TrashHub] addBind failed for " .. name .. ": " .. tostring(el)) else S.bindTexts[name] = el end end addBind("TP Walk", Enum.KeyCode.Z) addBind("BHop", Enum.KeyCode.X) addBind("Aimbot", Enum.KeyCode.C) addBind("Trigger Bot", Enum.KeyCode.V) addBind("Anti-Aim", Enum.KeyCode.B) addBind("Fullbright V2", Enum.KeyCode.F) addBind("Anti-Lag", Enum.KeyCode.G) addBind("ESP", Enum.KeyCode.N) UIS.InputBegan:Connect(function(input, gpe) if gpe then return end for name, keyCode in pairs(S.bindList) do if keyCode and typeof(keyCode) == "EnumItem" and input.KeyCode == keyCode then local currentState = false if name == "TP Walk" then currentState = S.tpOn elseif name == "BHop" then currentState = S.bhopOn elseif name == "Aimbot" then currentState = S.aimOn elseif name == "Trigger Bot" then currentState = S.trgOn elseif name == "Anti-Aim" then currentState = S.aaOn elseif name == "Fullbright V2" then currentState = S.fb2On elseif name == "Anti-Lag" then currentState = S.alOn elseif name == "ESP" then currentState = S.espOn end toggleBind(name, not currentState) end end end) Fluent:Notify({ Title = "TrashHub", Content = "Loaded", Duration = 5 }) print("TrashHub loaded!") if S.inputConn1 then S.inputConn1:Disconnect() end if S.inputConn2 then S.inputConn2:Disconnect() end local function closeSplash() TweenService:Create(dim, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { BackgroundTransparency = 1 }):Play() for _, obj in ipairs(center:GetDescendants()) do if obj:IsA("TextLabel") then pcall(function() TweenService:Create(obj, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { TextTransparency = 1 }):Play() end) end if obj:IsA("Frame") then pcall(function() TweenService:Create(obj, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { BackgroundTransparency = 1 }):Play() end) end end task.spawn(function() for i = 24, 0, -2 do if not blur.Parent then return end blur.Size = i task.wait(0.03) end blur:Destroy() end) task.wait(0.6) splashGui:Destroy() end closeSplash() local function createWatermark() local gui = Instance.new("ScreenGui") gui.Name = "TH_Watermark_" .. tostring(math.random(1000, 9999)) gui.ResetOnSpawn = false gui.DisplayOrder = 999999 if gethui then local ok, hui = pcall(gethui) gui.Parent = ok and hui or game:GetService("CoreGui") else gui.Parent = game:GetService("CoreGui") end local main = Instance.new("Frame") main.Size = UDim2.fromOffset(320, 55) main.Position = UDim2.fromOffset(-400, 20) main.BackgroundColor3 = Color3.fromRGB(10, 10, 12) main.BackgroundTransparency = 0.2 main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = gui local stroke = Instance.new("UIStroke") stroke.Thickness = 1 stroke.Color = Color3.fromRGB(168, 110, 246) stroke.Transparency = 0.2 stroke.Parent = main local bgGrad = Instance.new("UIGradient") bgGrad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 15, 30)), ColorSequenceKeypoint.new(1, Color3.fromRGB(10, 10, 12))} bgGrad.Rotation = 45 bgGrad.Parent = main local glow = Instance.new("UIShadow") glow.BlurRadius = UDim.new(0, 10) glow.Color = Color3.fromRGB(168, 110, 246) glow.Transparency = 0.7 glow.ZIndex = -1 glow.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 22) title.Position = UDim2.new(0, 0, 0, 6) title.BackgroundTransparency = 1 title.Text = "" title.Font = Enum.Font.GothamBlack title.TextSize = 16 title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextXAlignment = Enum.TextXAlignment.Center title.Parent = main local titleGrad = Instance.new("UIGradient") titleGrad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 80, 180)), ColorSequenceKeypoint.new(0.33, Color3.fromRGB(180, 100, 255)), ColorSequenceKeypoint.new(0.66, Color3.fromRGB(80, 200, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 80, 180))} titleGrad.Parent = title local divider = Instance.new("Frame") divider.Size = UDim2.new(1, -20, 0, 1) divider.Position = UDim2.new(0, 10, 0, 29) divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider.BackgroundTransparency = 0.8 divider.Parent = main local dataHolder = Instance.new("Frame") dataHolder.Size = UDim2.new(1, -20, 0, 18) dataHolder.Position = UDim2.new(0, 10, 0, 32) dataHolder.BackgroundTransparency = 1 dataHolder.Parent = main local dataLayout = Instance.new("UIListLayout") dataLayout.FillDirection = Enum.FillDirection.Horizontal dataLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center dataLayout.VerticalAlignment = Enum.VerticalAlignment.Center dataLayout.Parent = dataHolder local function createItem(order, defText) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.fromOffset(0, 18) lbl.AutomaticSize = Enum.AutomaticSize.X lbl.BackgroundTransparency = 1 lbl.Text = defText lbl.Font = Enum.Font.GothamMedium lbl.TextSize = 12 lbl.TextColor3 = Color3.fromRGB(220, 220, 230) lbl.TextTransparency = 1 lbl.LayoutOrder = order lbl.Parent = dataHolder local pad = Instance.new("UIPadding") pad.PaddingLeft = UDim.new(0, 8) pad.PaddingRight = UDim.new(0, 8) pad.Parent = lbl return lbl end local function createSep(order) local s = Instance.new("Frame") s.Size = UDim2.fromOffset(1, 10) s.BackgroundColor3 = Color3.fromRGB(168, 110, 246) s.BackgroundTransparency = 1 s.LayoutOrder = order s.Parent = dataHolder return s end local playerLbl = createItem(1, LocalPlayer.Name:sub(1, 10)) local s1 = createSep(2) local fpsLbl = createItem(3, "0 fps") local s2 = createSep(4) local pingLbl = createItem(5, "0ms") local s3 = createSep(6) local execLbl = createItem(7, "Unknown") local execName = "Unknown" local ok, name = pcall(function() return identifyexecutor and identifyexecutor() end) if ok and name then execName = name:gsub(" %(%*%)", ""):gsub(" v?[%d%.]+$", "") if #execName > 12 then execName = execName:sub(1, 12) .. ".." end end execLbl.Text = execName task.spawn(function() local t = 0 while main.Parent do t = t + task.wait() titleGrad.Rotation = (t * 30) % 360 local pulse = (math.sin(t * 2) + 1) / 2 glow.Transparency = 0.7 - (pulse * 0.2) end end) task.spawn(function() task.wait(0.5) local fullText = "TRASH HUB" for i = 1, #fullText do title.Text = fullText:sub(1, i) task.wait(0.05) end end) task.spawn(function() task.wait(0.8) TweenService:Create(s1, TweenInfo.new(0.3), {BackgroundTransparency = 0.6}):Play() TweenService:Create(playerLbl, TweenInfo.new(0.3), {TextTransparency = 0}):Play() task.wait(0.1) TweenService:Create(fpsLbl, TweenInfo.new(0.3), {TextTransparency = 0}):Play() TweenService:Create(s2, TweenInfo.new(0.3), {BackgroundTransparency = 0.6}):Play() task.wait(0.1) TweenService:Create(pingLbl, TweenInfo.new(0.3), {TextTransparency = 0}):Play() TweenService:Create(s3, TweenInfo.new(0.3), {BackgroundTransparency = 0.6}):Play() task.wait(0.1) TweenService:Create(execLbl, TweenInfo.new(0.3), {TextTransparency = 0}):Play() task.spawn(function() local fpsHistory = {} while main.Parent do local dt = RunService.RenderStepped:Wait() table.insert(fpsHistory, 1 / dt) if #fpsHistory > 30 then table.remove(fpsHistory, 1) end local sum = 0 for _, v in ipairs(fpsHistory) do sum = sum + v end fpsLbl.Text = tostring(math.floor(sum / #fpsHistory)) .. " fps" end end) task.spawn(function() while main.Parent do task.wait(1) local pOk, pVal = pcall(function() return Stats.Network.ServerStatsItem["Data Ping"]:GetValue() end) pingLbl.Text = (pOk and math.floor(pVal) or 0) .. "ms" end end) end) main.MouseEnter:Connect(function() TweenService:Create(main, TweenInfo.new(0.2), {Size = UDim2.fromOffset(325, 58)}):Play() TweenService:Create(glow, TweenInfo.new(0.2), {Transparency = 0.3}):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 0}):Play() end) main.MouseLeave:Connect(function() TweenService:Create(main, TweenInfo.new(0.2), {Size = UDim2.fromOffset(320, 55)}):Play() TweenService:Create(glow, TweenInfo.new(0.2), {Transparency = 0.7}):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 0.2}):Play() end) main.BackgroundTransparency = 1 task.wait(0.1) TweenService:Create(main, TweenInfo.new(0.6, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Position = UDim2.fromOffset(20, 20), BackgroundTransparency = 0.2}):Play() end local function createNeonButton() local sg = Instance.new("ScreenGui") sg.Name = "NeonUI" sg.ResetOnSpawn = false sg.IgnoreGuiInset = true sg.DisplayOrder = 999 sg.Parent = game:GetService("CoreGui") local container = Instance.new("Frame") container.Size = UDim2.new(0, 54, 0, 54) container.Position = UDim2.new(0.85, 0, 0.06, 0) container.BackgroundTransparency = 1 container.Parent = sg local border = Instance.new("Frame", container) border.Size = UDim2.new(1, 0, 1, 0) border.Position = UDim2.new(0.5, 0, 0.5, 0) border.AnchorPoint = Vector2.new(0.5, 0.5) border.BorderSizePixel = 0 local bCorner = Instance.new("UICorner", border) bCorner.CornerRadius = UDim.new(0, 16) local borderGrad = Instance.new("UIGradient", border) borderGrad.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 80, 255)), ColorSequenceKeypoint.new(0.3, Color3.fromRGB(220, 150, 255)), ColorSequenceKeypoint.new(0.7, Color3.fromRGB(100, 40, 200)), ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 80, 255))}) borderGrad.Rotation = 45 local btn = Instance.new("TextButton", container) btn.Size = UDim2.new(1, -4, 1, -4) btn.Position = UDim2.new(0.5, 0, 0.5, 0) btn.AnchorPoint = Vector2.new(0.5, 0.5) btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) btn.Text = "" btn.AutoButtonColor = false btn.ClipsDescendants = true local corner = Instance.new("UICorner", btn) corner.CornerRadius = UDim.new(0, 14) local btnGrad = Instance.new("UIGradient", btn) btnGrad.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 25)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(40, 25, 60)), ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 25))}) btnGrad.Rotation = 45 local icon = Instance.new("Frame", btn) icon.Size = UDim2.new(0, 20, 0, 16) icon.Position = UDim2.new(0.5, -10, 0.5, -8) icon.BackgroundTransparency = 1 local lines = {} for i = 1, 3 do local l = Instance.new("Frame", icon) l.Size = UDim2.new(1, 0, 0, 2) l.Position = UDim2.new(0, 0, 0, (i - 1) * 6) l.BackgroundColor3 = Color3.fromRGB(220, 180, 255) l.BorderSizePixel = 0 local lc = Instance.new("UICorner", l) lc.CornerRadius = UDim.new(1, 0) table.insert(lines, l) end local offset = 0 RunService.RenderStepped:Connect(function(dt) offset = offset - dt * 0.4 if offset < -1 then offset = 1 end borderGrad.Offset = Vector2.new(offset, 0) btnGrad.Offset = Vector2.new(-offset, 0) end) local breathTween = TweenService:Create(container, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {Size = UDim2.new(0, 56, 0, 56)}) breathTween:Play() local drag, moved = false, false local startInput, startPos = nil, nil local targetTilt, currentTilt = 0, 0 local lastMousePos = Vector2.new(0, 0) local function animPress() breathTween:Cancel() TweenService:Create(container, TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size = UDim2.new(0, 46, 0, 46)}):Play() for i, l in ipairs(lines) do TweenService:Create(l, TweenInfo.new(0.15, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Position = UDim2.new(0.1, 0, 0, (i - 1) * 6 + 1), Size = UDim2.new(0.8, 0, 0, 2)}):Play() end end local function animRelease() TweenService:Create(container, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0, 54, 0, 54)}):Play() for i, l in ipairs(lines) do TweenService:Create(l, TweenInfo.new(0.4, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {Position = UDim2.new(0, 0, 0, (i - 1) * 6), Size = UDim2.new(1, 0, 0, 2)}):Play() end task.delay(0.35, function() if not drag then breathTween:Play() end end) end btn.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then drag, moved = true, false startInput, startPos = i.Position, container.Position lastMousePos = i.Position targetTilt = 0 animPress() end end) UIS.InputChanged:Connect(function(i) if drag and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then local d = i.Position - startInput if math.abs(d.X) > 3 or math.abs(d.Y) > 3 then moved = true end container.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) local moveDelta = i.Position - lastMousePos targetTilt = math.clamp(moveDelta.X * 1.5, -20, 20) lastMousePos = i.Position end end) UIS.InputEnded:Connect(function(i) if (i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch) and drag then drag = false targetTilt = 0 if not moved then local rip = Instance.new("Frame", btn) rip.Size = UDim2.new(0, 0, 0, 0) rip.Position = UDim2.new(0.5, 0, 0.5, 0) rip.BackgroundColor3 = Color3.fromRGB(255, 255, 255) rip.BackgroundTransparency = 0.7 rip.BorderSizePixel = 0 rip.ZIndex = 9 local rc = Instance.new("UICorner", rip) rc.CornerRadius = UDim.new(1, 0) TweenService:Create(rip, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size = UDim2.new(1.5, 0, 1.5, 0), Position = UDim2.new(-0.25, 0, -0.25, 0), BackgroundTransparency = 1}):Play() task.delay(0.4, function() rip:Destroy() end) if Fluent and Fluent.Window and Fluent.Window.Minimize then pcall(function() Fluent.Window:Minimize() end) end end animRelease() end end) RunService.RenderStepped:Connect(function() currentTilt = currentTilt + (targetTilt - currentTilt) * 0.15 if math.abs(currentTilt) > 0.1 or math.abs(targetTilt) > 0.1 then container.Rotation = currentTilt elseif container.Rotation ~= 0 then container.Rotation = 0 end end) end createWatermark() createNeonButton()