Advertisements

20 views1 run
Universal Script
Quick Actions
Description
idk its easy figure it out bro
Advertisements
Features
3 Features
- Fly
- Speed
- Infinite Jump
2100 lines•41317 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/5QCH8GN6?v=1"))()end);--=== Does not affect the script ===----========================================================-- EXPLOIT LAB--- Made by Cain-- Scripted by GPT + Cain-- LocalScript: StarterPlayer > StarterPlayerScripts--========================================================local Players = game:GetService("Players")local UIS = game:GetService("UserInputService")local RunService = game:GetService("RunService")local TweenService = game:GetService("TweenService")local Lighting = game:GetService("Lighting")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local oldGui = playerGui:FindFirstChild("NexusHub")if oldGui then oldGui:Destroy() end-- THEMElocal PURPLE = Color3.fromRGB(160, 70, 255)local NEON = Color3.fromRGB(207, 150, 255)local BG = Color3.fromRGB(15, 10, 27)local PANEL = Color3.fromRGB(28, 19, 45)local CARD = Color3.fromRGB(39, 26, 61)local WHITE = Color3.fromRGB(245, 237, 255)local MUTED = Color3.fromRGB(174, 155, 201)local GREEN = Color3.fromRGB(110, 255, 177)local function make(class, props, parent) local obj = Instance.new(class) for k, v in pairs(props or {}) do obj[k] = v end obj.Parent = parent return objendlocal function round(obj, radius) make("UICorner", { CornerRadius = UDim.new(0, radius or 10) }, obj)endlocal function stroke(obj, color, thickness) make("UIStroke", { Color = color or PURPLE, Thickness = thickness or 1, Transparency = 0.2 }, obj)end-- ROOT GUIlocal gui = make("ScreenGui", { Name = "NexusHub", ResetOnSpawn = false, DisplayOrder = 10}, playerGui)local main = make("Frame", { Name = "Main", AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.5), Size = UDim2.new(0.92, 0, 0.82, 0), BackgroundColor3 = BG, BorderSizePixel = 0, Active = true}, gui)make("UISizeConstraint", { MinSize = Vector2.new(320, 360), MaxSize = Vector2.new(760, 570)}, main)round(main, 16)stroke(main, PURPLE, 2)-- HEADERlocal header = make("Frame", { Size = UDim2.new(1, 0, 0, 66), BackgroundColor3 = PANEL, BorderSizePixel = 0, Active = true}, main)round(header, 14)make("TextLabel", { Position = UDim2.fromOffset(18, 8), Size = UDim2.new(0.75, 0, 0, 28), BackgroundTransparency = 1, Text = "EXPLOIT LAB-", TextColor3 = NEON, TextSize = 23, Font = Enum.Font.GothamBold, TextXAlignment = Enum.TextXAlignment.Left}, header)make("TextLabel", { Position = UDim2.fromOffset(20, 36), Size = UDim2.new(0.75, 0, 0, 18), BackgroundTransparency = 1, Text = "NEXUS CLIENT / BUILD 1.2", TextColor3 = MUTED, TextSize = 10, Font = Enum.Font.Code, TextXAlignment = Enum.TextXAlignment.Left}, header)local close = make("TextButton", { AnchorPoint = Vector2.new(1, 0.5), Position = UDim2.new(1, -12, 0.5, 0), Size = UDim2.fromOffset(34, 34), BackgroundColor3 = Color3.fromRGB(72, 30, 94), Text = "×", TextColor3 = WHITE, TextSize = 24, Font = Enum.Font.GothamBold}, header)round(close, 9)-- DRAG WINDOWlocal dragging, dragStart, startPos, dragInputheader.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false dragInput = nil end end) endend)header.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input endend)UIS.InputChanged:Connect(function(input) if dragging and input == dragInput then local delta = input.Position - dragStart main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) endend)-- TABSlocal tabBar = make("Frame", { Position = UDim2.fromOffset(12, 76), Size = UDim2.new(1, -24, 0, 38), BackgroundTransparency = 1}, main)make("UIListLayout", { FillDirection = Enum.FillDirection.Horizontal, Padding = UDim.new(0, 5), SortOrder = Enum.SortOrder.LayoutOrder}, tabBar)local content = make("ScrollingFrame", { Name = "Content", Position = UDim2.fromOffset(12, 122), Size = UDim2.new(1, -24, 1, -252), BackgroundTransparency = 1, BorderSizePixel = 0, ScrollBarThickness = 3, ScrollBarImageColor3 = PURPLE, AutomaticCanvasSize = Enum.AutomaticSize.Y, CanvasSize = UDim2.new()}, main)make("UIPadding", { PaddingTop = UDim.new(0, 4), PaddingBottom = UDim.new(0, 10), PaddingLeft = UDim.new(0, 2), PaddingRight = UDim.new(0, 2)}, content)make("UIGridLayout", { CellSize = UDim2.new(0.5, -7, 0, 82), CellPadding = UDim2.fromOffset(10, 10), SortOrder = Enum.SortOrder.LayoutOrder}, content)-- CONSOLElocal console = make("Frame", { Position = UDim2.new(0, 12, 1, -120), Size = UDim2.new(1, -24, 0, 108), BackgroundColor3 = Color3.fromRGB(10, 8, 18), BorderSizePixel = 0}, main)round(console, 10)stroke(console, Color3.fromRGB(91, 48, 132), 1)make("TextLabel", { Position = UDim2.fromOffset(10, 5), Size = UDim2.new(1, -20, 0, 20), BackgroundTransparency = 1, Text = "EXPLOIT LAB- // CONSOLE", TextColor3 = NEON, TextSize = 11, Font = Enum.Font.Code, TextXAlignment = Enum.TextXAlignment.Left}, console)local logLabel = make("TextLabel", { Position = UDim2.fromOffset(10, 27), Size = UDim2.new(1, -20, 1, -33), BackgroundTransparency = 1, Text = "", TextColor3 = GREEN, TextSize = 11, Font = Enum.Font.Code, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Top, TextWrapped = true}, console)local logs = {}local active = {}local function log(message) table.insert(logs, 1, "> " .. message) while #logs > 4 do table.remove(logs) end logLabel.Text = table.concat(logs, "\n")end-- PLAYER ESP (for this experience's visual testing)local espObjects = {}local espPlayerConnections = {}local function removeESPForCharacter(character) local objects = espObjects[character] if not objects then return end for _, object in ipairs(objects) do if object and object.Parent then object:Destroy() end end espObjects[character] = nilendlocal function addESPForPlayer(targetPlayer) if not active.ESP or targetPlayer == player then return end local character = targetPlayer.Character if not character or not character.Parent or espObjects[character] then return end local humanoid = character:FindFirstChildOfClass("Humanoid") local adornee = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Head") if not humanoid or not adornee then return end local objects = {} local highlight = Instance.new("Highlight") highlight.Name = "ExploitLabESPHighlight" highlight.Adornee = character highlight.FillColor = Color3.fromRGB(160, 70, 255) highlight.OutlineColor = Color3.fromRGB(207, 150, 255) highlight.FillTransparency = 0.78 highlight.OutlineTransparency = 0.05 highlight.DepthMode = Enum.HighlightDepthMode.Occluded highlight.Parent = character table.insert(objects, highlight) local billboard = Instance.new("BillboardGui") billboard.Name = "ExploitLabESPName" billboard.Adornee = adornee billboard.Size = UDim2.fromOffset(180, 28) billboard.StudsOffset = Vector3.new(0, 3.2, 0) billboard.AlwaysOnTop = false billboard.MaxDistance = 500 billboard.Parent = playerGui table.insert(objects, billboard) local nameLabel = Instance.new("TextLabel") nameLabel.Name = "PlayerName" nameLabel.Size = UDim2.fromScale(1, 1) nameLabel.BackgroundTransparency = 1 nameLabel.Text = targetPlayer.DisplayName .. " (@" .. targetPlayer.Name .. ")" nameLabel.TextColor3 = Color3.fromRGB(230, 205, 255) nameLabel.TextStrokeColor3 = Color3.fromRGB(20, 10, 30) nameLabel.TextStrokeTransparency = 0.15 nameLabel.TextScaled = true nameLabel.Font = Enum.Font.GothamBold nameLabel.Parent = billboard espObjects[character] = objectsendlocal function clearESP() for character in pairs(espObjects) do removeESPForCharacter(character) endendlocal function refreshESP() clearESP() if not active.ESP then return end for _, targetPlayer in ipairs(Players:GetPlayers()) do addESPForPlayer(targetPlayer) endendlocal function setESP(enabled) active.ESP = enabled refreshESP()endfor _, targetPlayer in ipairs(Players:GetPlayers()) do espPlayerConnections[targetPlayer] = targetPlayer.CharacterAdded:Connect(function() task.wait(0.25) if active.ESP then addESPForPlayer(targetPlayer) end end)endPlayers.PlayerAdded:Connect(function(targetPlayer) espPlayerConnections[targetPlayer] = targetPlayer.CharacterAdded:Connect(function() task.wait(0.25) if active.ESP then addESPForPlayer(targetPlayer) end end) if active.ESP then targetPlayer.CharacterAdded:Wait() task.wait(0.25) addESPForPlayer(targetPlayer) endend)Players.PlayerRemoving:Connect(function(targetPlayer) if espPlayerConnections[targetPlayer] then espPlayerConnections[targetPlayer]:Disconnect() espPlayerConnections[targetPlayer] = nil end if targetPlayer.Character then removeESPForCharacter(targetPlayer.Character) endend)-- PLAYER HIGHLIGHT (separate from ESP; for this experience's visual testing)local playerHighlights = {}local highlightCharacterConnections = {}local function removePlayerHighlight(character) local highlight = playerHighlights[character] if highlight then highlight:Destroy() playerHighlights[character] = nil endendlocal function addPlayerHighlight(targetPlayer) if not active.Highlight or targetPlayer == player then return end local character = targetPlayer.Character if not character or not character.Parent or playerHighlights[character] then return end local highlight = Instance.new("Highlight") highlight.Name = "ExploitLabPlayerHighlight" highlight.Adornee = character highlight.FillColor = Color3.fromRGB(160, 70, 255) highlight.OutlineColor = Color3.fromRGB(207, 150, 255) highlight.FillTransparency = 0.9 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.Occluded highlight.Parent = character playerHighlights[character] = highlightendlocal function clearPlayerHighlights() for character in pairs(playerHighlights) do removePlayerHighlight(character) endendlocal function setPlayerHighlight(enabled) active.Highlight = enabled clearPlayerHighlights() if enabled then for _, targetPlayer in ipairs(Players:GetPlayers()) do addPlayerHighlight(targetPlayer) end endendlocal function watchHighlightPlayer(targetPlayer) if highlightCharacterConnections[targetPlayer] then highlightCharacterConnections[targetPlayer]:Disconnect() end highlightCharacterConnections[targetPlayer] = targetPlayer.CharacterAdded:Connect(function() task.wait(0.25) if active.Highlight then addPlayerHighlight(targetPlayer) end end)endfor _, targetPlayer in ipairs(Players:GetPlayers()) do watchHighlightPlayer(targetPlayer)endPlayers.PlayerAdded:Connect(function(targetPlayer) watchHighlightPlayer(targetPlayer) task.defer(function() if active.Highlight then targetPlayer.CharacterAdded:Wait() task.wait(0.25) addPlayerHighlight(targetPlayer) end end)end)Players.PlayerRemoving:Connect(function(targetPlayer) local connection = highlightCharacterConnections[targetPlayer] if connection then connection:Disconnect() end highlightCharacterConnections[targetPlayer] = nil if targetPlayer.Character then removePlayerHighlight(targetPlayer.Character) endend)-- FLIGHTlocal flightConnectionlocal flightAttachmentlocal flightVelocitylocal flightOrientationlocal flightHumanoidlocal flightRootlocal flightSpeed = 60local function stopFlight() if flightConnection then flightConnection:Disconnect() flightConnection = nil end if flightVelocity then flightVelocity:Destroy() flightVelocity = nil end if flightOrientation then flightOrientation:Destroy() flightOrientation = nil end if flightAttachment then flightAttachment:Destroy() flightAttachment = nil end if flightHumanoid and flightHumanoid.Parent then flightHumanoid.PlatformStand = false flightHumanoid.AutoRotate = true if flightHumanoid.Health > 0 then flightHumanoid:ChangeState( Enum.HumanoidStateType.GettingUp ) end end flightHumanoid, flightRoot = nil, nil active.Fly = falseendlocal function startFlight() local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") if not hum or not root or hum.Health <= 0 then log("Flight failed: character unavailable.") return false end stopFlight() flightHumanoid, flightRoot = hum, root flightAttachment = Instance.new("Attachment") flightAttachment.Name = "LabFlightAttachment" flightAttachment.Parent = root flightVelocity = Instance.new("LinearVelocity") flightVelocity.Attachment0 = flightAttachment flightVelocity.RelativeTo = Enum.ActuatorRelativeTo.World flightVelocity.VelocityConstraintMode = Enum.VelocityConstraintMode.Vector flightVelocity.ForceLimitsEnabled = false flightVelocity.VectorVelocity = Vector3.zero flightVelocity.Parent = root flightOrientation = Instance.new("AlignOrientation") flightOrientation.Mode = Enum.OrientationAlignmentMode.OneAttachment flightOrientation.Attachment0 = flightAttachment flightOrientation.Responsiveness = 15 flightOrientation.MaxTorque = 1000000 flightOrientation.Parent = root hum.AutoRotate = false hum.PlatformStand = true active.Fly = true flightConnection = RunService.RenderStepped:Connect(function() if not flightRoot or not flightRoot.Parent or not flightHumanoid or flightHumanoid.Health <= 0 then stopFlight() log("Flight stopped.") renderPage(selectedTab) return end local camera = workspace.CurrentCamera if not camera then return end local look = camera.CFrame.LookVector local right = camera.CFrame.RightVector local dir = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then dir += look end if UIS:IsKeyDown(Enum.KeyCode.S) then dir -= look end if UIS:IsKeyDown(Enum.KeyCode.D) then dir += right end if UIS:IsKeyDown(Enum.KeyCode.A) then dir -= right end if UIS:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.yAxis end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.yAxis end flightVelocity.VectorVelocity = dir.Magnitude > 0 and dir.Unit * flightSpeed or Vector3.zero local flatLook = Vector3.new(look.X, 0, look.Z) if flatLook.Magnitude > 0.01 then flightOrientation.CFrame = CFrame.lookAt(Vector3.zero, flatLook.Unit) end end) log("FLY- ACTIVE") return trueend-- SPEED MULTIPLIERlocal speedOptions = {1.5, 2, 3}local speedIndex = 0local originalSpeedlocal speedHumanoidlocal function disableSpeed() if speedHumanoid and speedHumanoid.Parent and originalSpeed then speedHumanoid.WalkSpeed = originalSpeed end speedHumanoid = nil originalSpeed = nil speedIndex = 0 active.Speed = falseendlocal function cycleSpeed() local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then log("Speed failed: character unavailable.") return end if speedHumanoid and speedHumanoid ~= hum then disableSpeed() end if speedIndex == 0 then speedHumanoid = hum originalSpeed = hum.WalkSpeed speedIndex = 1 elseif speedIndex < #speedOptions then speedIndex += 1 else disableSpeed() log("SPEED- OFF") return end hum.WalkSpeed = originalSpeed * speedOptions[speedIndex] active.Speed = true log("SPEED- " .. speedOptions[speedIndex] .. "x")end-- JUMP MULTIPLIERlocal jumpOptions = {1.5, 2, 3}local jumpIndex = 0local originalJumplocal jumpHumanoidlocal jumpPropertylocal function disableJump() if jumpHumanoid and jumpHumanoid.Parent and originalJump ~= nil and jumpProperty then jumpHumanoid[jumpProperty] = originalJump end jumpHumanoid = nil originalJump = nil jumpProperty = nil jumpIndex = 0 active.Jump = falseendlocal function cycleJump() local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then log("Jump failed: character unavailable.") return end if jumpHumanoid and jumpHumanoid ~= hum then disableJump() end if jumpIndex == 0 then jumpHumanoid = hum jumpProperty = hum.UseJumpPower and "JumpPower" or "JumpHeight" originalJump = hum[jumpProperty] jumpIndex = 1 elseif jumpIndex < #jumpOptions then jumpIndex += 1 else disableJump() log("JUMP- OFF") return end hum[jumpProperty] = originalJump * jumpOptions[jumpIndex] active.Jump = true log("JUMP- " .. jumpOptions[jumpIndex] .. "x")end-- NOCLIP: SAVE AND RESTORE COLLISION FLAGSlocal noclipConnectionlocal savedCollisions = {}local noclipCharacterlocal function restoreCollisions() if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end for part, wasCollidable in pairs(savedCollisions) do if part and part.Parent then part.CanCollide = wasCollidable end end table.clear(savedCollisions) noclipCharacter = nil active.Noclip = falseendlocal function startNoclip() local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if not char or not hum or hum.Health <= 0 then log("Noclip failed: character unavailable.") return false end restoreCollisions() noclipCharacter = char local function disablePartCollision(part) if not part:IsA("BasePart") then return end if savedCollisions[part] == nil then savedCollisions[part] = part.CanCollide end part.CanCollide = false end for _, part in ipairs(char:GetDescendants()) do disablePartCollision(part) end -- Handle accessories and body parts added while active. noclipConnection = RunService.Stepped:Connect(function() if player.Character ~= noclipCharacter or not noclipCharacter.Parent or hum.Health <= 0 then restoreCollisions() log("Noclip stopped.") renderPage(selectedTab) return end for _, part in ipairs(noclipCharacter:GetDescendants()) do disablePartCollision(part) end end) active.Noclip = true log("NOCLIP- ACTIVE") return trueendlocal function toggleNoclip() if active.Noclip then restoreCollisions() log("NOCLIP- DISABLED") else startNoclip() endend-- CHARACTER ANIMATION CONTROLS-- These modify the character's Animate script in this experience.local walkAnimationIndex = 0local jumpAnimationIndex = 0local originalAnimationIds = {}local animationCharacterlocal walkAnimationOptions = { {name = "Default", walk = nil, run = nil}, {name = "Stylish", walk = "rbxassetid://616168032", run = "rbxassetid://616163682"},}local jumpAnimationOptions = { {name = "Default", id = nil}, {name = "Stylish", id = "rbxassetid://616161997"},}local function getAnimateScript() local character = player.Character if not character then return nil end local animate = character:FindFirstChild("Animate") if animate and (animate:IsA("LocalScript") or animate:IsA("Script")) then return animate end return nilendlocal function findAnimation(animate, names) if not animate then return nil end for _, descendant in ipairs(animate:GetDescendants()) do if descendant:IsA("Animation") then for _, wantedName in ipairs(names) do if descendant.Name == wantedName then return descendant end end end end return nilendlocal function applyCharacterAnimations() local animate = getAnimateScript() if not animate then log("Animations unavailable: character Animate script not found.") return false end if animationCharacter ~= player.Character then animationCharacter = player.Character table.clear(originalAnimationIds) end local walkAnim = findAnimation(animate, {"WalkAnim"}) local runAnim = findAnimation(animate, {"RunAnim"}) local jumpAnim = findAnimation(animate, {"JumpAnim"}) for _, anim in ipairs({walkAnim, runAnim, jumpAnim}) do if anim and originalAnimationIds[anim.Name] == nil then originalAnimationIds[anim.Name] = anim.AnimationId end end local walkOption = walkAnimationOptions[walkAnimationIndex + 1] local jumpOption = jumpAnimationOptions[jumpAnimationIndex + 1] if walkAnim then walkAnim.AnimationId = walkOption.walk or originalAnimationIds.WalkAnim or walkAnim.AnimationId end if runAnim then runAnim.AnimationId = walkOption.run or originalAnimationIds.RunAnim or runAnim.AnimationId end if jumpAnim then jumpAnim.AnimationId = jumpOption.id or originalAnimationIds.JumpAnim or jumpAnim.AnimationId end -- Restart the default animation controller so it reloads the changed IDs. local wasDisabled = animate.Disabled animate.Disabled = true task.defer(function() if animate.Parent then animate.Disabled = wasDisabled end end) return trueendlocal function cycleWalkAnimation() walkAnimationIndex = (walkAnimationIndex + 1) % #walkAnimationOptions if applyCharacterAnimations() then log("WALK ANIMATION- " .. walkAnimationOptions[walkAnimationIndex + 1].name) endendlocal function cycleJumpAnimation() jumpAnimationIndex = (jumpAnimationIndex + 1) % #jumpAnimationOptions if applyCharacterAnimations() then log("JUMP ANIMATION- " .. jumpAnimationOptions[jumpAnimationIndex + 1].name) endendplayer.CharacterAdded:Connect(function() task.wait(1) applyCharacterAnimations()end)-- PAGESlocal pages = { Home = { {"Diagnostics-", "Check interface", "diagnostics"}, {"Environment-", "Test environment info", "info"}, {"Reset All-", "Reset active modules", "reset"} }, Movement = { {"Fly-", "WASD / Space / Ctrl", "Fly"}, {"Speed-", "Cycle 1.5x / 2x / 3x", "Speed"}, {"Noclip-", "Toggle collision bypass", "Noclip"}, {"Jump-", "Jump test module", "Jump"} }, Animations = { {"Walk Animation-", "Cycle Default / Stylish walk and run", "WalkAnimation"}, {"Jump Animation-", "Cycle Default / Stylish jump", "JumpAnimation"} }, Visuals = { {"ESP-", "Visual test module", "ESP"}, {"Highlight-", "Highlight test module", "Highlight"}, {"Player Scan-", "Count server players", "scan"}, {"UI Diagnostics-", "Inspect interface", "ui"} }, Settings = { {"Color: Purple-", "Theme palette / classic", "ThemePurple"}, {"Color: Cyan-", "Theme palette / arctic", "ThemeCyan"}, {"Color: Inferno-", "Theme palette / red-orange", "ThemeInferno"}, {"Color: Toxic-", "Theme palette / neon green", "ThemeToxic"}, {"Preset: Nexus-", "Purple theme / default animations", "PresetNexus"}, {"Preset: Arctic-", "Cyan theme / stylish walk", "PresetArctic"}, {"Preset: Inferno-", "Inferno theme / stylish jump", "PresetInferno"}, {"Preset: Toxic-", "Toxic theme / stylish walk + jump", "PresetToxic"}, {"Smooth UI-", "Toggle fade and click transitions", "SmoothUI"}, {"Credits-", "Made by Cain", "credits"}, {"Clear Console-", "Clear logs", "clear"}, {"Reset All-", "Reset modules", "reset"}, {"Environment-", "Show test environment", "info"} }}local selectedTab = "Home"local renderPage-- UI POLISH: theme palette, presets, and optional smooth transitionslocal currentThemeName = "Purple"local smoothUI = truelocal themePalettes = { Purple = { PURPLE = Color3.fromRGB(160, 70, 255), NEON = Color3.fromRGB(207, 150, 255), BG = Color3.fromRGB(15, 10, 27), PANEL = Color3.fromRGB(28, 19, 45), CARD = Color3.fromRGB(39, 26, 61), MUTED = Color3.fromRGB(174, 155, 201), }, Cyan = { PURPLE = Color3.fromRGB(30, 190, 220), NEON = Color3.fromRGB(150, 245, 255), BG = Color3.fromRGB(7, 18, 28), PANEL = Color3.fromRGB(12, 35, 49), CARD = Color3.fromRGB(17, 48, 64), MUTED = Color3.fromRGB(145, 195, 208), }, Inferno = { PURPLE = Color3.fromRGB(245, 76, 65), NEON = Color3.fromRGB(255, 170, 105), BG = Color3.fromRGB(27, 10, 12), PANEL = Color3.fromRGB(48, 19, 22), CARD = Color3.fromRGB(65, 27, 29), MUTED = Color3.fromRGB(205, 155, 151), }, Toxic = { PURPLE = Color3.fromRGB(95, 220, 90), NEON = Color3.fromRGB(190, 255, 135), BG = Color3.fromRGB(10, 20, 12), PANEL = Color3.fromRGB(20, 39, 24), CARD = Color3.fromRGB(29, 52, 31), MUTED = Color3.fromRGB(160, 199, 154), },}local function applyTheme(themeName) local palette = themePalettes[themeName] if not palette then return end local old = {PURPLE = PURPLE, NEON = NEON, BG = BG, PANEL = PANEL, CARD = CARD, MUTED = MUTED} local function recolor(value) for key, oldColor in pairs(old) do if value == oldColor then return palette[key] end end return value end for _, obj in ipairs(gui:GetDescendants()) do pcall(function() obj.BackgroundColor3 = recolor(obj.BackgroundColor3) end) pcall(function() obj.TextColor3 = recolor(obj.TextColor3) end) pcall(function() obj.ImageColor3 = recolor(obj.ImageColor3) end) if obj:IsA("UIStroke") then obj.Color = recolor(obj.Color) end end PURPLE, NEON, BG, PANEL, CARD, MUTED = palette.PURPLE, palette.NEON, palette.BG, palette.PANEL, palette.CARD, palette.MUTED currentThemeName = themeNameendlocal function applyPreset(presetName) local presets = { Nexus = {theme = "Purple", walk = 0, jump = 0}, Arctic = {theme = "Cyan", walk = 1, jump = 0}, Inferno = {theme = "Inferno", walk = 0, jump = 1}, Toxic = {theme = "Toxic", walk = 1, jump = 1}, } local preset = presets[presetName] if not preset then return end applyTheme(preset.theme) walkAnimationIndex = preset.walk jumpAnimationIndex = preset.jump applyCharacterAnimations() log("PRESET- " .. string.upper(presetName) .. " APPLIED")endlocal function runAction(action) local themeActions = { ThemePurple = "Purple", ThemeCyan = "Cyan", ThemeInferno = "Inferno", ThemeToxic = "Toxic", } if themeActions[action] then applyTheme(themeActions[action]) log("THEME- " .. string.upper(themeActions[action])) renderPage(selectedTab) return end local presetActions = { PresetNexus = "Nexus", PresetArctic = "Arctic", PresetInferno = "Inferno", PresetToxic = "Toxic", } if presetActions[action] then applyPreset(presetActions[action]) renderPage(selectedTab) return end if action == "SmoothUI" then smoothUI = not smoothUI log("SMOOTH UI- " .. (smoothUI and "ON" or "OFF")) renderPage(selectedTab) return end if action == "Fly" then if active.Fly then stopFlight() log("FLY- DISABLED") else if not startFlight() then return end end renderPage(selectedTab) return end if action == "Speed" then cycleSpeed() renderPage(selectedTab) return end if action == "Noclip" then toggleNoclip() renderPage(selectedTab) return end if action == "Jump" then cycleJump() renderPage(selectedTab) return end if action == "WalkAnimation" then cycleWalkAnimation() renderPage(selectedTab) return end if action == "JumpAnimation" then cycleJumpAnimation() renderPage(selectedTab) return end if action == "reset" then stopFlight() disableSpeed() disableJump() walkAnimationIndex = 0 jumpAnimationIndex = 0 applyCharacterAnimations() restoreCollisions() setESP(false) setPlayerHighlight(false) table.clear(active) log("All modules reset.") renderPage(selectedTab) return end if action == "credits" then log("MADE BY CAIN") log("SCRIPTED BY GPT + CAIN") return end if action == "scan" then log("Players in server: " .. #Players:GetPlayers()) return end if action == "clear" then table.clear(logs) logLabel.Text = "" return end if action == "info" then log("EXPLOIT LAB- | Private test experience.") return end if action == "diagnostics" or action == "ui" then log("Diagnostics passed.") return end if action == "ESP" then setESP(not active.ESP) log("ESP- " .. (active.ESP and "ENABLED" or "DISABLED")) renderPage(selectedTab) return end if action == "Highlight" then setPlayerHighlight(not active.Highlight) log("Highlight- " .. (active.Highlight and "ENABLED" or "DISABLED")) renderPage(selectedTab) return endend-- RENDER PAGErenderPage = function(tabName) selectedTab = tabName for _, child in ipairs(content:GetChildren()) do if not child:IsA("UIGridLayout") and not child:IsA("UIPadding") then child:Destroy() end end for index, item in ipairs(pages[tabName]) do local title, description, action = item[1], item[2], item[3] local enabled = active[action] == true local status = description if action == "Fly" then status = enabled and "FLIGHT: ACTIVE" or "FLIGHT: OFF" elseif action == "Speed" then status = speedIndex > 0 and ("MULTIPLIER: " .. speedOptions[speedIndex] .. "x") or "MULTIPLIER: OFF" elseif action == "Noclip" then status = enabled and "NOCLIP: ACTIVE" or "NOCLIP: OFF" elseif action == "Jump" then status = jumpIndex > 0 and ("JUMP: " .. jumpOptions[jumpIndex] .. "x") or "JUMP: OFF" elseif action == "ThemePurple" or action == "ThemeCyan" or action == "ThemeInferno" or action == "ThemeToxic" then local themeForAction = ({ThemePurple = "Purple", ThemeCyan = "Cyan", ThemeInferno = "Inferno", ThemeToxic = "Toxic"})[action] status = currentThemeName == themeForAction and "CURRENT THEME" or "APPLY THEME" elseif action == "PresetNexus" or action == "PresetArctic" or action == "PresetInferno" or action == "PresetToxic" then status = "LOAD STYLE PRESET" elseif action == "SmoothUI" then status = smoothUI and "TRANSITIONS: ON" or "TRANSITIONS: OFF" elseif action == "WalkAnimation" then status = "STYLE: " .. walkAnimationOptions[walkAnimationIndex + 1].name elseif action == "JumpAnimation" then status = "STYLE: " .. jumpAnimationOptions[jumpAnimationIndex + 1].name elseif action == "ESP" or action == "Highlight" then status = enabled and "STATUS: ON" or "STATUS: OFF" end local card = make("TextButton", { Name = title:gsub("%W", ""), LayoutOrder = index, BackgroundColor3 = enabled and Color3.fromRGB(56, 32, 82) or CARD, BorderSizePixel = 0, Text = "", AutoButtonColor = false }, content) round(card, 10) stroke(card, enabled and NEON or Color3.fromRGB(80, 53, 111), 1) if smoothUI then card.BackgroundTransparency = 1 TweenService:Create(card, TweenInfo.new(0.22, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }):Play() end local indicator = make("Frame", { Position = UDim2.fromOffset(9, 12), Size = UDim2.fromOffset(4, 52), BackgroundColor3 = enabled and GREEN or PURPLE, BorderSizePixel = 0 }, card) round(indicator, 3) make("TextLabel", { Position = UDim2.fromOffset(21, 12), Size = UDim2.new(1, -28, 0, 25), BackgroundTransparency = 1, Text = title, TextColor3 = WHITE, TextSize = 12, Font = Enum.Font.GothamBold, TextXAlignment = Enum.TextXAlignment.Left, TextTruncate = Enum.TextTruncate.AtEnd }, card) make("TextLabel", { Position = UDim2.fromOffset(21, 38), Size = UDim2.new(1, -28, 0, 30), BackgroundTransparency = 1, Text = status, TextColor3 = enabled and GREEN or MUTED, TextSize = 10, Font = Enum.Font.Gotham, TextXAlignment = Enum.TextXAlignment.Left, TextWrapped = true }, card) card.Activated:Connect(function() if smoothUI then TweenService:Create(card, TweenInfo.new(0.12, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = Color3.fromRGB(67, 40, 93) }):Play() end runAction(action) end) endend-- TAB BUTTONSfor index, name in ipairs({ "Home", "Movement", "Animations", "Visuals", "Settings"}) do local tab = make("TextButton", { Name = name .. "Tab", LayoutOrder = index, Size = UDim2.new(0.2, -5, 1, 0), BackgroundColor3 = name == selectedTab and PURPLE or PANEL, BorderSizePixel = 0, Text = name, TextColor3 = WHITE, TextSize = 10, Font = Enum.Font.GothamBold }, tabBar) round(tab, 8) tab.Activated:Connect(function() selectedTab = name for _, other in ipairs(tabBar:GetChildren()) do if other:IsA("TextButton") then other.BackgroundColor3 = other.Name == name .. "Tab" and PURPLE or PANEL end end if smoothUI then TweenService:Create(content, TweenInfo.new(0.18, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { CanvasPosition = Vector2.new(0, 0) }):Play() else content.CanvasPosition = Vector2.new(0, 0) end renderPage(name) end)end-- CLOSE / REOPENlocal reopen = make("TextButton", { Name = "ReopenButton", AnchorPoint = Vector2.new(0, 0.5), Position = UDim2.new(0, 12, 0.5, 0), Size = UDim2.fromOffset(52, 48), BackgroundColor3 = PANEL, Text = "N", TextColor3 = NEON, TextSize = 24, Font = Enum.Font.GothamBold, Visible = false}, gui)round(reopen, 12)stroke(reopen, PURPLE, 2)-- WELCOME INTRO: blurred view, animated greeting, then reveal the hubmain.Visible = falsereopen.Visible = falselocal introBlur = Instance.new("BlurEffect")introBlur.Name = "ExploitLabIntroBlur"introBlur.Size = 24introBlur.Parent = Lightinglocal intro = make("Frame", { Name = "WelcomeIntro", Size = UDim2.fromScale(1, 1), Position = UDim2.fromScale(0, 0), BackgroundColor3 = Color3.fromRGB(8, 5, 16), BackgroundTransparency = 0.18, BorderSizePixel = 0, ZIndex = 100}, gui)local introTitle = make("TextLabel", { Name = "WelcomeText", AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.46), Size = UDim2.new(0.9, 0, 0, 76), BackgroundTransparency = 1, Text = "WELCOME " .. string.upper(player.Name), TextColor3 = NEON, TextStrokeColor3 = PURPLE, TextStrokeTransparency = 0.35, TextTransparency = 0, TextScaled = true, Font = Enum.Font.SciFi, ZIndex = 101}, intro)local introSubtitle = make("TextLabel", { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.54), Size = UDim2.new(0.8, 0, 0, 28), BackgroundTransparency = 1, Text = "INITIALIZING NEXUS CLIENT", TextColor3 = MUTED, TextTransparency = 0, TextSize = 13, Font = Enum.Font.Code, ZIndex = 101}, intro)local introStroke = Instance.new("UIStroke")introStroke.Color = PURPLEintroStroke.Thickness = 1introStroke.Transparency = 0.35introStroke.Parent = introTitleclose.Activated:Connect(function() main.Visible = false reopen.Visible = trueend)reopen.Activated:Connect(function() main.Visible = true reopen.Visible = falseend)-- CLEAN UP WHEN RESPAWNINGplayer.CharacterAdded:Connect(function() stopFlight() disableSpeed() disableJump() restoreCollisions() task.defer(function() if renderPage then renderPage(selectedTab) end end)end)-- STARTUPrenderPage("Home")log("EXPLOIT LAB- INITIALIZED")log("Made by Cain.")log("Scripted by GPT + Cain.")task.spawn(function() task.wait(1.15) local blurTween = TweenService:Create( introBlur, TweenInfo.new(1.15, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Size = 0} ) local titleTween = TweenService:Create( introTitle, TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextTransparency = 1, TextStrokeTransparency = 1, Position = UDim2.fromScale(0.5, 0.4)} ) local subtitleTween = TweenService:Create( introSubtitle, TweenInfo.new(0.65, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextTransparency = 1} ) local overlayTween = TweenService:Create( intro, TweenInfo.new(0.85, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1} ) blurTween:Play() titleTween:Play() subtitleTween:Play() overlayTween:Play() blurTween.Completed:Wait() if introBlur then introBlur:Destroy() end if intro then intro:Destroy() end main.Visible = trueend)Advertisements
Comments
0Did it work for you? Sign in to share your experience.
No comments yet
Tried it? Let others know if it works.