local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local humanoid = char:WaitForChild("Humanoid") local root = char:WaitForChild("HumanoidRootPart") local flying = false local speedBoost = false local flyConnection local flyBV, flyBG local flySpeed = 100 local hoverAmplitude = 2 local hoverSpeed = 2 local hoverTime = 0 local laserEnabled = false local laserLeft, laserRight, laserConnection local function updateCharacter(newChar) char = newChar humanoid = char:WaitForChild("Humanoid") root = char:WaitForChild("HumanoidRootPart") end player.CharacterAdded:Connect(updateCharacter) local screen = Instance.new("ScreenGui") screen.Name = "SupermanGUI" screen.ResetOnSpawn = false screen.Parent = player:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Parent = screen main.Position = UDim2.new(0,120,0,200) main.BackgroundColor3 = Color3.fromRGB(0,51,160) main.Active = true main.Draggable = true main.ZIndex = 2 local corner = Instance.new("UICorner", main) corner.CornerRadius = UDim.new(0,12) local stroke = Instance.new("UIStroke", main) stroke.Color = Color3.fromRGB(255,0,0) stroke.Thickness = 3 local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1,0,0,40) title.Text = "SUPERMAN POWERS" title.TextScaled = true title.BackgroundTransparency = 1 title.TextColor3 = Color3.fromRGB(255,255,0) title.ZIndex = 3 local buttonNames = { "Fly / Stop Flying", "Run as Fast as Bullet", "X-Ray Vision", "Recover", "Laser Eyes (NPC Only)", "Script Info" } local buttons = {} local buttonHeight = 50 local spacing = 10 local startY = 50 main.Size = UDim2.new(0, 250, 0, startY + #buttonNames * (buttonHeight + spacing)) for i, name in ipairs(buttonNames) do local b = Instance.new("TextButton", main) b.Size = UDim2.new(1, -30, 0, buttonHeight) b.Position = UDim2.new(0, 15, 0, startY + (i - 1) * (buttonHeight + spacing)) b.Text = name b.TextScaled = true b.BackgroundColor3 = Color3.fromRGB(200, 0, 0) b.TextColor3 = Color3.fromRGB(255, 255, 0) b.BorderSizePixel = 0 b.ZIndex = 3 Instance.new("UICorner", b) buttons[name] = b end local flyBtn = buttons["Fly / Stop Flying"] local speedBtn = buttons["Run as Fast as Bullet"] local xrayBtn = buttons["X-Ray Vision"] local recoverBtn = buttons["Recover"] local laserBtn = buttons["Laser Eyes (NPC Only)"] local infoBtn = buttons["Script Info"] local toggle = Instance.new("ImageButton") toggle.Parent = screen toggle.Size = UDim2.new(0,70,0,70) toggle.Position = UDim2.new(0,20,0,200) toggle.BackgroundTransparency = 0 toggle.BackgroundColor3 = Color3.fromRGB(255,0,0) toggle.Active = true toggle.Draggable = true toggle.ZIndex = 5 local label = Instance.new("TextLabel") label.Parent = toggle label.Size = UDim2.new(1,0,1,0) label.Position = UDim2.new(0,0,0,0) label.BackgroundTransparency = 1 label.Text = "Superman Abilities" label.TextScaled = true label.TextColor3 = Color3.fromRGB(0,0,255) label.ZIndex = 6 toggle.MouseButton1Click:Connect(function() main.Visible = not main.Visible end) local function startFly() if flying then return end flying = true humanoid.PlatformStand = true flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(1e5,1e5,1e5) flyBV.Velocity = Vector3.new(0,0,0) flyBV.Parent = root flyBG = Instance.new("BodyGyro") flyBG.MaxTorque = Vector3.new(1e5,1e5,1e5) flyBG.P = 3000 flyBG.CFrame = root.CFrame flyBG.Parent = root hoverTime = 0 flyConnection = RunService.RenderStepped:Connect(function(dt) if not root or not root.Parent then return end local moveDir = humanoid.MoveDirection local camForward = workspace.CurrentCamera.CFrame.LookVector local forwardMag = camForward:Dot(moveDir) if forwardMag > 0 then local velocity = camForward.Unit * flySpeed * forwardMag flyBV.Velocity = velocity flyBG.CFrame = CFrame.new(root.Position, root.Position + camForward) * CFrame.Angles(math.rad(-90),0,0) else hoverTime = hoverTime + dt * hoverSpeed local hoverOffset = math.sin(hoverTime) * hoverAmplitude flyBV.Velocity = Vector3.new(0,hoverOffset,0) flyBG.CFrame = CFrame.new(root.Position, root.Position + camForward) end end) end local function stopFly() flying = false humanoid.PlatformStand = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end if flyBV then flyBV:Destroy() flyBV = nil end if flyBG then flyBG:Destroy() flyBG = nil end end local function enableSpeed() speedBoost = true humanoid.WalkSpeed = 60 end local function disableSpeed() speedBoost = false humanoid.WalkSpeed = 16 end local xrayEnabled = false local pulseTime = 0 local originalColors = {} xrayBtn.MouseButton1Click:Connect(function() xrayEnabled = not xrayEnabled if not xrayEnabled then for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA("BasePart") then obj.LocalTransparencyModifier = 0 if originalColors[obj] then obj.Color = originalColors[obj] obj.Material = Enum.Material.Plastic originalColors[obj] = nil end end end end end) RunService.RenderStepped:Connect(function(dt) if not xrayEnabled then return end pulseTime = pulseTime + dt * 2 local pulse = 0.5 + 0.5 * math.sin(pulseTime) for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA("BasePart") and not obj:IsDescendantOf(char) and obj.Name ~= "HumanoidRootPart" then obj.LocalTransparencyModifier = 0.5 end if obj:IsA("Model") and obj:FindFirstChild("Humanoid") and obj ~= char then for _, part in pairs(obj:GetDescendants()) do if part:IsA("BasePart") then if not originalColors[part] then originalColors[part] = part.Color end local redIntensity = 255 * pulse part.Color = Color3.fromRGB(redIntensity, 0, 0) part.Material = Enum.Material.Neon end end end end end) recoverBtn.MouseButton1Click:Connect(function() humanoid.Health = humanoid.MaxHealth end) laserBtn.MouseButton1Click:Connect(function() if laserEnabled then laserEnabled = false if laserLeft then laserLeft:Destroy() end if laserRight then laserRight:Destroy() end if laserConnection then laserConnection:Disconnect() end return end laserEnabled = true local mouse = player:GetMouse() laserLeft = Instance.new("Part") laserLeft.Size = Vector3.new(0.2,0.2,50) laserLeft.Anchored = true laserLeft.CanCollide = false laserLeft.BrickColor = BrickColor.new("Bright red") laserLeft.Material = Enum.Material.Neon laserLeft.Parent = workspace laserRight = Instance.new("Part") laserRight.Size = Vector3.new(0.2,0.2,50) laserRight.Anchored = true laserRight.CanCollide = false laserRight.BrickColor = BrickColor.new("Bright red") laserRight.Material = Enum.Material.Neon laserRight.Parent = workspace laserConnection = RunService.RenderStepped:Connect(function() if not laserEnabled or not mouse or not root then if laserLeft then laserLeft:Destroy() end if laserRight then laserRight:Destroy() end if laserConnection then laserConnection:Disconnect() end return end local head = char:FindFirstChild("Head") if not head then return end local originLeft = head.Position + Vector3.new(-0.3,0,0) local originRight = head.Position + Vector3.new(0.3,0,0) local direction = (mouse.Hit.Position - head.Position).Unit local distance = (mouse.Hit.Position - head.Position).Magnitude laserLeft.CFrame = CFrame.new(originLeft + direction * distance/2, mouse.Hit.Position) laserLeft.Size = Vector3.new(0.2,0.2,distance) laserRight.CFrame = CFrame.new(originRight + direction * distance/2, mouse.Hit.Position) laserRight.Size = Vector3.new(0.2,0.2,distance) for _, npc in pairs(workspace:GetDescendants()) do if npc:IsA("Model") and npc ~= char then local humanoids = {} for _, obj in pairs(npc:GetDescendants()) do if obj:IsA("Humanoid") then table.insert(humanoids, obj) end end if #humanoids > 0 then local npcRoot = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChildWhichIsA("BasePart") if npcRoot then for _, origin in pairs({originLeft, originRight}) do local toNpc = (npcRoot.Position - origin) local proj = toNpc:Dot(direction) local closest = origin + direction * proj if (closest - npcRoot.Position).Magnitude < 2 then for _, hum in pairs(humanoids) do hum.Health = 0 end end end end end end end end) end) infoBtn.MouseButton1Click:Connect(function() local infoGui = Instance.new("ScreenGui", player.PlayerGui) local frame = Instance.new("Frame", infoGui) frame.Size = UDim2.new(0,400,0,300) frame.Position = UDim2.new(0.5,-200,0.5,-150) frame.BackgroundColor3 = Color3.fromRGB(255,0,0) local corner = Instance.new("UICorner", frame) corner.CornerRadius = UDim.new(0,12) local txt = Instance.new("TextLabel", frame) txt.Size = UDim2.new(1,0,1,0) txt.Text = [[Superman GUI Buttons: Fly / Stop Flying - Toggle flying Run as Fast as Bullet - Super speed (60) X-Ray Vision - See through walls, highlights NPCs Recover - Instantly restore health Laser Eyes - Only kills certain NPCs, only visible to you Made by ScriptDude999]] txt.TextColor3 = Color3.fromRGB(0,0,255) txt.TextScaled = true txt.BackgroundTransparency = 1 local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0,50,0,50) closeBtn.Position = UDim2.new(1,-60,0,10) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255,255,255) closeBtn.TextScaled = true closeBtn.BackgroundColor3 = Color3.fromRGB(0,0,0) closeBtn.MouseButton1Click:Connect(function() infoGui:Destroy() end) end) flyBtn.MouseButton1Click:Connect(function() if flying then stopFly() else startFly() end end) speedBtn.MouseButton1Click:Connect(function() if speedBoost then disableSpeed() else enableSpeed() end end)