ADVERTISEMENTREMOVE ADS
Goofy Superman Fly Free No Key (R6)
27,174 views
Universal script•
1 month ago

Script Preview
Description
It makes you flying like Superman but goofy.
Features:
- Fly
- Superman
- Keyless
- Free
ADVERTISEMENTREMOVE ADS
142 Lines • 4.08 KiB
-- Superman Fly Script (R6)
-- Author: Lennioda
-- Controls:
-- [F] = Toggle Fly
-- [W/A/S/D] = Move
-- [Space] = Ascend
-- [Shift] = Descend
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local root = character:WaitForChild("HumanoidRootPart")
-- === CONFIGURATION ===
local TOGGLE_KEY = Enum.KeyCode.F
local FLY_SPEED = 100
local TURN_SPEED = 8
local HORIZONTAL_TILT = 90 -- how much the character tilts forward while flying
-- === INTERNAL VARIABLES ===
local flying = false
local bv, bg
local torso, rightArm, leftArm
-- === Create Superman Pose (arms forward) ===
local function setSupermanPose()
torso = character:FindFirstChild("Torso")
rightArm = character:FindFirstChild("Right Arm")
leftArm = character:FindFirstChild("Left Arm")
if not (torso and rightArm and leftArm) then return end
-- Right Arm (hand facing down, arm extended forward)
local weldR = Instance.new("Weld", torso)
weldR.Name = "SupermanR"
weldR.Part0 = torso
weldR.Part1 = rightArm
weldR.C0 = CFrame.new(1.5, 0.5, -1.2) * CFrame.Angles(math.rad(-100), 0, math.rad(10))
-- Left Arm (mirrored)
local weldL = Instance.new("Weld", torso)
weldL.Name = "SupermanL"
weldL.Part0 = torso
weldL.Part1 = leftArm
weldL.C0 = CFrame.new(-1.5, 0.5, -1.2) * CFrame.Angles(math.rad(-100), 0, math.rad(-10))
end
-- === Reset Arms Back to Normal ===
local function resetPose()
if not torso then return end
for _, weld in ipairs(torso:GetChildren()) do
if weld:IsA("Weld") and (weld.Name == "SupermanR" or weld.Name == "SupermanL") then
weld:Destroy()
end
end
end
-- === Start Flying ===
local function startFlying()
if flying then return end
flying = true
humanoid.PlatformStand = true
bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bv.P = 1e4
bv.Velocity = Vector3.zero
bv.Parent = root
bg = Instance.new("BodyGyro")
bg.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bg.P = 1e4
bg.CFrame = root.CFrame
bg.Parent = root
setSupermanPose()
print("🦸 Superman flight enabled!")
end
-- === Stop Flying ===
local function stopFlying()
if not flying then return end
flying = false
humanoid.PlatformStand = false
if bv then bv:Destroy() end
if bg then bg:Destroy() end
resetPose()
print("🛬 Superman flight disabled.")
end
-- === Toggle Flight with F Key ===
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == TOGGLE_KEY then
if flying then
stopFlying()
else
startFlying()
end
end
end)
-- === Flight Movement Logic ===
RunService.RenderStepped:Connect(function(dt)
if not flying or not root or not bv or not bg then return end
local cam = workspace.CurrentCamera
local moveDir = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.yAxis end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir -= Vector3.yAxis end
if moveDir.Magnitude > 0 then
moveDir = moveDir.Unit
end
bv.Velocity = moveDir * FLY_SPEED
-- Orient body to face camera direction, tilted horizontally
local target = cam.CFrame * CFrame.Angles(math.rad(-HORIZONTAL_TILT), 0, 0)
bg.CFrame = bg.CFrame:Lerp(target, TURN_SPEED * dt)
end)
-- === Handle Character Respawn ===
player.CharacterAdded:Connect(function(newChar)
character = newChar
humanoid = newChar:WaitForChild("Humanoid")
root = newChar:WaitForChild("HumanoidRootPart")
flying = false
end)
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS






Comments