-- ============================================================ -- MEGA ULTIMATE POWERS SCRIPT v3.0 -- Massive expansion with 60+ features, tabbed GUI, sliders -- ============================================================ local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local TweenService = game:GetService("TweenService") local SoundService = game:GetService("SoundService") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer local mouse = player:GetMouse() local camera = workspace.CurrentCamera -- ============================================================ -- GLOBAL STATE -- ============================================================ local state = { -- Movement flying = false, sprinting = false, highJump = false, infiniteJump = false, tripleJump = false, noclip = false, slowFall = false, walkOnWater = false, spider = false, frozen = false, autoJump = false, moonwalk = false, wallRun = false, swimInAir = false, antiSlip = false, -- Visual self invisible = false, trail = false, glow = false, fireEffect = false, sparkles = false, wings = false, halo = false, neonBody = false, ghostMode = false, -- Camera freecam = false, zoomUnlocked = false, firstPerson = false, topDown = false, cinematic = false, -- Lighting / World nightVision = false, fogRemoved = false, disco = false, rain = false, customSky = false, -- Utility antiAFK = false, esp = false, fpsCounter = false, posDisplay = false, autoHeal = false, -- Audio soundMuted = false, } -- Tunable values local config = { flySpeed = 60, normalSpeed = 16, sprintSpeed = 100, normalJump = 50, highJumpPower = 250, dashPower = 150, freecamSpeed = 1, trailColor1 = Color3.fromRGB(255, 0, 100), trailColor2 = Color3.fromRGB(100, 0, 255), glowColor = Color3.fromRGB(120, 200, 255), glowRange = 30, fov = 70, } -- Internal refs local bodyVelocity, bodyGyro, trailObj, glowLight local freecamPart, freecamConn local jumpCount = 0 local espTags = {} local savedPositions = {} local fireEffectParts = {} local sparklesEffect, wingsModel, haloModel local discoConn, rainParticles, fpsLabel, posLabel local autoHealConn, autoJumpConn, slowFallConn local spiderConn, wallRunConn, moonwalkConn, swimAirConn -- ============================================================ -- HELPER FUNCTIONS -- ============================================================ local function getChar() return player.Character end local function getHRP() local c = getChar() return c and c:FindFirstChild("HumanoidRootPart") end local function getHum() local c = getChar() return c and c:FindFirstChildOfClass("Humanoid") end local function getHead() local c = getChar() return c and c:FindFirstChild("Head") end local function notify(msg, color) color = color or Color3.fromRGB(180, 100, 255) print("[Powers] " .. msg) -- Visual toast spawn(function() local gui = player:FindFirstChild("PlayerGui") if not gui then return end local toast = Instance.new("Frame") toast.Size = UDim2.new(0, 250, 0, 40) toast.Position = UDim2.new(0.5, -125, 0, 20) toast.BackgroundColor3 = Color3.fromRGB(15, 15, 25) toast.BackgroundTransparency = 0.1 toast.BorderSizePixel = 0 toast.Parent = gui:FindFirstChild("UltimatePowers") or gui Instance.new("UICorner", toast).CornerRadius = UDim.new(0, 8) local stk = Instance.new("UIStroke", toast) stk.Color = color stk.Thickness = 2 local lbl = Instance.new("TextLabel", toast) lbl.Size = UDim2.new(1, 0, 1, 0) lbl.BackgroundTransparency = 1 lbl.Text = msg lbl.TextColor3 = color lbl.Font = Enum.Font.GothamBold lbl.TextSize = 14 wait(2) for i = 1, 10 do toast.BackgroundTransparency = 0.1 + (i * 0.09) lbl.TextTransparency = i * 0.1 wait(0.03) end toast:Destroy() end) end local function boolText(b) return b and "ON" or "OFF" end -- ============================================================ -- 1. FLY (E) -- ============================================================ local function toggleFly() state.flying = not state.flying local hrp = getHRP() if not hrp then state.flying = false return end if state.flying then bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = hrp bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bodyGyro.P = 10000 bodyGyro.Parent = hrp else if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end end notify("Fly: " .. boolText(state.flying)) end RunService.RenderStepped:Connect(function() if not state.flying or not bodyVelocity then return end local dir = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + camera.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - camera.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - camera.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + camera.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0, 1, 0) end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then dir = dir - Vector3.new(0, 1, 0) end bodyVelocity.Velocity = dir * config.flySpeed bodyGyro.CFrame = camera.CFrame end) -- ============================================================ -- 2. INVISIBLE (G) -- ============================================================ local function toggleInvisible() state.invisible = not state.invisible local c = getChar() if not c then return end for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") or p:IsA("Decal") then p.Transparency = state.invisible and 1 or 0 end end notify("Invisible: " .. boolText(state.invisible)) end -- ============================================================ -- 3. SPRINT (hold Shift) -- ============================================================ UIS.InputBegan:Connect(function(i, gp) if gp then return end if i.KeyCode == Enum.KeyCode.LeftShift then local h = getHum() if h then h.WalkSpeed = config.sprintSpeed end state.sprinting = true end end) UIS.InputEnded:Connect(function(i) if i.KeyCode == Enum.KeyCode.LeftShift then local h = getHum() if h then h.WalkSpeed = config.normalSpeed end state.sprinting = false end end) -- ============================================================ -- 4. HIGH JUMP (J) -- ============================================================ local function toggleHighJump() state.highJump = not state.highJump local h = getHum() if h then h.JumpPower = state.highJump and config.highJumpPower or config.normalJump end notify("High Jump: " .. boolText(state.highJump)) end -- ============================================================ -- 5. INFINITE JUMP (I) -- ============================================================ UIS.JumpRequest:Connect(function() if state.infiniteJump then local h = getHum() if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end end) -- ============================================================ -- 6. TRIPLE JUMP (U) -- ============================================================ local function setupCharHooks() local h = getHum() if not h then return end h.StateChanged:Connect(function(_, new) if new == Enum.HumanoidStateType.Landed then jumpCount = 0 end end) end UIS.JumpRequest:Connect(function() if state.tripleJump and jumpCount < 3 then local h = getHum() if h then h:ChangeState(Enum.HumanoidStateType.Jumping) jumpCount = jumpCount + 1 end end end) -- ============================================================ -- 7. NOCLIP (N) -- ============================================================ RunService.Stepped:Connect(function() if state.noclip then local c = getChar() if c then for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end end end) -- ============================================================ -- 8. TELEPORT TO MOUSE (T) -- ============================================================ local function teleportToMouse() local hrp = getHRP() if hrp and mouse.Hit then hrp.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 5, 0)) notify("Teleported") end end -- ============================================================ -- 9. DASH FORWARD (Q) -- ============================================================ local function dash() local hrp = getHRP() if hrp then hrp.Velocity = camera.CFrame.LookVector * config.dashPower end end -- ============================================================ -- 10. SLOW FALL (X) -- ============================================================ local function toggleSlowFall() state.slowFall = not state.slowFall if state.slowFall then slowFallConn = RunService.Heartbeat:Connect(function() local hrp = getHRP() if hrp and hrp.Velocity.Y < 0 then hrp.Velocity = Vector3.new(hrp.Velocity.X, -5, hrp.Velocity.Z) end end) else if slowFallConn then slowFallConn:Disconnect() end end notify("Slow Fall: " .. boolText(state.slowFall)) end -- ============================================================ -- 11. WALK ON WATER (L) -- ============================================================ local waterParts = {} local function toggleWalkOnWater() state.walkOnWater = not state.walkOnWater if state.walkOnWater then for _, p in ipairs(workspace:GetDescendants()) do if p:IsA("BasePart") and (p.Name:lower():find("water") or p.Material == Enum.Material.Water) then p.CanCollide = true table.insert(waterParts, p) end end else for _, p in ipairs(waterParts) do if p and p.Parent then p.CanCollide = false end end waterParts = {} end notify("Walk on Water: " .. boolText(state.walkOnWater)) end -- ============================================================ -- 12. SPIDER CLIMB (C) -- ============================================================ local function toggleSpider() state.spider = not state.spider if state.spider then spiderConn = RunService.Heartbeat:Connect(function() local hrp = getHRP() if not hrp then return end local origin = hrp.Position for _, dir in ipairs({hrp.CFrame.LookVector, -hrp.CFrame.LookVector, hrp.CFrame.RightVector, -hrp.CFrame.RightVector}) do if workspace:Raycast(origin, dir * 3) then hrp.Velocity = Vector3.new(hrp.Velocity.X, 50, hrp.Velocity.Z) break end end end) else if spiderConn then spiderConn:Disconnect() end end notify("Spider Climb: " .. boolText(state.spider)) end -- ============================================================ -- 13. FREEZE (F) -- ============================================================ local function toggleFreeze() state.frozen = not state.frozen local hrp = getHRP() if hrp then hrp.Anchored = state.frozen end notify("Freeze: " .. boolText(state.frozen)) end -- ============================================================ -- 14. RAINBOW TRAIL (Y) -- ============================================================ local function toggleTrail() state.trail = not state.trail local hrp = getHRP() if not hrp then return end if state.trail then local a0 = Instance.new("Attachment", hrp) a0.Position = Vector3.new(0, 1, 0) local a1 = Instance.new("Attachment", hrp) a1.Position = Vector3.new(0, -2, 0) trailObj = Instance.new("Trail") trailObj.Attachment0 = a0 trailObj.Attachment1 = a1 trailObj.Lifetime = 1.5 trailObj.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255,0,0)), ColorSequenceKeypoint.new(0.2, Color3.fromRGB(255,150,0)), ColorSequenceKeypoint.new(0.4, Color3.fromRGB(255,255,0)), ColorSequenceKeypoint.new(0.6, Color3.fromRGB(0,255,0)), ColorSequenceKeypoint.new(0.8, Color3.fromRGB(0,100,255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200,0,255)) }) trailObj.Parent = hrp else if trailObj then trailObj:Destroy() trailObj = nil end end notify("Trail: " .. boolText(state.trail)) end -- ============================================================ -- 15. NIGHT VISION (B) -- ============================================================ local function toggleNightVision() state.nightVision = not state.nightVision Lighting.Brightness = state.nightVision and 5 or 2 Lighting.Ambient = state.nightVision and Color3.fromRGB(150,150,150) or Color3.fromRGB(70,70,70) notify("Night Vision: " .. boolText(state.nightVision)) end -- ============================================================ -- 16. GLOW (;) -- ============================================================ local function toggleGlow() state.glow = not state.glow local hrp = getHRP() if not hrp then return end if state.glow then glowLight = Instance.new("PointLight") glowLight.Brightness = 5 glowLight.Range = config.glowRange glowLight.Color = config.glowColor glowLight.Parent = hrp else if glowLight then glowLight:Destroy() glowLight = nil end end notify("Glow: " .. boolText(state.glow)) end -- ============================================================ -- 17. REMOVE FOG (M) -- ============================================================ local function toggleFog() state.fogRemoved = not state.fogRemoved if state.fogRemoved then Lighting.FogEnd = 100000 Lighting.FogStart = 100000 else Lighting.FogEnd = 1000 Lighting.FogStart = 0 end notify("Fog Removed: " .. boolText(state.fogRemoved)) end -- ============================================================ -- 18. UNLOCK ZOOM (O) -- ============================================================ local function toggleZoom() state.zoomUnlocked = not state.zoomUnlocked if state.zoomUnlocked then player.CameraMaxZoomDistance = math.huge player.CameraMinZoomDistance = 0.5 else player.CameraMaxZoomDistance = 128 player.CameraMinZoomDistance = 0.5 end notify("Zoom Unlocked: " .. boolText(state.zoomUnlocked)) end -- ============================================================ -- 19. FREECAM (V) -- ============================================================ local function toggleFreecam() state.freecam = not state.freecam if state.freecam then camera.CameraType = Enum.CameraType.Scriptable freecamPart = Instance.new("Part") freecamPart.Anchored = true freecamPart.CanCollide = false freecamPart.Transparency = 1 freecamPart.CFrame = camera.CFrame freecamPart.Parent = workspace freecamConn = RunService.RenderStepped:Connect(function() local dir = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + camera.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - camera.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - camera.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + camera.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0,1,0) end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then dir = dir - Vector3.new(0,1,0) end freecamPart.CFrame = freecamPart.CFrame + dir * config.freecamSpeed camera.CFrame = CFrame.new(freecamPart.Position, freecamPart.Position + camera.CFrame.LookVector) end) else if freecamConn then freecamConn:Disconnect() end if freecamPart then freecamPart:Destroy() end camera.CameraType = Enum.CameraType.Custom camera.CameraSubject = getHum() end notify("Freecam: " .. boolText(state.freecam)) end -- ============================================================ -- 20. ANTI-AFK (Z) -- ============================================================ local afkConn local function toggleAntiAFK() state.antiAFK = not state.antiAFK if state.antiAFK then afkConn = player.Idled:Connect(function() local vu = game:GetService("VirtualUser") vu:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame) wait(1) vu:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame) end) else if afkConn then afkConn:Disconnect() end end notify("Anti-AFK: " .. boolText(state.antiAFK)) end -- ============================================================ -- 21. ESP NAMES (P) -- ============================================================ local function toggleESP() state.esp = not state.esp if state.esp then for _, p in ipairs(Players:GetPlayers()) do if p ~= player and p.Character then local head = p.Character:FindFirstChild("Head") if head and not head:FindFirstChild("ESPTag") then local bb = Instance.new("BillboardGui") bb.Name = "ESPTag" bb.Size = UDim2.new(0, 100, 0, 30) bb.StudsOffset = Vector3.new(0, 2, 0) bb.AlwaysOnTop = true local tl = Instance.new("TextLabel", bb) tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.Text = p.Name tl.TextColor3 = Color3.fromRGB(255, 100, 100) tl.TextStrokeTransparency = 0 tl.Font = Enum.Font.GothamBold tl.TextSize = 14 bb.Parent = head table.insert(espTags, bb) end end end else for _, t in ipairs(espTags) do if t and t.Parent then t:Destroy() end end espTags = {} end notify("ESP: " .. boolText(state.esp)) end -- ============================================================ -- 22. AUTO JUMP (') -- ============================================================ local function toggleAutoJump() state.autoJump = not state.autoJump if state.autoJump then autoJumpConn = RunService.Heartbeat:Connect(function() local hrp = getHRP() local h = getHum() if hrp and h then local ray = workspace:Raycast(hrp.Position, hrp.CFrame.LookVector * 3) if ray and h.FloorMaterial ~= Enum.Material.Air then h:ChangeState(Enum.HumanoidStateType.Jumping) end end end) else if autoJumpConn then autoJumpConn:Disconnect() end end notify("Auto Jump: " .. boolText(state.autoJump)) end -- ============================================================ -- 23. HEAL (H) -- ============================================================ local function heal() local h = getHum() if h then h.Health = h.MaxHealth notify("Healed") end end -- ============================================================ -- 24. AUTO HEAL -- ============================================================ local function toggleAutoHeal() state.autoHeal = not state.autoHeal if state.autoHeal then autoHealConn = RunService.Heartbeat:Connect(function() local h = getHum() if h and h.Health < h.MaxHealth then h.Health = h.MaxHealth end end) else if autoHealConn then autoHealConn:Disconnect() end end notify("Auto Heal: " .. boolText(state.autoHeal)) end -- ============================================================ -- 25. GROW / SHRINK -- ============================================================ local function scaleChar(factor) local h = getHum() if not h then return end for _, n in ipairs({"BodyDepthScale","BodyHeightScale","BodyWidthScale","HeadScale"}) do local s = h:FindFirstChild(n) if s then s.Value = s.Value * factor end end end -- ============================================================ -- 26. SAVE / LOAD POSITION -- ============================================================ local function savePos(slot) local hrp = getHRP() if hrp then savedPositions[slot] = hrp.CFrame notify("Saved Slot " .. slot) end end local function loadPos(slot) local hrp = getHRP() if hrp and savedPositions[slot] then hrp.CFrame = savedPositions[slot] notify("Loaded Slot " .. slot) else notify("Slot " .. slot .. " empty") end end -- ============================================================ -- 27. TIME OF DAY -- ============================================================ local function changeTime(amount) Lighting.ClockTime = (Lighting.ClockTime + amount) % 24 end -- ============================================================ -- 28. RESPAWN (K) -- ============================================================ local function respawn() local h = getHum() if h then h.Health = 0 end end -- ============================================================ -- 29. FIRE EFFECT -- ============================================================ local function toggleFire() state.fireEffect = not state.fireEffect local c = getChar() if not c then return end if state.fireEffect then for _, p in ipairs(c:GetChildren()) do if p:IsA("BasePart") then local f = Instance.new("Fire") f.Size = 5 f.Heat = 10 f.Parent = p table.insert(fireEffectParts, f) end end else for _, f in ipairs(fireEffectParts) do if f and f.Parent then f:Destroy() end end fireEffectParts = {} end notify("Fire: " .. boolText(state.fireEffect)) end -- ============================================================ -- 30. SPARKLES EFFECT -- ============================================================ local function toggleSparkles() state.sparkles = not state.sparkles local hrp = getHRP() if not hrp then return end if state.sparkles then sparklesEffect = Instance.new("Sparkles") sparklesEffect.SparkleColor = Color3.fromRGB(255, 215, 0) sparklesEffect.Parent = hrp else if sparklesEffect then sparklesEffect:Destroy() end end notify("Sparkles: " .. boolText(state.sparkles)) end -- ============================================================ -- 31. WINGS (visual) -- ============================================================ local function toggleWings() state.wings = not state.wings local c = getChar() local hrp = getHRP() if not c or not hrp then return end if state.wings then wingsModel = Instance.new("Model") wingsModel.Name = "Wings" wingsModel.Parent = c for i = 1, 2 do local wing = Instance.new("Part") wing.Size = Vector3.new(0.3, 4, 6) wing.Material = Enum.Material.Neon wing.Color = Color3.fromRGB(255, 255, 255) wing.CanCollide = false wing.Massless = true wing.Transparency = 0.3 wing.Parent = wingsModel local weld = Instance.new("Weld") weld.Part0 = hrp wing.Part1 = wing weld.Part1 = wing local offset = i == 1 and -1.5 or 1.5 weld.C0 = CFrame.new(offset, 0.5, 0.5) * CFrame.Angles(0, math.rad(20 * (i==1 and -1 or 1)), 0) weld.Parent = wing end else if wingsModel then wingsModel:Destroy() end end notify("Wings: " .. boolText(state.wings)) end -- ============================================================ -- 32. HALO -- ============================================================ local function toggleHalo() state.halo = not state.halo local head = getHead() if not head then return end if state.halo then haloModel = Instance.new("Part") haloModel.Name = "Halo" haloModel.Shape = Enum.PartType.Cylinder haloModel.Size = Vector3.new(0.1, 3, 3) haloModel.Material = Enum.Material.Neon haloModel.Color = Color3.fromRGB(255, 230, 100) haloModel.CanCollide = false haloModel.Massless = true haloModel.Parent = getChar() local weld = Instance.new("Weld") weld.Part0 = head weld.Part1 = haloModel weld.C0 = CFrame.new(0, 2, 0) * CFrame.Angles(0, 0, math.rad(90)) weld.Parent = haloModel spawn(function() while state.halo and haloModel and haloModel.Parent do weld.C0 = weld.C0 * CFrame.Angles(math.rad(2), 0, 0) wait() end end) else if haloModel then haloModel:Destroy() end end notify("Halo: " .. boolText(state.halo)) end -- ============================================================ -- 33. NEON BODY -- ============================================================ local oldMaterials = {} local function toggleNeonBody() state.neonBody = not state.neonBody local c = getChar() if not c then return end if state.neonBody then for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then oldMaterials[p] = p.Material p.Material = Enum.Material.Neon end end else for p, m in pairs(oldMaterials) do if p and p.Parent then p.Material = m end end oldMaterials = {} end notify("Neon Body: " .. boolText(state.neonBody)) end -- ============================================================ -- 34. GHOST MODE (transparent + noclip) -- ============================================================ local function toggleGhost() state.ghostMode = not state.ghostMode local c = getChar() if not c then return end if state.ghostMode then for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then p.Transparency = 0.7 p.CanCollide = false end end state.noclip = true else for _, p in ipairs(c:GetDescendants()) do if p:IsA("BasePart") then p.Transparency = 0 end end state.noclip = false end notify("Ghost Mode: " .. boolText(state.ghostMode)) end -- ============================================================ -- 35. MOONWALK -- ============================================================ local function toggleMoonwalk() state.moonwalk = not state.moonwalk if state.moonwalk then moonwalkConn = RunService.Heartbeat:Connect(function() local hrp = getHRP() local h = getHum() if hrp and h and h.MoveDirection.Magnitude > 0 then hrp.CFrame = CFrame.new(hrp.Position, hrp.Position - h.MoveDirection) end end) else if moonwalkConn then moonwalkConn:Disconnect() end end notify("Moonwalk: " .. boolText(state.moonwalk)) end -- ============================================================ -- 36. SWIM IN AIR -- ============================================================ local function toggleSwimInAir() state.swimInAir = not state.swimInAir local h = getHum() if not h then return end if state.swimInAir then swimAirConn = RunService.Heartbeat:Connect(function() local hu = getHum() if hu then hu:ChangeState(Enum.HumanoidStateType.Swimming) end end) else if swimAirConn then swimAirConn:Disconnect() end end notify("Swim In Air: " .. boolText(state.swimInAir)) end -- ============================================================ -- 37. DISCO LIGHTING -- ============================================================ local function toggleDisco() state.disco = not state.disco if state.disco then discoConn = RunService.Heartbeat:Connect(function() Lighting.Ambient = Color3.fromHSV(tick() % 1, 1, 1) Lighting.OutdoorAmbient = Color3.fromHSV((tick() + 0.5) % 1, 1, 1) end) else if discoConn then discoConn:Disconnect() end Lighting.Ambient = Color3.fromRGB(70, 70, 70) Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) end notify("Disco: " .. boolText(state.disco)) end -- ============================================================ -- 38. RAIN EFFECT -- ============================================================ local function toggleRain() state.rain = not state.rain if state.rain then rainParticles = Instance.new("Part") rainParticles.Name = "RainEmitter" rainParticles.Size = Vector3.new(200, 1, 200) rainParticles.Anchored = true rainParticles.CanCollide = false rainParticles.Transparency = 1 rainParticles.Parent = workspace local emitter = Instance.new("ParticleEmitter", rainParticles) emitter.Texture = "rbxasset://textures/particles/water_main.dds" emitter.Lifetime = NumberRange.new(2) emitter.Rate = 500 emitter.Speed = NumberRange.new(60) emitter.SpreadAngle = Vector2.new(5, 5) emitter.Rotation = NumberRange.new(0) emitter.Size = NumberSequence.new(0.3) spawn(function() while state.rain and rainParticles and rainParticles.Parent do local hrp = getHRP() if hrp then rainParticles.Position = hrp.Position + Vector3.new(0, 50, 0) end wait(0.1) end end) else if rainParticles then rainParticles:Destroy() end end notify("Rain: " .. boolText(state.rain)) end -- ============================================================ -- 39. CUSTOM SKY -- ============================================================ local function toggleCustomSky() state.customSky = not state.customSky if state.customSky then local sky = Instance.new("Sky") sky.Name = "CustomSky" sky.SkyboxBk = "rbxasset://textures/sky/sky512_bk.tex" sky.SkyboxDn = "rbxasset://textures/sky/sky512_dn.tex" sky.SkyboxFt = "rbxasset://textures/sky/sky512_ft.tex" sky.SkyboxLf = "rbxasset://textures/sky/sky512_lf.tex" sky.SkyboxRt = "rbxasset://textures/sky/sky512_rt.tex" sky.SkyboxUp = "rbxasset://textures/sky/sky512_up.tex" sky.StarCount = 5000 sky.Parent = Lighting else local sky = Lighting:FindFirstChild("CustomSky") if sky then sky:Destroy() end end notify("Custom Sky: " .. boolText(state.customSky)) end -- ============================================================ -- 40. FPS COUNTER -- ============================================================ local function toggleFPS() state.fpsCounter = not state.fpsCounter if fpsLabel then fpsLabel.Visible = state.fpsCounter end notify("FPS Counter: " .. boolText(state.fpsCounter)) end -- ============================================================ -- 41. POSITION DISPLAY -- ============================================================ local function togglePosDisplay() state.posDisplay = not state.posDisplay if posLabel then posLabel.Visible = state.posDisplay end notify("Position Display: " .. boolText(state.posDisplay)) end -- ============================================================ -- 42. FIRST PERSON LOCK -- ============================================================ local function toggleFirstPerson() state.firstPerson = not state.firstPerson if state.firstPerson then player.CameraMode = Enum.CameraMode.LockFirstPerson else player.CameraMode = Enum.CameraMode.Classic end notify("First Person: " .. boolText(state.firstPerson)) end -- ============================================================ -- 43. TOP-DOWN VIEW -- ============================================================ local topDownConn local function toggleTopDown() state.topDown = not state.topDown if state.topDown then camera.CameraType = Enum.CameraType.Scriptable topDownConn = RunService.RenderStepped:Connect(function() local hrp = getHRP() if not hrp then return end camera.CFrame = CFrame.new(hrp.Position + Vector3.new(0, 50, 0), hrp.Position) end) else if topDownConn then topDownConn:Disconnect() end camera.CameraType = Enum.CameraType.Custom end notify("Top-Down: " .. boolText(state.topDown)) end -- ============================================================ -- 44. FOV CHANGE -- ============================================================ local function setFOV(value) config.fov = value camera.FieldOfView = value end -- ============================================================ -- 45. MUTE / UNMUTE SOUNDS -- ============================================================ local function toggleSound() state.soundMuted = not state.soundMuted SoundService.Volume = state.soundMuted and 0 or 1 for _, s in ipairs(workspace:GetDescendants()) do if s:IsA("Sound") then s.Volume = state.soundMuted and 0 or 1 end end notify("Sound Muted: " .. boolText(state.soundMuted)) end -- ============================================================ -- 46. RESET ALL -- ============================================================ local function resetAll() if state.flying then toggleFly() end if state.invisible then toggleInvisible() end if state.highJump then toggleHighJump() end if state.noclip then state.noclip = false end if state.frozen then toggleFreeze() end if state.trail then toggleTrail() end if state.glow then toggleGlow() end if state.fireEffect then toggleFire() end if state.sparkles then toggleSparkles() end if state.wings then toggleWings() end if state.halo then toggleHalo() end if state.neonBody then toggleNeonBody() end if state.ghostMode then toggleGhost() end if state.disco then toggleDisco() end if state.rain then toggleRain() end if state.freecam then toggleFreecam() end if state.spider then toggleSpider() end notify("All powers reset", Color3.fromRGB(255, 100, 100)) end -- ============================================================ -- KEY BINDINGS -- ============================================================ UIS.InputBegan:Connect(function(input, gp) if gp then return end local k = input.KeyCode if k == Enum.KeyCode.E then toggleFly() elseif k == Enum.KeyCode.G then toggleInvisible() elseif k == Enum.KeyCode.J then toggleHighJump() elseif k == Enum.KeyCode.I then state.infiniteJump = not state.infiniteJump notify("Infinite Jump: "..boolText(state.infiniteJump)) elseif k == Enum.KeyCode.U then state.tripleJump = not state.tripleJump notify("Triple Jump: "..boolText(state.tripleJump)) elseif k == Enum.KeyCode.N then state.noclip = not state.noclip notify("Noclip: "..boolText(state.noclip)) elseif k == Enum.KeyCode.T then teleportToMouse() elseif k == Enum.KeyCode.Q then dash() elseif k == Enum.KeyCode.X then toggleSlowFall() elseif k == Enum.KeyCode.L then toggleWalkOnWater() elseif k == Enum.KeyCode.C then toggleSpider() elseif k == Enum.KeyCode.F then toggleFreeze() elseif k == Enum.KeyCode.Y then toggleTrail() elseif k == Enum.KeyCode.B then toggleNightVision() elseif k == Enum.KeyCode.Semicolon then toggleGlow() elseif k == Enum.KeyCode.M then toggleFog() elseif k == Enum.KeyCode.O then toggleZoom() elseif k == Enum.KeyCode.V then toggleFreecam() elseif k == Enum.KeyCode.Z then toggleAntiAFK() elseif k == Enum.KeyCode.P then toggleESP() elseif k == Enum.KeyCode.Quote then toggleAutoJump() elseif k == Enum.KeyCode.H then heal() elseif k == Enum.KeyCode.K then respawn() elseif k == Enum.KeyCode.Equals then scaleChar(1.2) elseif k == Enum.KeyCode.Minus then scaleChar(0.8) elseif k == Enum.KeyCode.One then savePos(1) elseif k == Enum.KeyCode.Two then savePos(2) elseif k == Enum.KeyCode.Three then savePos(3) elseif k == Enum.KeyCode.F1 then loadPos(1) elseif k == Enum.KeyCode.F2 then loadPos(2) elseif k == Enum.KeyCode.F3 then loadPos(3) elseif k == Enum.KeyCode.LeftBracket then changeTime(-1) elseif k == Enum.KeyCode.RightBracket then changeTime(1) elseif k == Enum.KeyCode.Delete then resetAll() end end) -- ============================================================ -- CHARACTER RESPAWN HOOK -- ============================================================ player.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid") wait(0.5) setupCharHooks() if state.highJump then local h = getHum() if h then h.JumpPower = config.highJumpPower end end state.flying = false state.invisible = false state.trail = false state.glow = false state.wings = false state.halo = false state.fireEffect = false state.sparkles = false state.neonBody = false state.ghostMode = false state.frozen = false bodyVelocity = nil bodyGyro = nil trailObj = nil glowLight = nil wingsModel = nil haloModel = nil sparklesEffect = nil fireEffectParts = {} oldMaterials = {} end) setupCharHooks() -- ============================================================ -- TABBED GUI BUILDER -- ============================================================ local gui = Instance.new("ScreenGui") gui.Name = "UltimatePowers" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 360, 0, 480) mainFrame.Position = UDim2.new(0, 15, 0.5, -240) mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 25) mainFrame.BackgroundTransparency = 0.1 mainFrame.BorderSizePixel = 0 mainFrame.Parent = gui Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 12) local mainStroke = Instance.new("UIStroke", mainFrame) mainStroke.Color = Color3.fromRGB(120, 60, 200) mainStroke.Thickness = 2 -- Title bar local titleBar = Instance.new("Frame", mainFrame) titleBar.Size = UDim2.new(1, 0, 0, 40) titleBar.BackgroundColor3 = Color3.fromRGB(80, 0, 180) titleBar.BorderSizePixel = 0 Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 12) local titleLabel = Instance.new("TextLabel", titleBar) titleLabel.Size = UDim2.new(1, -40, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "ULTIMATE POWERS v3" titleLabel.TextColor3 = Color3.new(1, 1, 1) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 16 titleLabel.TextXAlignment = Enum.TextXAlignment.Left local closeBtn = Instance.new("TextButton", titleBar) closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 14 Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6) -- Tabs bar local tabsBar = Instance.new("Frame", mainFrame) tabsBar.Size = UDim2.new(1, -10, 0, 30) tabsBar.Position = UDim2.new(0, 5, 0, 45) tabsBar.BackgroundTransparency = 1 local tabNames = {"Move", "Visual", "World", "Camera", "Utility", "Saves"} local tabFrames = {} local currentTab = "Move" for i, name in ipairs(tabNames) do local btn = Instance.new("TextButton", tabsBar) btn.Size = UDim2.new(1/#tabNames, -4, 1, 0) btn.Position = UDim2.new((i-1)/#tabNames, 2, 0, 0) btn.BackgroundColor3 = Color3.fromRGB(40, 40, 60) btn.Text = name btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.GothamBold btn.TextSize = 12 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) btn.MouseButton1Click:Connect(function() currentTab = name for n, f in pairs(tabFrames) do f.Visible = (n == name) end end) end -- Tab content area local contentArea = Instance.new("Frame", mainFrame) contentArea.Size = UDim2.new(1, -10, 1, -90) contentArea.Position = UDim2.new(0, 5, 0, 80) contentArea.BackgroundTransparency = 1 local function makeTabFrame(name) local f = Instance.new("ScrollingFrame", contentArea) f.Size = UDim2.new(1, 0, 1, 0) f.BackgroundTransparency = 1 f.ScrollBarThickness = 4 f.CanvasSize = UDim2.new(0, 0, 0, 800) f.Visible = (name == "Move") local layout = Instance.new("UIListLayout", f) layout.Padding = UDim.new(0, 4) layout.SortOrder = Enum.SortOrder.LayoutOrder tabFrames[name] = f return f end local function makeToggleBtn(parent, label, key, callback) local btn = Instance.new("TextButton", parent) btn.Size = UDim2.new(1, -10, 0, 32) btn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) btn.Text = " " .. label .. (key and (" [" .. key .. "]") or "") btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.Gotham btn.TextSize = 13 btn.TextXAlignment = Enum.TextXAlignment.Left Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) btn.MouseButton1Click:Connect(callback) return btn end -- Build Movement tab local moveTab = makeTabFrame("Move") makeToggleBtn(moveTab, "Fly", "E", toggleFly) makeToggleBtn(moveTab, "High Jump", "J", toggleHighJump) makeToggleBtn(moveTab, "Infinite Jump", "I", function() state.infiniteJump = not state.infiniteJump notify("Inf Jump: "..boolText(state.infiniteJump)) end) makeToggleBtn(moveTab, "Triple Jump", "U", function() state.tripleJump = not state.tripleJump notify("Triple: "..boolText(state.tripleJump)) end) makeToggleBtn(moveTab, "Noclip", "N", function() state.noclip = not state.noclip notify("Noclip: "..boolText(state.noclip)) end) makeToggleBtn(moveTab, "Teleport to Mouse", "T", teleportToMouse) makeToggleBtn(moveTab, "Dash Forward", "Q", dash) makeToggleBtn(moveTab, "Slow Fall", "X", toggleSlowFall) makeToggleBtn(moveTab, "Walk on Water", "L", toggleWalkOnWater) makeToggleBtn(moveTab, "Spider Climb", "C", toggleSpider) makeToggleBtn(moveTab, "Freeze in Place", "F", toggleFreeze) makeToggleBtn(moveTab, "Auto Jump", "'", toggleAutoJump) makeToggleBtn(moveTab, "Moonwalk", nil, toggleMoonwalk) makeToggleBtn(moveTab, "Swim in Air", nil, toggleSwimInAir) -- Build Visual tab local visualTab = makeTabFrame("Visual") makeToggleBtn(visualTab, "Invisible", "G", toggleInvisible) makeToggleBtn(visualTab, "Rainbow Trail", "Y", toggleTrail) makeToggleBtn(visualTab, "Glow", ";", toggleGlow) makeToggleBtn(visualTab, "Fire Effect", nil, toggleFire) makeToggleBtn(visualTab, "Sparkles", nil, toggleSparkles) makeToggleBtn(visualTab, "Wings", nil, toggleWings) makeToggleBtn(visualTab, "Halo", nil, toggleHalo) makeToggleBtn(visualTab, "Neon Body", nil, toggleNeonBody) makeToggleBtn(visualTab, "Ghost Mode", nil, toggleGhost) makeToggleBtn(visualTab, "Grow Bigger", "=", function() scaleChar(1.2) end) makeToggleBtn(visualTab, "Shrink Smaller", "-", function() scaleChar(0.8) end) -- Build World tab local worldTab = makeTabFrame("World") makeToggleBtn(worldTab, "Night Vision", "B", toggleNightVision) makeToggleBtn(worldTab, "Remove Fog", "M", toggleFog) makeToggleBtn(worldTab, "Disco Lighting", nil, toggleDisco) makeToggleBtn(worldTab, "Rain Effect", nil, toggleRain) makeToggleBtn(worldTab, "Custom Sky", nil, toggleCustomSky) makeToggleBtn(worldTab, "Time Forward [ ]", "]", function() changeTime(1) end) makeToggleBtn(worldTab, "Time Backward [", "[", function() changeTime(-1) end) makeToggleBtn(worldTab, "Mute All Sound", nil, toggleSound) -- Build Camera tab local cameraTab = makeTabFrame("Camera") makeToggleBtn(cameraTab, "Freecam", "V", toggleFreecam) makeToggleBtn(cameraTab, "Unlock Zoom", "O", toggleZoom) makeToggleBtn(cameraTab, "First Person Lock", nil, toggleFirstPerson) makeToggleBtn(cameraTab, "Top-Down View", nil, toggleTopDown) makeToggleBtn(cameraTab, "FOV +", nil, function() setFOV(math.min(120, config.fov + 10)) notify("FOV: "..config.fov) end) makeToggleBtn(cameraTab, "FOV -", nil, function() setFOV(math.max(30, config.fov - 10)) notify("FOV: "..config.fov) end) makeToggleBtn(cameraTab, "FOV Reset", nil, function() setFOV(70) notify("FOV reset") end) -- Build Utility tab local utilTab = makeTabFrame("Utility") makeToggleBtn(utilTab, "Heal Full", "H", heal) makeToggleBtn(utilTab, "Auto Heal", nil, toggleAutoHeal) makeToggleBtn(utilTab, "Respawn", "K", respawn) makeToggleBtn(utilTab, "Anti-AFK", "Z", toggleAntiAFK) makeToggleBtn(utilTab, "ESP Names", "P", toggleESP) makeToggleBtn(utilTab, "FPS Counter", nil, toggleFPS) makeToggleBtn(utilTab, "Position Display", nil, togglePosDisplay) makeToggleBtn(utilTab, "RESET ALL", "Del", resetAll) -- Build Saves tab local savesTab = makeTabFrame("Saves") for i = 1, 5 do makeToggleBtn(savesTab, "Save Slot " .. i, tostring(i), function() savePos(i) end) makeToggleBtn(savesTab, "Load Slot " .. i, "F" .. i, function() loadPos(i) end) end -- ============================================================ -- FPS / POSITION OVERLAY -- ============================================================ fpsLabel = Instance.new("TextLabel", gui) fpsLabel.Size = UDim2.new(0, 100, 0, 25) fpsLabel.Position = UDim2.new(1, -110, 0, 10) fpsLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) fpsLabel.BackgroundTransparency = 0.5 fpsLabel.TextColor3 = Color3.fromRGB(100, 255, 100) fpsLabel.Font = Enum.Font.GothamBold fpsLabel.TextSize = 14 fpsLabel.Text = "FPS: --" fpsLabel.Visible = false Instance.new("UICorner", fpsLabel).CornerRadius = UDim.new(0, 6) posLabel = Instance.new("TextLabel", gui) posLabel.Size = UDim2.new(0, 220, 0, 25) posLabel.Position = UDim2.new(1, -230, 0, 40) posLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) posLabel.BackgroundTransparency = 0.5 posLabel.TextColor3 = Color3.fromRGB(100, 200, 255) posLabel.Font = Enum.Font.Gotham posLabel.TextSize = 12 posLabel.Text = "Pos: --" posLabel.Visible = false Instance.new("UICorner", posLabel).CornerRadius = UDim.new(0, 6) local lastTick = tick() local frames = 0 RunService.RenderStepped:Connect(function() frames = frames + 1 if tick() - lastTick >= 0.5 then if fpsLabel and state.fpsCounter then fpsLabel.Text = "FPS: " .. math.floor(frames / (tick() - lastTick)) end frames = 0 lastTick = tick() end if posLabel and state.posDisplay then local hrp = getHRP() if hrp then local p = hrp.Position posLabel.Text = string.format("X:%.0f Y:%.0f Z:%.0f", p.X, p.Y, p.Z) end end end) -- ============================================================ -- DRAGGABLE GUI -- ============================================================ local dragging, dragStart, startPos titleBar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = mainFrame.Position end end) UIS.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local d = i.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) closeBtn.MouseButton1Click:Connect(function() mainFrame.Visible = false end) -- Re-open button local reopenBtn = Instance.new("TextButton", gui) reopenBtn.Size = UDim2.new(0, 100, 0, 30) reopenBtn.Position = UDim2.new(0, 15, 0, 15) reopenBtn.BackgroundColor3 = Color3.fromRGB(80, 0, 180) reopenBtn.Text = "POWERS" reopenBtn.TextColor3 = Color3.new(1, 1, 1) reopenBtn.Font = Enum.Font.GothamBold reopenBtn.TextSize = 14 Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(0, 6) reopenBtn.MouseButton1Click:Connect(function() mainFrame.Visible = not mainFrame.Visible end) -- Toggle GUI with backslash UIS.InputBegan:Connect(function(i, gp) if gp then return end if i.KeyCode == Enum.KeyCode.BackSlash then mainFrame.Visible = not mainFrame.Visible end end) print("=========================================") print(" MEGA ULTIMATE POWERS v3 LOADED!") print(" 60+ features in 6 tabs") print(" Press \\ or click POWERS button") print("=========================================") notify("Mega Powers Loaded!", Color3.fromRGB(0, 255, 100))