--// ECLIPSE• FE FLY --// Made by K_4VAE on Roblox local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") --================================================== -- CONFIG --================================================== local LOADING_TIME = 3 local PARTICLE_INTERVAL = 15 local DEFAULT_SPEED = 60 local MIN_SPEED = 1 local MAX_SPEED = 500 local BLACK = Color3.fromRGB(7, 7, 9) local DARK = Color3.fromRGB(13, 13, 16) local DARKER = Color3.fromRGB(20, 20, 24) local ORANGE = Color3.fromRGB(255, 105, 15) local LIGHT_ORANGE = Color3.fromRGB(255, 160, 60) local DARK_ORANGE = Color3.fromRGB(135, 45, 5) local WHITE = Color3.fromRGB(245, 245, 245) local GREY = Color3.fromRGB(145, 145, 145) --================================================== -- STATE --================================================== local flying = false local unloaded = false local guiHidden = false local flySpeed = DEFAULT_SPEED local keyboardLayout = "AZERTY" local waitingForKey = nil local character local humanoid local rootPart local flyVelocity local flyGyro local flyConnection local espEnabled = false local playerNamesEnabled = false local skeletonEnabled = false local fpsBoostEnabled = false local antiLagEnabled = false local rtxEnabled = false local noclipEnabled = false local noclipConnection local connections = {} local espObjects = {} --================================================== -- ORIGINAL LIGHTING --================================================== local originalLighting = { GlobalShadows = Lighting.GlobalShadows, FogEnd = Lighting.FogEnd, Brightness = Lighting.Brightness, ExposureCompensation = Lighting.ExposureCompensation, Ambient = Lighting.Ambient, OutdoorAmbient = Lighting.OutdoorAmbient, ClockTime = Lighting.ClockTime } --================================================== -- KEYBINDS --================================================== local keys = { Fly = Enum.KeyCode.F, Forward = Enum.KeyCode.Z, Backward = Enum.KeyCode.S, Left = Enum.KeyCode.Q, Right = Enum.KeyCode.D, Up = Enum.KeyCode.E, Down = Enum.KeyCode.X } --================================================== -- HELPERS --================================================== local function connect(signal, callback) local connection = signal:Connect(callback) table.insert(connections, connection) return connection end local function disconnectAll() for _, connection in ipairs(connections) do if connection then connection:Disconnect() end end table.clear(connections) end local function createCorner(parent, radius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, radius or 8) corner.Parent = parent return corner end local function createStroke(parent, color, thickness, transparency) local stroke = Instance.new("UIStroke") stroke.Color = color stroke.Thickness = thickness or 1 stroke.Transparency = transparency or 0 stroke.Parent = parent return stroke end --================================================== -- LOADING SCREEN --================================================== local gui = Instance.new("ScreenGui") gui.Name = "EclipseFEFly" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = PlayerGui local loading = Instance.new("Frame") loading.Size = UDim2.fromScale(1, 1) loading.BackgroundColor3 = BLACK loading.BorderSizePixel = 0 loading.ZIndex = 100 loading.Parent = gui local loadingTitle = Instance.new("TextLabel") loadingTitle.Size = UDim2.new(1, 0, 0, 60) loadingTitle.Position = UDim2.new(0, 0, 0.34, 0) loadingTitle.BackgroundTransparency = 1 loadingTitle.Text = "ECLIPSE" loadingTitle.TextColor3 = ORANGE loadingTitle.TextSize = 40 loadingTitle.Font = Enum.Font.GothamBlack loadingTitle.ZIndex = 101 loadingTitle.Parent = loading local loadingSub = Instance.new("TextLabel") loadingSub.Size = UDim2.new(1, 0, 0, 30) loadingSub.Position = UDim2.new(0, 0, 0.43, 0) loadingSub.BackgroundTransparency = 1 loadingSub.Text = "FE FLY" loadingSub.TextColor3 = WHITE loadingSub.TextSize = 17 loadingSub.Font = Enum.Font.GothamBold loadingSub.ZIndex = 101 loadingSub.Parent = loading local loadingMade = Instance.new("TextLabel") loadingMade.Size = UDim2.new(1, 0, 0, 25) loadingMade.Position = UDim2.new(0, 0, 0.49, 0) loadingMade.BackgroundTransparency = 1 loadingMade.Text = "Made by K_4VAE on Roblox" loadingMade.TextColor3 = LIGHT_ORANGE loadingMade.TextSize = 14 loadingMade.Font = Enum.Font.GothamBold loadingMade.ZIndex = 101 loadingMade.Parent = loading local loadingText = Instance.new("TextLabel") loadingText.Size = UDim2.new(1, 0, 0, 25) loadingText.Position = UDim2.new(0, 0, 0.535, 0) loadingText.BackgroundTransparency = 1 loadingText.Text = "Initializing..." loadingText.TextColor3 = GREY loadingText.TextSize = 13 loadingText.Font = Enum.Font.Gotham loadingText.ZIndex = 101 loadingText.Parent = loading local loadingBack = Instance.new("Frame") loadingBack.Size = UDim2.new(0, 300, 0, 5) loadingBack.Position = UDim2.new(0.5, -150, 0.59, 0) loadingBack.BackgroundColor3 = DARKER loadingBack.BorderSizePixel = 0 loadingBack.ZIndex = 101 loadingBack.Parent = loading createCorner(loadingBack, 5) local loadingBar = Instance.new("Frame") loadingBar.Size = UDim2.new(0, 0, 1, 0) loadingBar.BackgroundColor3 = ORANGE loadingBar.BorderSizePixel = 0 loadingBar.ZIndex = 102 loadingBar.Parent = loadingBack createCorner(loadingBar, 5) TweenService:Create( loadingBar, TweenInfo.new(LOADING_TIME, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(1, 1)} ):Play() task.wait(LOADING_TIME) if loading then loading:Destroy() end --================================================== -- MAIN FRAME --================================================== local main = Instance.new("Frame") main.Name = "Main" main.Size = UDim2.new(0, 330, 0, 310) main.Position = UDim2.new(0.5, -165, 0.5, -155) main.BackgroundColor3 = BLACK main.BorderSizePixel = 0 main.ClipsDescendants = false main.ZIndex = 5 main.Parent = gui createCorner(main, 14) createStroke(main, ORANGE, 1.5, 0.2) local glow = Instance.new("ImageLabel") glow.Name = "Glow" glow.AnchorPoint = Vector2.new(0.5, 0.5) glow.Position = UDim2.fromScale(0.5, 0.5) glow.Size = UDim2.new(1, 45, 1, 45) glow.BackgroundTransparency = 1 glow.Image = "rbxassetid://5028857084" glow.ImageColor3 = ORANGE glow.ImageTransparency = 0.9 glow.ZIndex = 4 glow.Parent = main --================================================== -- TITLE --================================================== local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -75, 0, 50) title.Position = UDim2.new(0, 15, 0, 0) title.BackgroundTransparency = 1 title.Text = "ECLIPSE • FE FLY" title.TextColor3 = WHITE title.TextSize = 20 title.Font = Enum.Font.GothamBlack title.TextXAlignment = Enum.TextXAlignment.Left title.ZIndex = 7 title.Parent = main local titleLine = Instance.new("Frame") titleLine.Size = UDim2.new(0, 50, 0, 2) titleLine.Position = UDim2.new(0, 16, 0, 48) titleLine.BackgroundColor3 = ORANGE titleLine.BorderSizePixel = 0 titleLine.ZIndex = 7 titleLine.Parent = main --================================================== -- SETTINGS BUTTON --================================================== local settingsButton = Instance.new("TextButton") settingsButton.Size = UDim2.new(0, 40, 0, 40) settingsButton.Position = UDim2.new(1, -50, 0, 5) settingsButton.BackgroundColor3 = DARK settingsButton.Text = "⚙" settingsButton.TextColor3 = ORANGE settingsButton.TextSize = 21 settingsButton.BorderSizePixel = 0 settingsButton.ZIndex = 8 settingsButton.Parent = main createCorner(settingsButton, 8) --================================================== -- FLY BUTTON --================================================== local flyButton = Instance.new("TextButton") flyButton.Size = UDim2.new(0, 270, 0, 48) flyButton.Position = UDim2.new(0.5, -135, 0, 65) flyButton.BackgroundColor3 = DARK flyButton.Text = "✦ FLY : OFF" flyButton.TextColor3 = ORANGE flyButton.TextSize = 17 flyButton.Font = Enum.Font.GothamBold flyButton.BorderSizePixel = 0 flyButton.ZIndex = 7 flyButton.Parent = main createCorner(flyButton, 9) createStroke(flyButton, DARK_ORANGE, 1, 0.25) --================================================== -- FLY KEY --================================================== local flyKeyButton = Instance.new("TextButton") flyKeyButton.Size = UDim2.new(0, 270, 0, 40) flyKeyButton.Position = UDim2.new(0.5, -135, 0, 125) flyKeyButton.BackgroundColor3 = DARK flyKeyButton.Text = "Fly Key : F" flyKeyButton.TextColor3 = WHITE flyKeyButton.TextSize = 14 flyKeyButton.Font = Enum.Font.Gotham flyKeyButton.BorderSizePixel = 0 flyKeyButton.ZIndex = 7 flyKeyButton.Parent = main createCorner(flyKeyButton, 8) --================================================== -- SPEED --================================================== local speedBox = Instance.new("TextBox") speedBox.Size = UDim2.new(0, 270, 0, 40) speedBox.Position = UDim2.new(0.5, -135, 0, 175) speedBox.BackgroundColor3 = DARK speedBox.Text = tostring(DEFAULT_SPEED) speedBox.PlaceholderText = "Fly Speed" speedBox.TextColor3 = WHITE speedBox.TextSize = 14 speedBox.Font = Enum.Font.Gotham speedBox.ClearTextOnFocus = false speedBox.BorderSizePixel = 0 speedBox.ZIndex = 7 speedBox.Parent = main createCorner(speedBox, 8) --================================================== -- UNLOAD --================================================== local unloadButton = Instance.new("TextButton") unloadButton.Size = UDim2.new(0, 120, 0, 32) unloadButton.Position = UDim2.new(0, 12, 1, -44) unloadButton.BackgroundColor3 = Color3.fromRGB(25, 10, 8) unloadButton.Text = "✕ UNLOAD" unloadButton.TextColor3 = Color3.fromRGB(255, 90, 60) unloadButton.TextSize = 12 unloadButton.Font = Enum.Font.GothamBold unloadButton.BorderSizePixel = 0 unloadButton.ZIndex = 7 unloadButton.Parent = main createCorner(unloadButton, 7) createStroke(unloadButton, Color3.fromRGB(130, 35, 20), 1, 0.3) --================================================== -- SETTINGS --================================================== local settings = Instance.new("Frame") settings.Name = "Settings" settings.Size = UDim2.new(0, 450, 0, 600) settings.Position = UDim2.new(0.5, -225, 0.5, -300) settings.BackgroundColor3 = BLACK settings.BorderSizePixel = 0 settings.Visible = false settings.ClipsDescendants = true settings.ZIndex = 20 settings.Parent = gui createCorner(settings, 14) createStroke(settings, ORANGE, 1.5, 0.2) local settingsTitle = Instance.new("TextLabel") settingsTitle.Size = UDim2.new(1, -65, 0, 50) settingsTitle.Position = UDim2.new(0, 15, 0, 0) settingsTitle.BackgroundTransparency = 1 settingsTitle.Text = "⚙ SETTINGS" settingsTitle.TextColor3 = WHITE settingsTitle.TextSize = 21 settingsTitle.Font = Enum.Font.GothamBlack settingsTitle.TextXAlignment = Enum.TextXAlignment.Left settingsTitle.ZIndex = 22 settingsTitle.Parent = settings local closeSettings = Instance.new("TextButton") closeSettings.Size = UDim2.new(0, 40, 0, 40) closeSettings.Position = UDim2.new(1, -50, 0, 5) closeSettings.BackgroundColor3 = DARK closeSettings.Text = "X" closeSettings.TextColor3 = ORANGE closeSettings.TextSize = 17 closeSettings.Font = Enum.Font.GothamBold closeSettings.BorderSizePixel = 0 closeSettings.ZIndex = 22 closeSettings.Parent = settings createCorner(closeSettings, 8) --================================================== -- SETTINGS SCROLL --================================================== local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1, -20, 1, -60) scroll.Position = UDim2.new(0, 10, 0, 55) scroll.BackgroundTransparency = 1 scroll.BorderSizePixel = 0 scroll.ScrollBarThickness = 3 scroll.ScrollBarImageColor3 = ORANGE scroll.CanvasSize = UDim2.new(0, 0, 0, 850) scroll.ZIndex = 21 scroll.Parent = settings --================================================== -- SECTION --================================================== local function createSection(text, y) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -20, 0, 25) label.Position = UDim2.new(0, 10, 0, y) label.BackgroundTransparency = 1 label.Text = text label.TextColor3 = GREY label.TextSize = 12 label.Font = Enum.Font.GothamBold label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 22 label.Parent = scroll return label end --================================================== -- KEYBOARD --================================================== createSection("KEYBOARD LAYOUT", 10) local azertyButton = Instance.new("TextButton") azertyButton.Size = UDim2.new(0, 190, 0, 40) azertyButton.Position = UDim2.new(0, 10, 0, 40) azertyButton.BackgroundColor3 = ORANGE azertyButton.Text = "AZERTY ✓" azertyButton.TextColor3 = BLACK azertyButton.TextSize = 14 azertyButton.Font = Enum.Font.GothamBold azertyButton.BorderSizePixel = 0 azertyButton.ZIndex = 22 azertyButton.Parent = scroll createCorner(azertyButton, 8) local qwertyButton = Instance.new("TextButton") qwertyButton.Size = UDim2.new(0, 190, 0, 40) qwertyButton.Position = UDim2.new(0, 210, 0, 40) qwertyButton.BackgroundColor3 = DARK qwertyButton.Text = "QWERTY" qwertyButton.TextColor3 = WHITE qwertyButton.TextSize = 14 qwertyButton.Font = Enum.Font.GothamBold qwertyButton.BorderSizePixel = 0 qwertyButton.ZIndex = 22 qwertyButton.Parent = scroll createCorner(qwertyButton, 8) --================================================== -- KEYBINDS --================================================== createSection("FLY CONTROLS", 95) local keyButtons = {} local function createKeyButton(keyName, text, x, y) local button = Instance.new("TextButton") button.Size = UDim2.new(0, 190, 0, 38) button.Position = UDim2.new(0, x, 0, y) button.BackgroundColor3 = DARK button.Text = text button.TextColor3 = WHITE button.TextSize = 13 button.Font = Enum.Font.Gotham button.BorderSizePixel = 0 button.ZIndex = 22 button.Parent = scroll createCorner(button, 7) createStroke(button, DARK_ORANGE, 1, 0.4) keyButtons[keyName] = button return button end local forwardButton = createKeyButton("Forward", "Forward : Z", 10, 125) local backwardButton = createKeyButton("Backward", "Backward : S", 210, 125) local leftButton = createKeyButton("Left", "Left : Q", 10, 170) local rightButton = createKeyButton("Right", "Right : D", 210, 170) local upButton = createKeyButton("Up", "Up : E", 10, 215) local downButton = createKeyButton("Down", "Down : X", 210, 215) --================================================== -- PERFORMANCE --================================================== createSection("PERFORMANCE", 270) local fpsButton = Instance.new("TextButton") fpsButton.Size = UDim2.new(0, 390, 0, 40) fpsButton.Position = UDim2.new(0, 10, 0, 300) fpsButton.BackgroundColor3 = DARK fpsButton.Text = "FPS BOOST ● OFF" fpsButton.TextColor3 = WHITE fpsButton.TextSize = 13 fpsButton.Font = Enum.Font.GothamBold fpsButton.TextXAlignment = Enum.TextXAlignment.Left fpsButton.BorderSizePixel = 0 fpsButton.ZIndex = 22 fpsButton.Parent = scroll createCorner(fpsButton, 8) local antiLagButton = Instance.new("TextButton") antiLagButton.Size = UDim2.new(0, 390, 0, 40) antiLagButton.Position = UDim2.new(0, 10, 0, 350) antiLagButton.BackgroundColor3 = DARK antiLagButton.Text = "ANTI-LAG ● OFF" antiLagButton.TextColor3 = WHITE antiLagButton.TextSize = 13 antiLagButton.Font = Enum.Font.GothamBold antiLagButton.TextXAlignment = Enum.TextXAlignment.Left antiLagButton.BorderSizePixel = 0 antiLagButton.ZIndex = 22 antiLagButton.Parent = scroll createCorner(antiLagButton, 8) local rtxButton = Instance.new("TextButton") rtxButton.Size = UDim2.new(0, 390, 0, 40) rtxButton.Position = UDim2.new(0, 10, 0, 400) rtxButton.BackgroundColor3 = DARK rtxButton.Text = "RTX / REALISTIC ● OFF" rtxButton.TextColor3 = WHITE rtxButton.TextSize = 13 rtxButton.Font = Enum.Font.GothamBold rtxButton.TextXAlignment = Enum.TextXAlignment.Left rtxButton.BorderSizePixel = 0 rtxButton.ZIndex = 22 rtxButton.Parent = scroll createCorner(rtxButton, 8) local noclipButton = Instance.new("TextButton") noclipButton.Size = UDim2.new(0, 390, 0, 40) noclipButton.Position = UDim2.new(0, 10, 0, 450) noclipButton.BackgroundColor3 = DARK noclipButton.Text = "NOCLIP ● OFF" noclipButton.TextColor3 = WHITE noclipButton.TextSize = 13 noclipButton.Font = Enum.Font.GothamBold noclipButton.TextXAlignment = Enum.TextXAlignment.Left noclipButton.BorderSizePixel = 0 noclipButton.ZIndex = 22 noclipButton.Parent = scroll createCorner(noclipButton, 8) --================================================== -- ESP --================================================== createSection("ESP", 505) local espButton = Instance.new("TextButton") espButton.Size = UDim2.new(0, 390, 0, 40) espButton.Position = UDim2.new(0, 10, 0, 535) espButton.BackgroundColor3 = DARK espButton.Text = "ESP ● OFF" espButton.TextColor3 = WHITE espButton.TextSize = 13 espButton.Font = Enum.Font.GothamBold espButton.TextXAlignment = Enum.TextXAlignment.Left espButton.BorderSizePixel = 0 espButton.ZIndex = 22 espButton.Parent = scroll createCorner(espButton, 8) local namesButton = Instance.new("TextButton") namesButton.Size = UDim2.new(0, 390, 0, 40) namesButton.Position = UDim2.new(0, 10, 0, 585) namesButton.BackgroundColor3 = DARK namesButton.Text = "PLAYER NAMES ● OFF" namesButton.TextColor3 = WHITE namesButton.TextSize = 13 namesButton.Font = Enum.Font.GothamBold namesButton.TextXAlignment = Enum.TextXAlignment.Left namesButton.BorderSizePixel = 0 namesButton.ZIndex = 22 namesButton.Parent = scroll createCorner(namesButton, 8) local skeletonButton = Instance.new("TextButton") skeletonButton.Size = UDim2.new(0, 390, 0, 40) skeletonButton.Position = UDim2.new(0, 10, 0, 635) skeletonButton.BackgroundColor3 = DARK skeletonButton.Text = "SKELETON ● OFF" skeletonButton.TextColor3 = WHITE skeletonButton.TextSize = 13 skeletonButton.Font = Enum.Font.GothamBold skeletonButton.TextXAlignment = Enum.TextXAlignment.Left skeletonButton.BorderSizePixel = 0 skeletonButton.ZIndex = 22 skeletonButton.Parent = scroll createCorner(skeletonButton, 8) scroll.CanvasSize = UDim2.new(0, 0, 0, 700) --================================================== -- DRAGGING --================================================== local function makeDraggable(frame, handle) local dragging = false local dragStart local startPosition connect(handle.InputBegan, function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPosition = frame.Position end end) connect(handle.InputEnded, function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) connect(UserInputService.InputChanged, function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end) end makeDraggable(main, title) makeDraggable(settings, settingsTitle) --================================================== -- CHARACTER --================================================== local function setupCharacter(char) character = char humanoid = char:WaitForChild("Humanoid") rootPart = char:WaitForChild("HumanoidRootPart") flying = false if flyButton then flyButton.Text = "✦ FLY : OFF" flyButton.TextColor3 = ORANGE end if noclipEnabled then task.wait(0.2) for _, object in ipairs(char:GetDescendants()) do if object:IsA("BasePart") then object.CanCollide = false end end end end if LocalPlayer.Character then setupCharacter(LocalPlayer.Character) end connect(LocalPlayer.CharacterAdded, setupCharacter) --================================================== -- FLY --================================================== local function stopFly() flying = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end if flyVelocity then flyVelocity:Destroy() flyVelocity = nil end if flyGyro then flyGyro:Destroy() flyGyro = nil end if humanoid then humanoid.PlatformStand = false end if flyButton then flyButton.Text = "✦ FLY : OFF" flyButton.TextColor3 = ORANGE end end local function startFly() if not humanoid or not rootPart then return end flying = true flyButton.Text = "✦ FLY : ON" flyButton.TextColor3 = LIGHT_ORANGE flyVelocity = Instance.new("BodyVelocity") flyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) flyVelocity.Velocity = Vector3.zero flyVelocity.Parent = rootPart flyGyro = Instance.new("BodyGyro") flyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) flyGyro.P = 10000 flyGyro.Parent = rootPart humanoid.PlatformStand = true flyConnection = RunService.RenderStepped:Connect(function() if not flying or not rootPart or not rootPart.Parent then return end local camera = workspace.CurrentCamera local direction = Vector3.zero if UserInputService:IsKeyDown(keys.Forward) then direction += camera.CFrame.LookVector end if UserInputService:IsKeyDown(keys.Backward) then direction -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(keys.Left) then direction -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(keys.Right) then direction += camera.CFrame.RightVector end if UserInputService:IsKeyDown(keys.Up) then direction += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(keys.Down) then direction -= Vector3.new(0, 1, 0) end if direction.Magnitude > 0 then direction = direction.Unit * flySpeed end flyVelocity.Velocity = direction flyGyro.CFrame = camera.CFrame end) end --================================================== -- SKELETON --================================================== local function removeSkeleton(data) if not data or not data.skeleton then return end for _, beam in ipairs(data.skeleton) do if beam then beam:Destroy() end end data.skeleton = nil end local function getPart(char, name) return char:FindFirstChild(name) end local function createSkeletonLine(folder, partA, partB) if not partA or not partB then return nil end local attachmentA = Instance.new("Attachment") attachmentA.Name = "EclipseSkeletonA" attachmentA.Parent = partA local attachmentB = Instance.new("Attachment") attachmentB.Name = "EclipseSkeletonB" attachmentB.Parent = partB local beam = Instance.new("Beam") beam.Name = "EclipseSkeleton" beam.Attachment0 = attachmentA beam.Attachment1 = attachmentB beam.Color = ColorSequence.new(LIGHT_ORANGE) beam.Width0 = 0.055 beam.Width1 = 0.055 beam.FaceCamera = true beam.LightEmission = 1 beam.Transparency = NumberSequence.new(0) beam.Parent = folder return { beam = beam, attachmentA = attachmentA, attachmentB = attachmentB } end local function createSkeleton(player) if player == LocalPlayer then return nil end local char = player.Character if not char then return nil end local folder = Instance.new("Folder") folder.Name = "EclipseSkeleton" folder.Parent = char local lines = {} local torso = getPart(char, "UpperTorso") or getPart(char, "Torso") local head = getPart(char, "Head") local upperLeftArm = getPart(char, "LeftUpperArm") local lowerLeftArm = getPart(char, "LeftLowerArm") local leftHand = getPart(char, "LeftHand") local upperRightArm = getPart(char, "RightUpperArm") local lowerRightArm = getPart(char, "RightLowerArm") local rightHand = getPart(char, "RightHand") local upperLeftLeg = getPart(char, "LeftUpperLeg") local lowerLeftLeg = getPart(char, "LeftLowerLeg") local leftFoot = getPart(char, "LeftFoot") local upperRightLeg = getPart(char, "RightUpperLeg") local lowerRightLeg = getPart(char, "RightLowerLeg") local rightFoot = getPart(char, "RightFoot") -- R15 if torso and head then table.insert(lines, createSkeletonLine(folder, head, torso)) end if torso and upperLeftArm then table.insert(lines, createSkeletonLine(folder, torso, upperLeftArm)) table.insert(lines, createSkeletonLine(folder, upperLeftArm, lowerLeftArm)) table.insert(lines, createSkeletonLine(folder, lowerLeftArm, leftHand)) end if torso and upperRightArm then table.insert(lines, createSkeletonLine(folder, torso, upperRightArm)) table.insert(lines, createSkeletonLine(folder, upperRightArm, lowerRightArm)) table.insert(lines, createSkeletonLine(folder, lowerRightArm, rightHand)) end if torso and upperLeftLeg then table.insert(lines, createSkeletonLine(folder, torso, upperLeftLeg)) table.insert(lines, createSkeletonLine(folder, upperLeftLeg, lowerLeftLeg)) table.insert(lines, createSkeletonLine(folder, lowerLeftLeg, leftFoot)) end if torso and upperRightLeg then table.insert(lines, createSkeletonLine(folder, torso, upperRightLeg)) table.insert(lines, createSkeletonLine(folder, upperRightLeg, lowerRightLeg)) table.insert(lines, createSkeletonLine(folder, lowerRightLeg, rightFoot)) end -- R6 local leftArm = getPart(char, "Left Arm") local rightArm = getPart(char, "Right Arm") local leftLeg = getPart(char, "Left Leg") local rightLeg = getPart(char, "Right Leg") if torso and not upperLeftArm then if head then table.insert(lines, createSkeletonLine(folder, head, torso)) end if leftArm then table.insert(lines, createSkeletonLine(folder, torso, leftArm)) end if rightArm then table.insert(lines, createSkeletonLine(folder, torso, rightArm)) end if leftLeg then table.insert(lines, createSkeletonLine(folder, torso, leftLeg)) end if rightLeg then table.insert(lines, createSkeletonLine(folder, torso, rightLeg)) end end local cleanLines = {} for _, line in ipairs(lines) do if line then table.insert(cleanLines, line.beam) end end return { folder = folder, skeleton = cleanLines } end --================================================== -- ESP --================================================== local function removeESP(player) local data = espObjects[player] if not data then return end if data.highlight then data.highlight:Destroy() end if data.billboard then data.billboard:Destroy() end if data.skeletonFolder then data.skeletonFolder:Destroy() end espObjects[player] = nil end local function updateESP(player) if player == LocalPlayer then return end removeESP(player) if not espEnabled and not playerNamesEnabled and not skeletonEnabled then return end local char = player.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") if not root then return end local data = {} -- ESP highlight if espEnabled then local highlight = Instance.new("Highlight") highlight.Name = "EclipseESP" highlight.FillColor = ORANGE highlight.OutlineColor = LIGHT_ORANGE highlight.FillTransparency = 0.8 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = char data.highlight = highlight end -- Names if playerNamesEnabled then local billboard = Instance.new("BillboardGui") billboard.Name = "EclipsePlayerName" billboard.Size = UDim2.new(0, 200, 0, 40) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Adornee = root billboard.Parent = gui local label = Instance.new("TextLabel") label.Size = UDim2.fromScale(1, 1) label.BackgroundTransparency = 1 label.Text = player.DisplayName label.TextColor3 = LIGHT_ORANGE label.TextStrokeColor3 = BLACK label.TextStrokeTransparency = 0 label.TextSize = 14 label.Font = Enum.Font.GothamBold label.Parent = billboard data.billboard = billboard end -- Skeleton if skeletonEnabled then local skeletonData = createSkeleton(player) if skeletonData then data.skeletonFolder = skeletonData.folder end end espObjects[player] = data end local function refreshESP() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then updateESP(player) end end end --================================================== -- FPS BOOST --================================================== local function setFPSBoost(enabled) fpsBoostEnabled = enabled if enabled then Lighting.GlobalShadows = false Lighting.FogEnd = 100000 else Lighting.GlobalShadows = originalLighting.GlobalShadows Lighting.FogEnd = originalLighting.FogEnd end fpsButton.Text = "FPS BOOST ● " .. (enabled and "ON" or "OFF") fpsButton.TextColor3 = enabled and LIGHT_ORANGE or WHITE end --================================================== -- ANTI LAG --================================================== local function setAntiLag(enabled) antiLagEnabled = enabled for _, object in ipairs(workspace:GetDescendants()) do if object:IsA("ParticleEmitter") then if enabled then if object:GetAttribute("EclipseOriginalRate") == nil then object:SetAttribute( "EclipseOriginalRate", object.Rate ) end object.Rate = math.min(object.Rate, 5) else local original = object:GetAttribute("EclipseOriginalRate") if original then object.Rate = original object:SetAttribute( "EclipseOriginalRate", nil ) end end end if object:IsA("Trail") then if enabled then if object:GetAttribute("EclipseOriginalLifetime") == nil then object:SetAttribute( "EclipseOriginalLifetime", object.Lifetime ) end object.Lifetime = NumberRange.new(0.05) else local original = object:GetAttribute("EclipseOriginalLifetime") if original then object.Lifetime = original object:SetAttribute( "EclipseOriginalLifetime", nil ) end end end end antiLagButton.Text = "ANTI-LAG ● " .. (enabled and "ON" or "OFF") antiLagButton.TextColor3 = enabled and LIGHT_ORANGE or WHITE end --================================================== -- RTX / REALISTIC --================================================== local rtxObjects = {} local function removeRTXObjects() for _, object in ipairs(rtxObjects) do if object and object.Parent then object:Destroy() end end table.clear(rtxObjects) end local function setRTX(enabled) rtxEnabled = enabled removeRTXObjects() if enabled then -- Atmosphere local atmosphere = Instance.new("Atmosphere") atmosphere.Name = "EclipseRTX_Atmosphere" atmosphere.Density = 0.28 atmosphere.Offset = 0.15 atmosphere.Color = Color3.fromRGB(199, 216, 255) atmosphere.Decay = Color3.fromRGB(90, 105, 130) atmosphere.Glare = 0.15 atmosphere.Haze = 1.2 atmosphere.Parent = Lighting table.insert(rtxObjects, atmosphere) -- Bloom local bloom = Instance.new("BloomEffect") bloom.Name = "EclipseRTX_Bloom" bloom.Intensity = 0.32 bloom.Size = 24 bloom.Threshold = 1.1 bloom.Parent = Lighting table.insert(rtxObjects, bloom) -- Color correction local color = Instance.new("ColorCorrectionEffect") color.Name = "EclipseRTX_Color" color.Brightness = 0.04 color.Contrast = 0.16 color.Saturation = 0.08 color.TintColor = Color3.fromRGB(255, 245, 230) color.Parent = Lighting table.insert(rtxObjects, color) -- Sun rays local sun = Instance.new("SunRaysEffect") sun.Name = "EclipseRTX_SunRays" sun.Intensity = 0.08 sun.Spread = 0.85 sun.Parent = Lighting table.insert(rtxObjects, sun) -- Depth of field local depth = Instance.new("DepthOfFieldEffect") depth.Name = "EclipseRTX_Depth" depth.FarIntensity = 0.08 depth.FocusDistance = 35 depth.InFocusRadius = 45 depth.NearIntensity = 0.03 depth.Parent = Lighting table.insert(rtxObjects, depth) Lighting.GlobalShadows = true Lighting.Brightness = math.max( originalLighting.Brightness, 2 ) Lighting.ExposureCompensation = 0.05 else Lighting.GlobalShadows = originalLighting.GlobalShadows Lighting.Brightness = originalLighting.Brightness Lighting.ExposureCompensation = originalLighting.ExposureCompensation end rtxButton.Text = "RTX / REALISTIC ● " .. (enabled and "ON" or "OFF") rtxButton.TextColor3 = enabled and LIGHT_ORANGE or WHITE end --================================================== -- NOCLIP --================================================== local function setNoclip(enabled) noclipEnabled = enabled if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end if enabled then noclipConnection = RunService.Stepped:Connect(function() if not noclipEnabled or not character then return end for _, object in ipairs(character:GetDescendants()) do if object:IsA("BasePart") then object.CanCollide = false end end end) end noclipButton.Text = "NOCLIP ● " .. (enabled and "ON" or "OFF") noclipButton.TextColor3 = enabled and LIGHT_ORANGE or WHITE end --================================================== -- LAYOUT --================================================== local function setAZERTY() keyboardLayout = "AZERTY" keys.Forward = Enum.KeyCode.Z keys.Backward = Enum.KeyCode.S keys.Left = Enum.KeyCode.Q keys.Right = Enum.KeyCode.D keys.Up = Enum.KeyCode.E keys.Down = Enum.KeyCode.X forwardButton.Text = "Forward : Z" backwardButton.Text = "Backward : S" leftButton.Text = "Left : Q" rightButton.Text = "Right : D" upButton.Text = "Up : E" downButton.Text = "Down : X" azertyButton.Text = "AZERTY ✓" azertyButton.BackgroundColor3 = ORANGE azertyButton.TextColor3 = BLACK qwertyButton.Text = "QWERTY" qwertyButton.BackgroundColor3 = DARK qwertyButton.TextColor3 = WHITE end local function setQWERTY() keyboardLayout = "QWERTY" keys.Forward = Enum.KeyCode.W keys.Backward = Enum.KeyCode.S keys.Left = Enum.KeyCode.A keys.Right = Enum.KeyCode.D keys.Up = Enum.KeyCode.Space keys.Down = Enum.KeyCode.LeftControl forwardButton.Text = "Forward : W" backwardButton.Text = "Backward : S" leftButton.Text = "Left : A" rightButton.Text = "Right : D" upButton.Text = "Up : SPACE" downButton.Text = "Down : CTRL" azertyButton.Text = "AZERTY" azertyButton.BackgroundColor3 = DARK azertyButton.TextColor3 = WHITE qwertyButton.Text = "QWERTY ✓" qwertyButton.BackgroundColor3 = ORANGE qwertyButton.TextColor3 = BLACK end --================================================== -- KEYBIND EDITING --================================================== local displayNames = { Forward = "Forward", Backward = "Backward", Left = "Left", Right = "Right", Up = "Up", Down = "Down" } local function beginKeybindChange(button, keyName) if waitingForKey then return end waitingForKey = keyName button.Text = "Press a key..." button.TextColor3 = ORANGE end connect(forwardButton.MouseButton1Click, function() beginKeybindChange(forwardButton, "Forward") end) connect(backwardButton.MouseButton1Click, function() beginKeybindChange(backwardButton, "Backward") end) connect(leftButton.MouseButton1Click, function() beginKeybindChange(leftButton, "Left") end) connect(rightButton.MouseButton1Click, function() beginKeybindChange(rightButton, "Right") end) connect(upButton.MouseButton1Click, function() beginKeybindChange(upButton, "Up") end) connect(downButton.MouseButton1Click, function() beginKeybindChange(downButton, "Down") end) connect(flyKeyButton.MouseButton1Click, function() if waitingForKey then return end waitingForKey = "Fly" flyKeyButton.Text = "Press a key..." flyKeyButton.TextColor3 = ORANGE end) --================================================== -- BUTTON EVENTS --================================================== connect(flyButton.MouseButton1Click, function() if flying then stopFly() else startFly() end end) connect(settingsButton.MouseButton1Click, function() main.Visible = false settings.Visible = true end) connect(closeSettings.MouseButton1Click, function() settings.Visible = false main.Visible = true end) connect(azertyButton.MouseButton1Click, setAZERTY) connect(qwertyButton.MouseButton1Click, setQWERTY) connect(speedBox.FocusLost, function() local value = tonumber(speedBox.Text) if value then flySpeed = math.clamp(value, MIN_SPEED, MAX_SPEED) else flySpeed = DEFAULT_SPEED end speedBox.Text = tostring(flySpeed) end) --================================================== -- ESP BUTTONS --================================================== connect(espButton.MouseButton1Click, function() espEnabled = not espEnabled espButton.Text = "ESP ● " .. (espEnabled and "ON" or "OFF") espButton.TextColor3 = espEnabled and LIGHT_ORANGE or WHITE refreshESP() end) connect(namesButton.MouseButton1Click, function() playerNamesEnabled = not playerNamesEnabled namesButton.Text = "PLAYER NAMES ● " .. (playerNamesEnabled and "ON" or "OFF") namesButton.TextColor3 = playerNamesEnabled and LIGHT_ORANGE or WHITE refreshESP() end) connect(skeletonButton.MouseButton1Click, function() skeletonEnabled = not skeletonEnabled skeletonButton.Text = "SKELETON ● " .. (skeletonEnabled and "ON" or "OFF") skeletonButton.TextColor3 = skeletonEnabled and LIGHT_ORANGE or WHITE refreshESP() end) --================================================== -- PERFORMANCE BUTTONS --================================================== connect(fpsButton.MouseButton1Click, function() setFPSBoost(not fpsBoostEnabled) end) connect(antiLagButton.MouseButton1Click, function() setAntiLag(not antiLagEnabled) end) connect(rtxButton.MouseButton1Click, function() setRTX(not rtxEnabled) end) connect(noclipButton.MouseButton1Click, function() setNoclip(not noclipEnabled) end) --================================================== -- PLAYER EVENTS --================================================== connect(Players.PlayerAdded, function(player) connect(player.CharacterAdded, function() task.wait(0.5) if espEnabled or playerNamesEnabled or skeletonEnabled then updateESP(player) end end) end) connect(Players.PlayerRemoving, function(player) removeESP(player) end) for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then connect(player.CharacterAdded, function() task.wait(0.5) if espEnabled or playerNamesEnabled or skeletonEnabled then updateESP(player) end end) end end --================================================== -- GUI PARTICLES --================================================== local particleFolder = Instance.new("Folder") particleFolder.Name = "EclipseParticles" particleFolder.Parent = gui local function createParticle() if unloaded or not main.Visible then return end local particle = Instance.new("Frame") local size = math.random(2, 5) particle.Size = UDim2.new(0, size, 0, size) particle.BackgroundColor3 = ORANGE particle.BackgroundTransparency = 0.1 particle.BorderSizePixel = 0 particle.ZIndex = 15 particle.Parent = particleFolder createCorner(particle, 10) local side = math.random(1, 4) if side == 1 then particle.Position = UDim2.new( math.random(), 0, 0, -10 ) elseif side == 2 then particle.Position = UDim2.new( 1, 10, math.random(), 0 ) elseif side == 3 then particle.Position = UDim2.new( math.random(), 0, 1, 10 ) else particle.Position = UDim2.new( 0, -10, math.random(), 0 ) end local target = UDim2.new( math.random(), math.random(-30, 30), math.random(), math.random(-30, 30) ) local tween = TweenService:Create( particle, TweenInfo.new( math.random(12, 20) / 10, Enum.EasingStyle.Quad, Enum.EasingDirection.Out ), { Position = target, BackgroundTransparency = 1, Size = UDim2.new(0, 1, 0, 1) } ) tween:Play() tween.Completed:Connect(function() if particle then particle:Destroy() end end) end task.spawn(function() while not unloaded do task.wait(PARTICLE_INTERVAL) if not unloaded and main.Visible then for i = 1, 14 do if unloaded then break end createParticle() task.wait(0.05) end end end end) --================================================== -- CTRL HIDE / SHOW + KEYBINDS --================================================== connect(UserInputService.InputBegan, function(input, gameProcessed) if unloaded then return end if input.UserInputType ~= Enum.UserInputType.Keyboard then return end -- Keybind editing if waitingForKey then local selectedKey = waitingForKey if selectedKey == "Fly" then keys.Fly = input.KeyCode flyKeyButton.Text = "Fly Key : " .. input.KeyCode.Name flyKeyButton.TextColor3 = WHITE else keys[selectedKey] = input.KeyCode keyButtons[selectedKey].Text = displayNames[selectedKey] .. " : " .. input.KeyCode.Name keyButtons[selectedKey].TextColor3 = WHITE end waitingForKey = nil return end if gameProcessed then return end -- CTRL = hide/show if input.KeyCode == Enum.KeyCode.LeftControl or input.KeyCode == Enum.KeyCode.RightControl then guiHidden = not guiHidden main.Visible = not guiHidden if guiHidden then settings.Visible = false end return end -- Fly key if input.KeyCode == keys.Fly then if flying then stopFly() else startFly() end end end) --================================================== -- UNLOAD --================================================== local function unload() if unloaded then return end unloaded = true -- Stop Fly stopFly() -- Stop Noclip if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end noclipEnabled = false -- Restore character collision if character then for _, object in ipairs(character:GetDescendants()) do if object:IsA("BasePart") then object.CanCollide = true end end end -- Remove ESP for player in pairs(espObjects) do removeESP(player) end table.clear(espObjects) -- Remove RTX removeRTXObjects() -- Restore lighting Lighting.GlobalShadows = originalLighting.GlobalShadows Lighting.FogEnd = originalLighting.FogEnd Lighting.Brightness = originalLighting.Brightness Lighting.ExposureCompensation = originalLighting.ExposureCompensation Lighting.Ambient = originalLighting.Ambient Lighting.OutdoorAmbient = originalLighting.OutdoorAmbient Lighting.ClockTime = originalLighting.ClockTime -- Restore anti-lag for _, object in ipairs(workspace:GetDescendants()) do if object:IsA("ParticleEmitter") then local original = object:GetAttribute("EclipseOriginalRate") if original then object.Rate = original object:SetAttribute( "EclipseOriginalRate", nil ) end end if object:IsA("Trail") then local original = object:GetAttribute( "EclipseOriginalLifetime" ) if original then object.Lifetime = original object:SetAttribute( "EclipseOriginalLifetime", nil ) end end end -- Remove particles if particleFolder then particleFolder:Destroy() end -- Disconnect disconnectAll() -- Remove GUI if gui then gui:Destroy() end end connect(unloadButton.MouseButton1Click, unload) --================================================== -- INITIALIZE --================================================== setAZERTY() print("ECLIPSE • FE FLY loaded successfully.") print("Made by K_4VAE on Roblox")