-- Solar GUI | Full Edition + Key System -- LocalScript in StarterGui -- Key: SolarOnTop13240209 local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local Lighting = game:GetService("Lighting") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local root = character:WaitForChild("HumanoidRootPart") local CORRECT_KEY = "SolarOnTop13240209" --// Theme local Theme = { Primary = Color3.fromRGB(255, 170, 50), Secondary = Color3.fromRGB(255, 100, 30), Accent = Color3.fromRGB(255, 220, 120), Background = Color3.fromRGB(12, 14, 28), Card = Color3.fromRGB(22, 26, 48), Text = Color3.fromRGB(255, 245, 230), Muted = Color3.fromRGB(160, 170, 200), Success = Color3.fromRGB(80, 255, 140), Danger = Color3.fromRGB(255, 90, 90), Sheriff = Color3.fromRGB(80, 160, 255), Murderer = Color3.fromRGB(255, 60, 60), Innocent = Color3.fromRGB(80, 255, 120) } --// State local States = { Flying = false, Fullbright = false, NoFog = false, ESP = false, Tracers = false, RoleESP = false, CoinESP = false, AutoFarm = false, GunESP = false, FlingAll = false, FlingTouch = false } local flingPower = 400 local flySpeed = 50 local OriginalLighting = { Brightness = Lighting.Brightness, Ambient = Lighting.Ambient, OutdoorAmbient = Lighting.OutdoorAmbient, FogEnd = Lighting.FogEnd, FogStart = Lighting.FogStart, ClockTime = Lighting.ClockTime } --// ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SolarGUI" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = player:WaitForChild("PlayerGui") --//////////////////////////////////////////////////////////// -- KEY SYSTEM UI --//////////////////////////////////////////////////////////// local KeyFrame = Instance.new("Frame") KeyFrame.Name = "KeyFrame" KeyFrame.Size = UDim2.new(0, 380, 0, 260) KeyFrame.Position = UDim2.new(0.5, -190, 0.5, -130) KeyFrame.BackgroundColor3 = Theme.Background KeyFrame.BorderSizePixel = 0 KeyFrame.Parent = ScreenGui Instance.new("UICorner", KeyFrame).CornerRadius = UDim.new(0, 16) local KeyStroke = Instance.new("UIStroke") KeyStroke.Color = Theme.Primary KeyStroke.Thickness = 2 KeyStroke.Transparency = 0.3 KeyStroke.Parent = KeyFrame local KeyGlow = Instance.new("ImageLabel") KeyGlow.Size = UDim2.new(1, 40, 1, 40) KeyGlow.Position = UDim2.new(0, -20, 0, -20) KeyGlow.BackgroundTransparency = 1 KeyGlow.Image = "rbxassetid://5028857084" KeyGlow.ImageColor3 = Theme.Primary KeyGlow.ImageTransparency = 0.7 KeyGlow.ScaleType = Enum.ScaleType.Slice KeyGlow.SliceCenter = Rect.new(24, 24, 276, 276) KeyGlow.ZIndex = 0 KeyGlow.Parent = KeyFrame local KeyTitle = Instance.new("TextLabel") KeyTitle.Size = UDim2.new(1, -40, 0, 40) KeyTitle.Position = UDim2.new(0, 20, 0, 20) KeyTitle.BackgroundTransparency = 1 KeyTitle.Text = "☀ SOLAR GUI" KeyTitle.Font = Enum.Font.GothamBlack KeyTitle.TextSize = 24 KeyTitle.TextColor3 = Theme.Accent KeyTitle.Parent = KeyFrame local KeySubtitle = Instance.new("TextLabel") KeySubtitle.Size = UDim2.new(1, -40, 0, 24) KeySubtitle.Position = UDim2.new(0, 20, 0, 60) KeySubtitle.BackgroundTransparency = 1 KeySubtitle.Text = "Enter Key to Unlock" KeySubtitle.Font = Enum.Font.Gotham KeySubtitle.TextSize = 14 KeySubtitle.TextColor3 = Theme.Muted KeySubtitle.Parent = KeyFrame local KeyBox = Instance.new("TextBox") KeyBox.Size = UDim2.new(1, -40, 0, 42) KeyBox.Position = UDim2.new(0, 20, 0, 100) KeyBox.BackgroundColor3 = Color3.fromRGB(25, 28, 48) KeyBox.BorderSizePixel = 0 KeyBox.Text = "" KeyBox.PlaceholderText = "Enter key here..." KeyBox.PlaceholderColor3 = Color3.fromRGB(120, 130, 160) KeyBox.Font = Enum.Font.Gotham KeyBox.TextSize = 15 KeyBox.TextColor3 = Theme.Text KeyBox.ClearTextOnFocus = false KeyBox.Parent = KeyFrame Instance.new("UICorner", KeyBox).CornerRadius = UDim.new(0, 10) local KeyBoxStroke = Instance.new("UIStroke") KeyBoxStroke.Color = Theme.Primary KeyBoxStroke.Thickness = 1.5 KeyBoxStroke.Transparency = 0.6 KeyBoxStroke.Parent = KeyBox local SubmitBtn = Instance.new("TextButton") SubmitBtn.Size = UDim2.new(1, -40, 0, 42) SubmitBtn.Position = UDim2.new(0, 20, 0, 155) SubmitBtn.BackgroundColor3 = Theme.Primary SubmitBtn.Text = "Unlock" SubmitBtn.Font = Enum.Font.GothamBold SubmitBtn.TextSize = 16 SubmitBtn.TextColor3 = Color3.fromRGB(25, 15, 5) SubmitBtn.Parent = KeyFrame Instance.new("UICorner", SubmitBtn).CornerRadius = UDim.new(0, 10) local ErrorLabel = Instance.new("TextLabel") ErrorLabel.Size = UDim2.new(1, -40, 0, 24) ErrorLabel.Position = UDim2.new(0, 20, 0, 208) ErrorLabel.BackgroundTransparency = 1 ErrorLabel.Text = "" ErrorLabel.Font = Enum.Font.Gotham ErrorLabel.TextSize = 13 ErrorLabel.TextColor3 = Theme.Danger ErrorLabel.Parent = KeyFrame SubmitBtn.MouseEnter:Connect(function() TweenService:Create(SubmitBtn, TweenInfo.new(0.15), {BackgroundColor3 = Theme.Accent}):Play() end) SubmitBtn.MouseLeave:Connect(function() TweenService:Create(SubmitBtn, TweenInfo.new(0.15), {BackgroundColor3 = Theme.Primary}):Play() end) --//////////////////////////////////////////////////////////// -- MAIN GUI (created but hidden until key is correct) --//////////////////////////////////////////////////////////// local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.new(0, 780, 0, 520) Main.Position = UDim2.new(0.5, -390, 0.5, -260) Main.BackgroundColor3 = Theme.Background Main.BorderSizePixel = 0 Main.ClipsDescendants = true Main.Visible = false Main.Parent = ScreenGui Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 18) local MainStroke = Instance.new("UIStroke") MainStroke.Color = Theme.Primary MainStroke.Thickness = 2 MainStroke.Transparency = 0.35 MainStroke.Parent = Main local OuterGlow = Instance.new("ImageLabel") OuterGlow.Size = UDim2.new(1, 50, 1, 50) OuterGlow.Position = UDim2.new(0, -25, 0, -25) OuterGlow.BackgroundTransparency = 1 OuterGlow.Image = "rbxassetid://5028857084" OuterGlow.ImageColor3 = Theme.Primary OuterGlow.ImageTransparency = 0.72 OuterGlow.ScaleType = Enum.ScaleType.Slice OuterGlow.SliceCenter = Rect.new(24, 24, 276, 276) OuterGlow.ZIndex = 0 OuterGlow.Parent = Main -- Background local BG = Instance.new("Frame") BG.Size = UDim2.new(1, 0, 1, 0) BG.BackgroundColor3 = Theme.Background BG.BorderSizePixel = 0 BG.ZIndex = 1 BG.Parent = Main Instance.new("UICorner", BG).CornerRadius = UDim.new(0, 18) local Sun = Instance.new("Frame") Sun.Size = UDim2.new(0, 140, 0, 140) Sun.Position = UDim2.new(0.5, -70, 0.5, -70) Sun.BackgroundColor3 = Theme.Primary Sun.BorderSizePixel = 0 Sun.ZIndex = 2 Sun.Parent = BG Instance.new("UICorner", Sun).CornerRadius = UDim.new(1, 0) local SunGradient = Instance.new("UIGradient") SunGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 240, 180)), ColorSequenceKeypoint.new(0.5, Theme.Primary), ColorSequenceKeypoint.new(1, Theme.Secondary) }) SunGradient.Parent = Sun local SunGlow = Instance.new("ImageLabel") SunGlow.Size = UDim2.new(2, 0, 2, 0) SunGlow.Position = UDim2.new(0.5, 0, 0.5, 0) SunGlow.AnchorPoint = Vector2.new(0.5, 0.5) SunGlow.BackgroundTransparency = 1 SunGlow.Image = "rbxassetid://5028857084" SunGlow.ImageColor3 = Theme.Primary SunGlow.ImageTransparency = 0.5 SunGlow.ZIndex = 1 SunGlow.Parent = Sun local Rays = Instance.new("Frame") Rays.Size = UDim2.new(1, 0, 1, 0) Rays.BackgroundTransparency = 1 Rays.ZIndex = 1 Rays.Parent = BG for i = 1, 12 do local ray = Instance.new("Frame") ray.Size = UDim2.new(0, 5, 0, 260) ray.Position = UDim2.new(0.5, -2.5, 0.5, -130) ray.AnchorPoint = Vector2.new(0.5, 0.5) ray.BackgroundColor3 = Theme.Accent ray.BackgroundTransparency = 0.85 ray.BorderSizePixel = 0 ray.Rotation = i * 30 ray.Parent = Rays Instance.new("UICorner", ray).CornerRadius = UDim.new(1, 0) end local Particles = Instance.new("Folder") Particles.Parent = BG local function createStar() local star = Instance.new("Frame") star.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4)) star.Position = UDim2.new(math.random(), 0, math.random(), 0) star.BackgroundColor3 = Color3.fromRGB(255, 245, 210) star.BackgroundTransparency = math.random(40, 80) / 100 star.BorderSizePixel = 0 star.ZIndex = 3 star.Parent = Particles Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0) task.spawn(function() while star and star.Parent do local t = TweenService:Create(star, TweenInfo.new(math.random(1, 2), Enum.EasingStyle.Sine), { BackgroundTransparency = math.random(25, 90)/100 }) t:Play() t.Completed:Wait() end end) end for _ = 1, 30 do createStar() end local function createPlanet(dist, size, color, speed) local planet = Instance.new("Frame") planet.Size = UDim2.new(0, size, 0, size) planet.BackgroundColor3 = color planet.BorderSizePixel = 0 planet.ZIndex = 4 planet.Parent = BG Instance.new("UICorner", planet).CornerRadius = UDim.new(1, 0) local angle = math.random() * math.pi * 2 RunService.RenderStepped:Connect(function(dt) angle += speed * dt local x = math.cos(angle) * dist local y = math.sin(angle) * dist * 0.55 planet.Position = UDim2.new(0.5, x - size/2, 0.5, y - size/2) end) end createPlanet(115, 10, Color3.fromRGB(100, 180, 255), 0.45) createPlanet(145, 8, Color3.fromRGB(255, 140, 90), 0.3) createPlanet(175, 13, Color3.fromRGB(180, 130, 255), 0.2) -- Top Bar local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 50) TopBar.BackgroundColor3 = Color3.fromRGB(16, 18, 36) TopBar.BackgroundTransparency = 0.1 TopBar.BorderSizePixel = 0 TopBar.ZIndex = 10 TopBar.Parent = Main Instance.new("UICorner", TopBar).CornerRadius = UDim.new(0, 18) local TopFix = Instance.new("Frame") TopFix.Size = UDim2.new(1, 0, 0, 16) TopFix.Position = UDim2.new(0, 0, 1, -16) TopFix.BackgroundColor3 = Color3.fromRGB(16, 18, 36) TopFix.BackgroundTransparency = 0.1 TopFix.BorderSizePixel = 0 TopFix.ZIndex = 10 TopFix.Parent = TopBar local Title = Instance.new("TextLabel") Title.Size = UDim2.new(0, 280, 1, 0) Title.Position = UDim2.new(0, 16, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "☀ SOLAR GUI" Title.Font = Enum.Font.GothamBlack Title.TextSize = 21 Title.TextColor3 = Theme.Accent Title.TextXAlignment = Enum.TextXAlignment.Left Title.ZIndex = 11 Title.Parent = TopBar task.spawn(function() while true do TweenService:Create(Title, TweenInfo.new(1.3, Enum.EasingStyle.Sine), {TextColor3 = Theme.Primary}):Play() task.wait(1.3) TweenService:Create(Title, TweenInfo.new(1.3, Enum.EasingStyle.Sine), {TextColor3 = Theme.Accent}):Play() task.wait(1.3) end end) local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 34, 0, 34) CloseBtn.Position = UDim2.new(1, -44, 0.5, -17) CloseBtn.BackgroundColor3 = Color3.fromRGB(45, 25, 35) CloseBtn.Text = "✕" CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 17 CloseBtn.TextColor3 = Color3.fromRGB(255, 110, 110) CloseBtn.ZIndex = 12 CloseBtn.Parent = TopBar Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 9) CloseBtn.MouseEnter:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(70, 30, 40)}):Play() end) CloseBtn.MouseLeave:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(45, 25, 35)}):Play() end) CloseBtn.MouseButton1Click:Connect(function() States.Flying = false States.ESP = false States.Tracers = false States.RoleESP = false States.CoinESP = false States.AutoFarm = false States.GunESP = false States.FlingAll = false States.FlingTouch = false if States.Fullbright then Lighting.Brightness = OriginalLighting.Brightness Lighting.Ambient = OriginalLighting.Ambient Lighting.OutdoorAmbient = OriginalLighting.OutdoorAmbient end if States.NoFog then Lighting.FogEnd = OriginalLighting.FogEnd Lighting.FogStart = OriginalLighting.FogStart end local t = TweenService:Create(Main, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), { Size = UDim2.new(0, 0, 0, 0), Position = UDim2.new(0.5, 0, 0.5, 0) }) t:Play() t.Completed:Wait() ScreenGui:Destroy() end) -- Sidebar local Sidebar = Instance.new("Frame") Sidebar.Size = UDim2.new(0, 148, 1, -50) Sidebar.Position = UDim2.new(0, 0, 0, 50) Sidebar.BackgroundColor3 = Color3.fromRGB(14, 16, 32) Sidebar.BackgroundTransparency = 0.2 Sidebar.BorderSizePixel = 0 Sidebar.ZIndex = 8 Sidebar.Parent = Main local Pages = Instance.new("Frame") Pages.Size = UDim2.new(1, -148, 1, -50) Pages.Position = UDim2.new(0, 148, 0, 50) Pages.BackgroundTransparency = 1 Pages.ClipsDescendants = true Pages.ZIndex = 5 Pages.Parent = Main local currentPage = nil local function createPage(name) local page = Instance.new("ScrollingFrame") page.Name = name page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.BorderSizePixel = 0 page.ScrollBarThickness = 3 page.ScrollBarImageColor3 = Theme.Primary page.CanvasSize = UDim2.new(0, 0, 0, 0) page.Visible = false page.ZIndex = 6 page.Parent = Pages local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 10) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = page local pad = Instance.new("UIPadding") pad.PaddingTop = UDim.new(0, 12) pad.PaddingLeft = UDim.new(0, 12) pad.PaddingRight = UDim.new(0, 12) pad.PaddingBottom = UDim.new(0, 16) pad.Parent = page layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() page.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 20) end) return page end local HomePage = createPage("Home") local CombatPage = createPage("Combat") local VisualsPage = createPage("Visuals") local MM2Page = createPage("MM2") local FlingPage = createPage("Fling") local SettingsPage = createPage("Settings") local function createNavButton(text, icon, page, order) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -12, 0, 36) btn.Position = UDim2.new(0, 6, 0, 6 + (order-1)*42) btn.BackgroundColor3 = Color3.fromRGB(26, 30, 52) btn.BackgroundTransparency = 0.35 btn.Text = "" btn.ZIndex = 9 btn.Parent = Sidebar Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 9) local stroke = Instance.new("UIStroke") stroke.Color = Theme.Primary stroke.Thickness = 1.5 stroke.Transparency = 1 stroke.Parent = btn local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -10, 1, 0) label.Position = UDim2.new(0, 9, 0, 0) label.BackgroundTransparency = 1 label.Text = icon .. " " .. text label.Font = Enum.Font.GothamMedium label.TextSize = 12 label.TextColor3 = Theme.Muted label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 10 label.Parent = btn local function setActive(active) if active then TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0.05, BackgroundColor3 = Color3.fromRGB(45, 38, 22)}):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 0.25}):Play() TweenService:Create(label, TweenInfo.new(0.2), {TextColor3 = Theme.Accent}):Play() else TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0.35, BackgroundColor3 = Color3.fromRGB(26, 30, 52)}):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 1}):Play() TweenService:Create(label, TweenInfo.new(0.2), {TextColor3 = Theme.Muted}):Play() end end btn.MouseEnter:Connect(function() if currentPage ~= page then TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundTransparency = 0.2}):Play() TweenService:Create(label, TweenInfo.new(0.15), {TextColor3 = Theme.Text}):Play() end end) btn.MouseLeave:Connect(function() if currentPage ~= page then setActive(false) end end) btn.MouseButton1Click:Connect(function() if currentPage then currentPage.Visible = false end page.Visible = true currentPage = page setActive(true) end) return setActive end local setHome = createNavButton("Home", "🏠", HomePage, 1) local setCombat = createNavButton("Fly", "✈", CombatPage, 2) local setVisuals = createNavButton("Visuals", "🌌", VisualsPage, 3) local setMM2 = createNavButton("MM2", "🔪", MM2Page, 4) local setFling = createNavButton("Fling", "💥", FlingPage, 5) local setSettings = createNavButton("Settings", "⚙", SettingsPage, 6) HomePage.Visible = true currentPage = HomePage setHome(true) -- Toggle Factory local function createToggle(parent, title, description, stateKey, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 70) card.BackgroundColor3 = Theme.Card card.BackgroundTransparency = 0.12 card.BorderSizePixel = 0 card.ZIndex = 7 card.Parent = parent Instance.new("UICorner", card).CornerRadius = UDim.new(0, 10) local stroke = Instance.new("UIStroke") stroke.Color = Theme.Primary stroke.Thickness = 1 stroke.Transparency = 0.75 stroke.Parent = card local titleLbl = Instance.new("TextLabel") titleLbl.Size = UDim2.new(1, -80, 0, 20) titleLbl.Position = UDim2.new(0, 12, 0, 9) titleLbl.BackgroundTransparency = 1 titleLbl.Text = title titleLbl.Font = Enum.Font.GothamBold titleLbl.TextSize = 13 titleLbl.TextColor3 = Theme.Accent titleLbl.TextXAlignment = Enum.TextXAlignment.Left titleLbl.ZIndex = 8 titleLbl.Parent = card local descLbl = Instance.new("TextLabel") descLbl.Size = UDim2.new(1, -80, 0, 28) descLbl.Position = UDim2.new(0, 12, 0, 32) descLbl.BackgroundTransparency = 1 descLbl.Text = description descLbl.Font = Enum.Font.Gotham descLbl.TextSize = 11 descLbl.TextColor3 = Theme.Muted descLbl.TextXAlignment = Enum.TextXAlignment.Left descLbl.TextYAlignment = Enum.TextYAlignment.Top descLbl.TextWrapped = true descLbl.ZIndex = 8 descLbl.Parent = card local toggleBg = Instance.new("Frame") toggleBg.Size = UDim2.new(0, 46, 0, 24) toggleBg.Position = UDim2.new(1, -58, 0.5, -12) toggleBg.BackgroundColor3 = Color3.fromRGB(50, 50, 70) toggleBg.BorderSizePixel = 0 toggleBg.ZIndex = 8 toggleBg.Parent = card Instance.new("UICorner", toggleBg).CornerRadius = UDim.new(1, 0) local knob = Instance.new("Frame") knob.Size = UDim2.new(0, 18, 0, 18) knob.Position = UDim2.new(0, 3, 0.5, -9) knob.BackgroundColor3 = Color3.fromRGB(200, 200, 210) knob.BorderSizePixel = 0 knob.ZIndex = 9 knob.Parent = toggleBg Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0) local function updateVisual(on) if on then TweenService:Create(toggleBg, TweenInfo.new(0.2), {BackgroundColor3 = Theme.Primary}):Play() TweenService:Create(knob, TweenInfo.new(0.2), { Position = UDim2.new(1, -21, 0.5, -9), BackgroundColor3 = Color3.fromRGB(255, 255, 255) }):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 0.3, Color = Theme.Success}):Play() else TweenService:Create(toggleBg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 50, 70)}):Play() TweenService:Create(knob, TweenInfo.new(0.2), { Position = UDim2.new(0, 3, 0.5, -9), BackgroundColor3 = Color3.fromRGB(200, 200, 210) }):Play() TweenService:Create(stroke, TweenInfo.new(0.2), {Transparency = 0.75, Color = Theme.Primary}):Play() end end local clickBtn = Instance.new("TextButton") clickBtn.Size = UDim2.new(1, 0, 1, 0) clickBtn.BackgroundTransparency = 1 clickBtn.Text = "" clickBtn.ZIndex = 10 clickBtn.Parent = card clickBtn.MouseButton1Click:Connect(function() States[stateKey] = not States[stateKey] updateVisual(States[stateKey]) if callback then callback(States[stateKey]) end end) updateVisual(States[stateKey]) return card end -- Systems (Fly, Visuals, MM2, Fling) - same as before local bodyVel, bodyGyro local function startFly() if not character or not root or not humanoid then return end humanoid.PlatformStand = true bodyVel = Instance.new("BodyVelocity") bodyVel.MaxForce = Vector3.new(9e9, 9e9, 9e9) bodyVel.Velocity = Vector3.zero bodyVel.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bodyGyro.P = 9e4 bodyGyro.Parent = root RunService:BindToRenderStep("SolarFly", Enum.RenderPriority.Camera.Value, function() if not States.Flying or not bodyVel or not bodyGyro then return end local cam = workspace.CurrentCamera local move = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then move += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then move -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then move -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then move += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move -= Vector3.new(0, 1, 0) end if move.Magnitude > 0 then move = move.Unit * flySpeed end bodyVel.Velocity = move bodyGyro.CFrame = cam.CFrame end) end local function stopFly() RunService:UnbindFromRenderStep("SolarFly") if bodyVel then bodyVel:Destroy() bodyVel = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end if humanoid then humanoid.PlatformStand = false end end local espFolder = Instance.new("Folder") espFolder.Name = "SolarESP" espFolder.Parent = CoreGui local tracerFolder = Instance.new("Folder") tracerFolder.Name = "SolarTracers" tracerFolder.Parent = CoreGui local mm2Folder = Instance.new("Folder") mm2Folder.Name = "SolarMM2" mm2Folder.Parent = CoreGui local function clearESP() espFolder:ClearAllChildren() end local function clearTracers() tracerFolder:ClearAllChildren() end local function clearMM2() mm2Folder:ClearAllChildren() end local function updateESP() clearESP() if not States.ESP then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local highlight = Instance.new("Highlight") highlight.Adornee = plr.Character highlight.FillColor = Theme.Primary highlight.OutlineColor = Theme.Accent highlight.FillTransparency = 0.55 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = espFolder local billboard = Instance.new("BillboardGui") billboard.Adornee = plr.Character.HumanoidRootPart billboard.Size = UDim2.new(0, 110, 0, 26) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Parent = espFolder local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 1, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = plr.Name nameLabel.Font = Enum.Font.GothamBold nameLabel.TextSize = 12 nameLabel.TextColor3 = Theme.Accent nameLabel.TextStrokeTransparency = 0.4 nameLabel.Parent = billboard end end end local function updateTracers() clearTracers() if not States.Tracers or not root then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local a0 = Instance.new("Attachment") a0.Parent = root local a1 = Instance.new("Attachment") a1.Parent = plr.Character.HumanoidRootPart local beam = Instance.new("Beam") beam.Attachment0 = a0 beam.Attachment1 = a1 beam.FaceCamera = true beam.Color = ColorSequence.new(Theme.Primary) beam.Width0 = 0.11 beam.Width1 = 0.11 beam.Transparency = NumberSequence.new(0.25) beam.LightEmission = 1 beam.Parent = tracerFolder end end end local function getRole(plr) local char = plr.Character if not char then return "Unknown" end if char:FindFirstChild("Knife") or (plr:FindFirstChild("Backpack") and plr.Backpack:FindFirstChild("Knife")) then return "Murderer" end if char:FindFirstChild("Gun") or (plr:FindFirstChild("Backpack") and plr.Backpack:FindFirstChild("Gun")) then return "Sheriff" end return "Innocent" end local function updateRoleESP() if not States.RoleESP then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local role = getRole(plr) local color = Theme.Innocent if role == "Murderer" then color = Theme.Murderer elseif role == "Sheriff" then color = Theme.Sheriff end local highlight = Instance.new("Highlight") highlight.Adornee = plr.Character highlight.FillColor = color highlight.OutlineColor = color highlight.FillTransparency = 0.5 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = mm2Folder local billboard = Instance.new("BillboardGui") billboard.Adornee = plr.Character.HumanoidRootPart billboard.Size = UDim2.new(0, 130, 0, 38) billboard.StudsOffset = Vector3.new(0, 3.3, 0) billboard.AlwaysOnTop = true billboard.Parent = mm2Folder local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 0.55, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = plr.Name nameLabel.Font = Enum.Font.GothamBold nameLabel.TextSize = 12 nameLabel.TextColor3 = color nameLabel.TextStrokeTransparency = 0.3 nameLabel.Parent = billboard local roleLabel = Instance.new("TextLabel") roleLabel.Size = UDim2.new(1, 0, 0.45, 0) roleLabel.Position = UDim2.new(0, 0, 0.55, 0) roleLabel.BackgroundTransparency = 1 roleLabel.Text = role roleLabel.Font = Enum.Font.Gotham roleLabel.TextSize = 11 roleLabel.TextColor3 = color roleLabel.Parent = billboard end end end local function updateCoinESP() if not States.CoinESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "Coin" or obj.Name == "coin" then local highlight = Instance.new("Highlight") highlight.Adornee = obj:IsA("BasePart") and obj or obj.Parent highlight.FillColor = Theme.Accent highlight.OutlineColor = Theme.Primary highlight.FillTransparency = 0.4 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = mm2Folder end end end local function updateGunESP() if not States.GunESP then return end for _, plr in ipairs(Players:GetPlayers()) do local char = plr.Character if char then local gun = char:FindFirstChild("Gun") or (plr:FindFirstChild("Backpack") and plr.Backpack:FindFirstChild("Gun")) if gun then local handle = gun:FindFirstChild("Handle") or gun:FindFirstChildWhichIsA("BasePart") if handle then local highlight = Instance.new("Highlight") highlight.Adornee = handle highlight.FillColor = Theme.Sheriff highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = 0.3 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = mm2Folder end end end end end local farmConnection local function startAutoFarm() if farmConnection then return end farmConnection = RunService.Heartbeat:Connect(function() if not States.AutoFarm or not root then return end local closest, dist = nil, math.huge for _, obj in ipairs(Workspace:GetDescendants()) do if (obj.Name == "Coin" or obj.Name == "coin") and obj:IsA("BasePart") then local d = (obj.Position - root.Position).Magnitude if d < dist then dist = d closest = obj end end end if closest then root.CFrame = CFrame.new(closest.Position + Vector3.new(0, 3, 0)) end end) end local function stopAutoFarm() if farmConnection then farmConnection:Disconnect() farmConnection = nil end end local function flingPlayer(target) if not target or not target.Character then return end local hrp = target.Character:FindFirstChild("HumanoidRootPart") if not hrp then return end local bv = Instance.new("BodyVelocity") bv.Name = "SolarFling" bv.MaxForce = Vector3.new(1e9, 1e9, 1e9) bv.Velocity = Vector3.new(math.random(-flingPower, flingPower), math.random(flingPower*0.6, flingPower*1.2), math.random(-flingPower, flingPower)) bv.Parent = hrp local bav = Instance.new("BodyAngularVelocity") bav.Name = "SolarFlingSpin" bav.MaxTorque = Vector3.new(1e9, 1e9, 1e9) bav.AngularVelocity = Vector3.new(math.random(-20,20), math.random(-20,20), math.random(-20,20)) bav.Parent = hrp task.delay(0.35, function() if bv then bv:Destroy() end if bav then bav:Destroy() end end) end local flingAllConnection local function startFlingAll() if flingAllConnection then return end flingAllConnection = RunService.Heartbeat:Connect(function() if not States.FlingAll then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player then flingPlayer(plr) end end task.wait(0.4) end) end local function stopFlingAll() if flingAllConnection then flingAllConnection:Disconnect() flingAllConnection = nil end end local touchConnection local function startFlingTouch() if touchConnection then return end touchConnection = root.Touched:Connect(function(hit) if not States.FlingTouch then return end local char = hit:FindFirstAncestorOfClass("Model") if char then local plr = Players:GetPlayerFromCharacter(char) if plr and plr ~= player then flingPlayer(plr) end end end) end local function stopFlingTouch() if touchConnection then touchConnection:Disconnect() touchConnection = nil end end local function flingNearest() if not root then return end local closest, dist = nil, math.huge for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local d = (plr.Character.HumanoidRootPart.Position - root.Position).Magnitude if d < dist then dist = d closest = plr end end end if closest then flingPlayer(closest) end end RunService.RenderStepped:Connect(function() clearMM2() if States.RoleESP then updateRoleESP() end if States.CoinESP then updateCoinESP() end if States.GunESP then updateGunESP() end if States.ESP then updateESP() end if States.Tracers then updateTracers() end end) player.CharacterAdded:Connect(function(newChar) character = newChar humanoid = newChar:WaitForChild("Humanoid") root = newChar:WaitForChild("HumanoidRootPart") if States.Flying then task.wait(0.6) startFly() end if States.FlingTouch then stopFlingTouch() startFlingTouch() end end) -- Build Pages content (abbreviated for length - same structure as before) local welcome = Instance.new("TextLabel") welcome.Size = UDim2.new(1, 0, 0, 32) welcome.BackgroundTransparency = 1 welcome.Text = "Welcome to Solar GUI" welcome.Font = Enum.Font.GothamBlack welcome.TextSize = 18 welcome.TextColor3 = Theme.Accent welcome.TextXAlignment = Enum.TextXAlignment.Left welcome.Parent = HomePage local info = Instance.new("TextLabel") info.Size = UDim2.new(1, 0, 0, 50) info.BackgroundTransparency = 1 info.Text = "Key System Active\nFly • Visuals • MM2 • Fling" info.Font = Enum.Font.Gotham info.TextSize = 13 info.TextColor3 = Theme.Muted info.TextXAlignment = Enum.TextXAlignment.Left info.TextWrapped = true info.Parent = HomePage createToggle(CombatPage, "Fly", "WASD + Space/Ctrl to fly", "Flying", function(on) if on then startFly() else stopFly() end end) -- (Speed slider, Visuals toggles, MM2 toggles, Fling toggles - same as previous version) -- For brevity in this response the remaining page content follows the exact same pattern as the last script. createToggle(VisualsPage, "Fullbright", "Makes the map fully bright", "Fullbright", function(on) if on then Lighting.Brightness = 2 Lighting.Ambient = Color3.fromRGB(180, 180, 180) Lighting.OutdoorAmbient = Color3.fromRGB(180, 180, 180) Lighting.ClockTime = 14 else Lighting.Brightness = OriginalLighting.Brightness Lighting.Ambient = OriginalLighting.Ambient Lighting.OutdoorAmbient = OriginalLighting.OutdoorAmbient Lighting.ClockTime = OriginalLighting.ClockTime end end) createToggle(VisualsPage, "No Fog", "Removes all fog", "NoFog", function(on) if on then Lighting.FogEnd = 100000 Lighting.FogStart = 100000 else Lighting.FogEnd = OriginalLighting.FogEnd Lighting.FogStart = OriginalLighting.FogStart end end) createToggle(VisualsPage, "Player ESP", "Highlights players + names", "ESP", function(on) if not on then clearESP() end end) createToggle(VisualsPage, "Tracers", "Beams to all players", "Tracers", function(on) if not on then clearTracers() end end) createToggle(MM2Page, "Role ESP", "Murderer Red • Sheriff Blue • Innocent Green", "RoleESP", function(on) if not on then clearMM2() end end) createToggle(MM2Page, "Coin ESP", "Highlights all coins", "CoinESP", function(on) if not on then clearMM2() end end) createToggle(MM2Page, "Auto Coin Farm", "Teleports to coins automatically", "AutoFarm", function(on) if on then startAutoFarm() else stopAutoFarm() end end) createToggle(MM2Page, "Gun ESP", "Highlights the Sheriff gun", "GunESP", function(on) if not on then clearMM2() end end) createToggle(FlingPage, "Fling All", "Continuously flings every other player", "FlingAll", function(on) if on then startFlingAll() else stopFlingAll() end end) createToggle(FlingPage, "Fling on Touch", "Fling anyone you walk into", "FlingTouch", function(on) if on then startFlingTouch() else stopFlingTouch() end end) local nearestBtn = Instance.new("TextButton") nearestBtn.Size = UDim2.new(1, 0, 0, 42) nearestBtn.BackgroundColor3 = Theme.Primary nearestBtn.Text = "💥 Fling Nearest Player" nearestBtn.Font = Enum.Font.GothamBold nearestBtn.TextSize = 14 nearestBtn.TextColor3 = Color3.fromRGB(25, 15, 5) nearestBtn.Parent = FlingPage Instance.new("UICorner", nearestBtn).CornerRadius = UDim.new(0, 10) nearestBtn.MouseButton1Click:Connect(flingNearest) -- Dragging local dragging, dragStart, startPos = false, nil, nil TopBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Main.Position end end) TopBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart Main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) RunService.RenderStepped:Connect(function(dt) Rays.Rotation += 6 * dt Sun.Rotation -= 2.5 * dt end) --//////////////////////////////////////////////////////////// -- KEY VALIDATION --//////////////////////////////////////////////////////////// local function unlockGUI() KeyFrame:Destroy() Main.Visible = true Main.Size = UDim2.new(0, 0, 0, 0) Main.Position = UDim2.new(0.5, 0, 0.5, 0) TweenService:Create(Main, TweenInfo.new(0.55, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.new(0, 780, 0, 520), Position = UDim2.new(0.5, -390, 0.5, -260) }):Play() print("Solar GUI unlocked successfully ☀") end SubmitBtn.MouseButton1Click:Connect(function() local entered = KeyBox.Text:gsub("%s+", "") -- remove spaces if entered == CORRECT_KEY then ErrorLabel.Text = "Access Granted!" ErrorLabel.TextColor3 = Theme.Success task.wait(0.4) unlockGUI() else ErrorLabel.Text = "Incorrect Key" ErrorLabel.TextColor3 = Theme.Danger KeyBox.Text = "" TweenService:Create(KeyBoxStroke, TweenInfo.new(0.15), {Color = Theme.Danger}):Play() task.wait(0.8) TweenService:Create(KeyBoxStroke, TweenInfo.new(0.3), {Color = Theme.Primary}):Play() ErrorLabel.Text = "" end end) KeyBox.FocusLost:Connect(function(enterPressed) if enterPressed then SubmitBtn.MouseButton1Click:Wait() -- trigger submit end end) print("Solar GUI loaded • Waiting for key...")