Advertisements

EXPLOIT LAB
20 views1 run
Universal Script

EXPLOIT LAB

Ccainyk30about 2 hours ago
  • Universal
  • Open source

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

0

Did it work for you? Sign in to share your experience.

Sign in to comment

No comments yet

Tried it? Let others know if it works.