
Key RequiredUniversal

-- 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...")No comments yet for this script.



