
Key Required

-- Advanced Exploit GUI by RainbowEreed
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
-- Settings
local flying = false
local noclip = false
local xray = false
local xray2 = false
local invisible = false
local flySpeed = 50
local maxSpeed = 300
local keys = {W = false, A = false, S = false, D = false, Space = false, LeftShift = false}
-- Get GUI Parent
local function getGuiParent()
if game:GetService("CoreGui") then
return game:GetService("CoreGui")
elseif player:FindFirstChild("PlayerGui") then
return player.PlayerGui
else
return player:WaitForChild("PlayerGui")
end
end
-- Create Loading Screen
local LoadingGui = Instance.new("ScreenGui")
LoadingGui.Name = "LoadingScreen"
LoadingGui.ResetOnSpawn = false
LoadingGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local LoadingFrame = Instance.new("Frame")
LoadingFrame.Size = UDim2.new(1, 0, 1, 0)
LoadingFrame.Position = UDim2.new(0, 0, 0, 0)
LoadingFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
LoadingFrame.BorderSizePixel = 0
LoadingFrame.ZIndex = 100
LoadingFrame.Parent = LoadingGui
local LoadingTitle = Instance.new("TextLabel")
LoadingTitle.Size = UDim2.new(0, 400, 0, 60)
LoadingTitle.Position = UDim2.new(0.5, -200, 0.4, -30)
LoadingTitle.BackgroundTransparency = 1
LoadingTitle.Text = "🌈 RAINBOWEREED HUB 🌈"
LoadingTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
LoadingTitle.TextSize = 32
LoadingTitle.Font = Enum.Font.GothamBold
LoadingTitle.ZIndex = 101
LoadingTitle.Parent = LoadingFrame
local LoadingText = Instance.new("TextLabel")
LoadingText.Size = UDim2.new(0, 400, 0, 40)
LoadingText.Position = UDim2.new(0.5, -200, 0.5, 0)
LoadingText.BackgroundTransparency = 1
LoadingText.Text = "Loading"
LoadingText.TextColor3 = Color3.fromRGB(200, 200, 200)
LoadingText.TextSize = 20
LoadingText.Font = Enum.Font.Gotham
LoadingText.ZIndex = 101
LoadingText.Parent = LoadingFrame
local LoadingBar = Instance.new("Frame")
LoadingBar.Size = UDim2.new(0, 400, 0, 8)
LoadingBar.Position = UDim2.new(0.5, -200, 0.55, 0)
LoadingBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
LoadingBar.BorderSizePixel = 0
LoadingBar.ZIndex = 101
LoadingBar.Parent = LoadingFrame
local LoadingBarCorner = Instance.new("UICorner")
LoadingBarCorner.CornerRadius = UDim.new(0, 4)
LoadingBarCorner.Parent = LoadingBar
local LoadingBarFill = Instance.new("Frame")
LoadingBarFill.Size = UDim2.new(0, 0, 1, 0)
LoadingBarFill.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
LoadingBarFill.BorderSizePixel = 0
LoadingBarFill.ZIndex = 102
LoadingBarFill.Parent = LoadingBar
local LoadingBarFillCorner = Instance.new("UICorner")
LoadingBarFillCorner.CornerRadius = UDim.new(0, 4)
LoadingBarFillCorner.Parent = LoadingBarFill
LoadingGui.Parent = getGuiParent()
-- Animate Loading
local loadingSteps = {
{text = "Loading Assets...", progress = 0.2},
{text = "Initializing Features...", progress = 0.4},
{text = "Loading Admin Commands...", progress = 0.6},
{text = "Setting Up GUI...", progress = 0.8},
{text = "Complete!", progress = 1}
}
spawn(function()
for i, step in ipairs(loadingSteps) do
LoadingText.Text = step.text
LoadingBarFill:TweenSize(UDim2.new(step.progress, 0, 1, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.5, true)
task.wait(0.6)
end
task.wait(0.5)
LoadingGui:Destroy()
end)
-- Rainbow animation for loading
spawn(function()
while LoadingGui.Parent do
local hue = tick() % 3 / 3
LoadingTitle.TextColor3 = Color3.fromHSV(hue, 1, 1)
LoadingBarFill.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
task.wait(0.05)
end
end)
task.wait(3.5)
-- Create Main GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "RainbowEreedHub"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
-- Main Frame
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 500, 0, 550)
MainFrame.Position = UDim2.new(0.5, -250, 0.5, -275)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 3
MainFrame.BorderColor3 = Color3.fromRGB(0, 170, 255)
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ZIndex = 10
MainFrame.Parent = ScreenGui
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 12)
MainCorner.Parent = MainFrame
-- Title Bar
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 50)
TitleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
TitleBar.BorderSizePixel = 0
TitleBar.ZIndex = 11
TitleBar.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 12)
TitleCorner.Parent = TitleBar
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -100, 1, 0)
Title.Position = UDim2.new(0, 10, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "🌈 RainbowEreed Hub"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 20
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.ZIndex = 12
Title.Parent = TitleBar
-- Close Button
local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 40, 0, 40)
CloseBtn.Position = UDim2.new(1, -45, 0, 5)
CloseBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
CloseBtn.BorderSizePixel = 0
CloseBtn.Text = "✖"
CloseBtn.TextColor3 = Color3.new(1, 1, 1)
CloseBtn.TextSize = 18
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.ZIndex = 12
CloseBtn.Parent = TitleBar
local CloseBtnCorner = Instance.new("UICorner")
CloseBtnCorner.CornerRadius = UDim.new(0, 8)
CloseBtnCorner.Parent = CloseBtn
CloseBtn.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
-- Reset All Button
local ResetBtn = Instance.new("TextButton")
ResetBtn.Size = UDim2.new(0, 90, 0, 40)
ResetBtn.Position = UDim2.new(1, -140, 0, 5)
ResetBtn.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
ResetBtn.BorderSizePixel = 0
ResetBtn.Text = "🔄 Reset All"
ResetBtn.TextColor3 = Color3.new(1, 1, 1)
ResetBtn.TextSize = 14
ResetBtn.Font = Enum.Font.GothamBold
ResetBtn.ZIndex = 12
ResetBtn.Parent = TitleBar
local ResetBtnCorner = Instance.new("UICorner")
ResetBtnCorner.CornerRadius = UDim.new(0, 8)
ResetBtnCorner.Parent = ResetBtn
ResetBtn.MouseButton1Click:Connect(function()
-- Reset sound
local resetSound = Instance.new("Sound")
resetSound.SoundId = "rbxassetid://6895079853"
resetSound.Volume = 0.5
resetSound.Parent = game.SoundService
resetSound:Play()
resetSound.Ended:Connect(function() resetSound:Destroy() end)
-- Turn off all features
if flying then
local root = getRoot()
if root then
flying = false
if BV then BV:Destroy() BV = nil end
if BG then BG:Destroy() BG = nil end
FlyBtn.Text = "🚀 Fly: OFF [F]"
FlyBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
end
if noclip then
noclip = false
NoclipBtn.Text = "👻 Noclip: OFF [N]"
NoclipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
if xray then
xray = false
for obj, trans in pairs(originalTransparencies) do
if obj and obj.Parent then
obj.Transparency = trans
end
end
originalTransparencies = {}
XrayBtn.Text = "👁️ X-Ray Buildings: OFF"
XrayBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
if xray2 then
xray2 = false
for _, box in pairs(espBoxes) do
if box then box:Destroy() end
end
espBoxes = {}
Xray2Btn.Text = "🔦 X-Ray Players: OFF"
Xray2Btn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
if invisible then
invisible = false
local char = player.Character
if char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = 0
elseif part:IsA("Decal") then
part.Transparency = 0
end
end
local head = char:FindFirstChild("Head")
if head and head:FindFirstChild("face") then
head.face.Transparency = 0
end
end
InvisBtn.Text = "💨 Invisible: OFF [I]"
InvisBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
if sonicEnabled then
ToggleSonic()
end
if backflipEnabled then
ToggleBackflip()
end
if fallingEnabled then
ToggleFalling()
end
print("All features reset!")
end)
-- Content Frame
local ContentFrame = Instance.new("ScrollingFrame")
ContentFrame.Size = UDim2.new(1, -20, 1, -70)
ContentFrame.Position = UDim2.new(0, 10, 0, 60)
ContentFrame.BackgroundTransparency = 1
ContentFrame.BorderSizePixel = 0
ContentFrame.ScrollBarThickness = 6
ContentFrame.ScrollBarImageColor3 = Color3.fromRGB(0, 170, 255)
ContentFrame.CanvasSize = UDim2.new(0, 0, 0, 900)
ContentFrame.ZIndex = 11
ContentFrame.Parent = MainFrame
-- Page System
local currentPage = 1
local pages = {}
-- Page 1 Frame
local Page1 = Instance.new("Frame")
Page1.Size = UDim2.new(1, -10, 0, 900)
Page1.Position = UDim2.new(0, 0, 0, 0)
Page1.BackgroundTransparency = 1
Page1.ZIndex = 11
Page1.Visible = true
Page1.Parent = ContentFrame
pages[1] = Page1
-- Page 2 Frame
local Page2 = Instance.new("Frame")
Page2.Size = UDim2.new(1, -10, 0, 900)
Page2.Position = UDim2.new(0, 0, 0, 0)
Page2.BackgroundTransparency = 1
Page2.ZIndex = 11
Page2.Visible = false
Page2.Parent = ContentFrame
pages[2] = Page2
-- Page Navigation
local PageNavFrame = Instance.new("Frame")
PageNavFrame.Size = UDim2.new(1, -20, 0, 45)
PageNavFrame.Position = UDim2.new(0, 10, 1, -50)
PageNavFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
PageNavFrame.BorderSizePixel = 0
PageNavFrame.ZIndex = 15
PageNavFrame.Parent = MainFrame
local PageNavCorner = Instance.new("UICorner")
PageNavCorner.CornerRadius = UDim.new(0, 8)
PageNavCorner.Parent = PageNavFrame
local PrevPageBtn = Instance.new("TextButton")
PrevPageBtn.Size = UDim2.new(0.3, -5, 1, -10)
PrevPageBtn.Position = UDim2.new(0, 5, 0, 5)
PrevPageBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
PrevPageBtn.BorderSizePixel = 0
PrevPageBtn.Text = "◀ Prev"
PrevPageBtn.TextColor3 = Color3.new(1, 1, 1)
PrevPageBtn.TextSize = 16
PrevPageBtn.Font = Enum.Font.GothamBold
PrevPageBtn.ZIndex = 16
PrevPageBtn.Parent = PageNavFrame
local PrevCorner = Instance.new("UICorner")
PrevCorner.CornerRadius = UDim.new(0, 6)
PrevCorner.Parent = PrevPageBtn
local PageLabel = Instance.new("TextLabel")
PageLabel.Size = UDim2.new(0.4, -10, 1, -10)
PageLabel.Position = UDim2.new(0.3, 0, 0, 5)
PageLabel.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
PageLabel.BorderSizePixel = 0
PageLabel.Text = "Page 1 / 2"
PageLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
PageLabel.TextSize = 18
PageLabel.Font = Enum.Font.GothamBold
PageLabel.ZIndex = 16
PageLabel.Parent = PageNavFrame
local PageLabelCorner = Instance.new("UICorner")
PageLabelCorner.CornerRadius = UDim.new(0, 6)
PageLabelCorner.Parent = PageLabel
local NextPageBtn = Instance.new("TextButton")
NextPageBtn.Size = UDim2.new(0.3, -5, 1, -10)
NextPageBtn.Position = UDim2.new(0.7, 0, 0, 5)
NextPageBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
NextPageBtn.BorderSizePixel = 0
NextPageBtn.Text = "Next ▶"
NextPageBtn.TextColor3 = Color3.new(1, 1, 1)
NextPageBtn.TextSize = 16
NextPageBtn.Font = Enum.Font.GothamBold
NextPageBtn.ZIndex = 16
NextPageBtn.Parent = PageNavFrame
local NextCorner = Instance.new("UICorner")
NextCorner.CornerRadius = UDim.new(0, 6)
NextCorner.Parent = NextPageBtn
-- Page navigation functions
local function showPage(pageNum)
for i, page in pairs(pages) do
page.Visible = (i == pageNum)
end
currentPage = pageNum
PageLabel.Text = "Page " .. pageNum .. " / " .. #pages
ContentFrame.CanvasPosition = Vector2.new(0, 0) -- Reset scroll to top
end
PrevPageBtn.MouseButton1Click:Connect(function()
if currentPage > 1 then
showPage(currentPage - 1)
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6895079853"
clickSound.Volume = 0.3
clickSound.Parent = game.SoundService
clickSound:Play()
game:GetService("Debris"):AddItem(clickSound, 1)
end
end)
NextPageBtn.MouseButton1Click:Connect(function()
if currentPage < #pages then
showPage(currentPage + 1)
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6895079853"
clickSound.Volume = 0.3
clickSound.Parent = game.SoundService
clickSound:Play()
game:GetService("Debris"):AddItem(clickSound, 1)
end
end)
-- Create Button Function
local function createButton(text, position, callback, parent)
local targetParent = parent or Page1
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.48, 0, 0, 45)
btn.Position = position
btn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
btn.BorderSizePixel = 2
btn.BorderColor3 = Color3.fromRGB(60, 60, 60)
btn.Text = text
btn.TextColor3 = Color3.new(1, 1, 1)
btn.TextSize = 14
btn.Font = Enum.Font.GothamBold
btn.ZIndex = 12
btn.Parent = targetParent
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = btn
-- Add circle indicators
local function createCircle(pos, color)
local circle = Instance.new("Frame")
circle.Size = UDim2.new(0, 8, 0, 8)
circle.Position = pos
circle.BackgroundColor3 = color
circle.BorderSizePixel = 0
circle.ZIndex = 13
circle.Parent = btn
local circleCorner = Instance.new("UICorner")
circleCorner.CornerRadius = UDim.new(1, 0)
circleCorner.Parent = circle
return circle
end
-- Top, Bottom, Left, Right circles
local topCircle = createCircle(UDim2.new(0.5, -4, 0, -4), Color3.fromRGB(0, 170, 255))
local bottomCircle = createCircle(UDim2.new(0.5, -4, 1, -4), Color3.fromRGB(0, 170, 255))
local leftCircle = createCircle(UDim2.new(0, -4, 0.5, -4), Color3.fromRGB(0, 170, 255))
local rightCircle = createCircle(UDim2.new(1, -4, 0.5, -4), Color3.fromRGB(0, 170, 255))
btn.MouseButton1Click:Connect(callback)
return btn
end
-- Movement Section
local MovementLabel = Instance.new("TextLabel")
MovementLabel.Size = UDim2.new(1, 0, 0, 30)
MovementLabel.Position = UDim2.new(0, 0, 0, 0)
MovementLabel.BackgroundTransparency = 1
MovementLabel.Text = "✈️ Movement"
MovementLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
MovementLabel.TextSize = 16
MovementLabel.Font = Enum.Font.GothamBold
MovementLabel.TextXAlignment = Enum.TextXAlignment.Left
MovementLabel.ZIndex = 12
MovementLabel.Parent = Page1
local FlyBtn = createButton("🚀 Fly: OFF [F]", UDim2.new(0, 0, 0, 35), function() end, Page1)
local NoclipBtn = createButton("👻 Noclip: OFF [N]", UDim2.new(0.52, 0, 0, 35), function() end, Page1)
-- Speed Controls
local SpeedLabel = Instance.new("TextLabel")
SpeedLabel.Size = UDim2.new(1, 0, 0, 25)
SpeedLabel.Position = UDim2.new(0, 0, 0, 90)
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.Text = "⚡ Speed: 50"
SpeedLabel.TextColor3 = Color3.new(1, 1, 1)
SpeedLabel.TextSize = 14
SpeedLabel.Font = Enum.Font.GothamBold
SpeedLabel.ZIndex = 12
SpeedLabel.Parent = Page1
local SliderBG = Instance.new("Frame")
SliderBG.Size = UDim2.new(1, 0, 0, 10)
SliderBG.Position = UDim2.new(0, 0, 0, 120)
SliderBG.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
SliderBG.BorderSizePixel = 0
SliderBG.ZIndex = 12
SliderBG.Parent = Page1
local SliderCorner = Instance.new("UICorner")
SliderCorner.CornerRadius = UDim.new(0, 5)
SliderCorner.Parent = SliderBG
local SliderFill = Instance.new("Frame")
SliderFill.Size = UDim2.new(flySpeed / maxSpeed, 0, 1, 0)
SliderFill.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
SliderFill.BorderSizePixel = 0
SliderFill.ZIndex = 13
SliderFill.Parent = SliderBG
local SliderFillCorner = Instance.new("UICorner")
SliderFillCorner.CornerRadius = UDim.new(0, 5)
SliderFillCorner.Parent = SliderFill
-- Vision Section
local VisionLabel = Instance.new("TextLabel")
VisionLabel.Size = UDim2.new(1, 0, 0, 30)
VisionLabel.Position = UDim2.new(0, 0, 0, 145)
VisionLabel.BackgroundTransparency = 1
VisionLabel.Text = "👁️ Vision"
VisionLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
VisionLabel.TextSize = 16
VisionLabel.Font = Enum.Font.GothamBold
VisionLabel.TextXAlignment = Enum.TextXAlignment.Left
VisionLabel.ZIndex = 12
VisionLabel.Parent = Page1
local XrayBtn = createButton("👁️ X-Ray Buildings: OFF", UDim2.new(0, 0, 0, 180), function() end, Page1)
local Xray2Btn = createButton("🔦 X-Ray Players: OFF", UDim2.new(0.52, 0, 0, 180), function() end, Page1)
-- Player Section
local PlayerLabel = Instance.new("TextLabel")
PlayerLabel.Size = UDim2.new(1, 0, 0, 30)
PlayerLabel.Position = UDim2.new(0, 0, 0, 235)
PlayerLabel.BackgroundTransparency = 1
PlayerLabel.Text = "👤 Player"
PlayerLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
PlayerLabel.TextSize = 16
PlayerLabel.Font = Enum.Font.GothamBold
PlayerLabel.TextXAlignment = Enum.TextXAlignment.Left
PlayerLabel.ZIndex = 12
PlayerLabel.Parent = Page1
local InvisBtn = createButton("💨 Invisible: OFF [I]", UDim2.new(0, 0, 0, 270), function() end, Page1)
local SonicBtn = createButton("💨 Sonic Speed: OFF [G]", UDim2.new(0.52, 0, 0, 270), function() end, Page1)
-- Animation Section (Still on Page 1)
local AnimLabel = Instance.new("TextLabel")
AnimLabel.Size = UDim2.new(1, 0, 0, 30)
AnimLabel.Position = UDim2.new(0, 0, 0, 325)
AnimLabel.BackgroundTransparency = 1
AnimLabel.Text = "🎬 Animations"
AnimLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
AnimLabel.TextSize = 16
AnimLabel.Font = Enum.Font.GothamBold
AnimLabel.TextXAlignment = Enum.TextXAlignment.Left
AnimLabel.ZIndex = 12
AnimLabel.Parent = Page1
local BackflipBtn = createButton("🤸 Backflip: OFF [H]", UDim2.new(0, 0, 0, 360), function() end, Page1)
local FallingBtn = createButton("🌀 Falling Anim: OFF [J]", UDim2.new(0.52, 0, 0, 360), function() end, Page1)
-- Tools Section (PAGE 2)
local ToolsLabel = Instance.new("TextLabel")
ToolsLabel.Size = UDim2.new(1, 0, 0, 30)
ToolsLabel.Position = UDim2.new(0, 0, 0, 0)
ToolsLabel.BackgroundTransparency = 1
ToolsLabel.Text = "🛠️ Tools"
ToolsLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
ToolsLabel.TextSize = 16
ToolsLabel.Font = Enum.Font.GothamBold
ToolsLabel.TextXAlignment = Enum.TextXAlignment.Left
ToolsLabel.ZIndex = 12
ToolsLabel.Parent = Page2
local LightSwordBtn = createButton("⚔️ Light Sword", UDim2.new(0, 0, 0, 35), function() end, Page2)
local BToolsBtn = createButton("🔧 BTools", UDim2.new(0.52, 0, 0, 35), function() end, Page2)
local SpawnPartBtn = createButton("🟦 Spawn Part", UDim2.new(0, 0, 0, 85), function() end, Page2)
-- Credits
local Credits = Instance.new("TextLabel")
Credits.Size = UDim2.new(1, 0, 0, 35)
Credits.Position = UDim2.new(0, 0, 1, -35)
Credits.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Credits.BorderSizePixel = 0
Credits.Text = "🌈 Made by RainbowEreed 🌈"
Credits.TextColor3 = Color3.fromRGB(255, 255, 255)
Credits.TextSize = 14
Credits.Font = Enum.Font.GothamBold
Credits.ZIndex = 12
Credits.Parent = MainFrame
local CreditsCorner = Instance.new("UICorner")
CreditsCorner.CornerRadius = UDim.new(0, 12)
CreditsCorner.Parent = Credits
ScreenGui.Parent = getGuiParent()
-- Functions
local function getRoot()
local char = player.Character
return char and (char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso"))
end
local BV, BG
-- Fly Function
local function ToggleFly()
flying = not flying
if flying then
-- Play enable sound
local enableSound = Instance.new("Sound")
enableSound.SoundId = "rbxassetid://3398620867"
enableSound.Volume = 0.5
enableSound.Parent = game.SoundService
enableSound:Play()
enableSound.Ended:Connect(function() enableSound:Destroy() end)
local root = getRoot()
if not root then return end
FlyBtn.Text = "🚀 Fly: ON [F]"
FlyBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
BV = Instance.new("BodyVelocity")
BV.Velocity = Vector3.new(0, 0, 0)
BV.MaxForce = Vector3.new(9e9, 9e9, 9e9)
BV.Parent = root
BG = Instance.new("BodyGyro")
BG.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
BG.CFrame = root.CFrame
BG.Parent = root
local char = player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = true end
end
else
-- Play disable sound
local disableSound = Instance.new("Sound")
disableSound.SoundId = "rbxassetid://4590662766"
disableSound.Volume = 0.5
disableSound.Parent = game.SoundService
disableSound:Play()
disableSound.Ended:Connect(function() disableSound:Destroy() end)
FlyBtn.Text = "🚀 Fly: OFF [F]"
FlyBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
if BV then BV:Destroy() BV = nil end
if BG then BG:Destroy() BG = nil end
local char = player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = false end
end
end
end
FlyBtn.MouseButton1Click:Connect(ToggleFly)
-- Noclip Function
local function ToggleNoclip()
noclip = not noclip
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if noclip then
NoclipBtn.Text = "👻 Noclip: ON [N]"
NoclipBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
else
NoclipBtn.Text = "👻 Noclip: OFF [N]"
NoclipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
end
end
NoclipBtn.MouseButton1Click:Connect(ToggleNoclip)
-- X-Ray Buildings
local originalTransparencies = {}
local function ToggleXray()
xray = not xray
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if xray then
XrayBtn.Text = "👁️ X-Ray Buildings: ON"
XrayBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
for _, obj in pairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") and not obj:IsDescendantOf(player.Character) then
if obj.Transparency < 1 then
originalTransparencies[obj] = obj.Transparency
obj.Transparency = 0.7
end
end
end
else
XrayBtn.Text = "👁️ X-Ray Buildings: OFF"
XrayBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
for obj, trans in pairs(originalTransparencies) do
if obj and obj.Parent then
obj.Transparency = trans
end
end
originalTransparencies = {}
end
end
XrayBtn.MouseButton1Click:Connect(ToggleXray)
-- X-Ray Players (ESP)
local espBoxes = {}
local function ToggleXray2()
xray2 = not xray2
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if xray2 then
Xray2Btn.Text = "🔦 X-Ray Players: ON"
Xray2Btn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= player then
spawn(function()
local function createESP(char)
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
if not root then return end
local box = Instance.new("BoxHandleAdornment")
box.Size = Vector3.new(4, 6, 4)
box.Color3 = Color3.fromRGB(255, 0, 0)
box.Transparency = 0.5
box.AlwaysOnTop = true
box.ZIndex = 10
box.Adornee = root
box.Parent = root
espBoxes[plr] = box
end
if plr.Character then
createESP(plr.Character)
end
plr.CharacterAdded:Connect(createESP)
end)
end
end
else
Xray2Btn.Text = "🔦 X-Ray Players: OFF"
Xray2Btn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
for _, box in pairs(espBoxes) do
if box then box:Destroy() end
end
espBoxes = {}
end
end
Xray2Btn.MouseButton1Click:Connect(ToggleXray2)
-- Invisible Function
local function ToggleInvisible()
invisible = not invisible
local char = player.Character
if not char then return end
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if invisible then
InvisBtn.Text = "💨 Invisible: ON [I]"
InvisBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
part.Transparency = 1
end
end
local head = char:FindFirstChild("Head")
if head and head:FindFirstChild("face") then
head.face.Transparency = 1
end
else
InvisBtn.Text = "💨 Invisible: OFF [I]"
InvisBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = 0
elseif part:IsA("Decal") then
part.Transparency = 0
end
end
local head = char:FindFirstChild("Head")
if head and head:FindFirstChild("face") then
head.face.Transparency = 0
end
end
end
InvisBtn.MouseButton1Click:Connect(ToggleInvisible)
-- Sonic Speed Function
local sonicEnabled = false
local originalWalkSpeed = 16
local runningLoop = nil
local footstepSound = nil
local jumpConnection = nil
local function ToggleSonic()
sonicEnabled = not sonicEnabled
local char = player.Character
if not char then return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
local rootPart = char:FindFirstChild("HumanoidRootPart")
if not rootPart then return end
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if sonicEnabled then
SonicBtn.Text = "💨 Sonic Speed: ON [G]"
SonicBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
-- Set speed
originalWalkSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed = 515
-- Stop all default animations
for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
track:Stop()
end
-- Get character parts (R6 and R15 support)
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
local rightArm = char:FindFirstChild("Right Arm") or char:FindFirstChild("RightUpperArm")
local leftArm = char:FindFirstChild("Left Arm") or char:FindFirstChild("LeftUpperArm")
local rightLeg = char:FindFirstChild("Right Leg") or char:FindFirstChild("RightUpperLeg")
local leftLeg = char:FindFirstChild("Left Leg") or char:FindFirstChild("LeftUpperLeg")
-- Get or create Motor6Ds
local function getOrCreateMotor(name, part0, part1, c0, c1)
local motor = torso:FindFirstChild(name)
if not motor then
motor = Instance.new("Motor6D")
motor.Name = name
motor.Part0 = part0
motor.Part1 = part1
motor.C0 = c0
motor.C1 = c1
motor.Parent = torso
end
return motor
end
local rightShoulder = getOrCreateMotor("Right Shoulder", torso, rightArm,
CFrame.new(1, 0.5, 0), CFrame.new(-0.5, 0.5, 0))
local leftShoulder = getOrCreateMotor("Left Shoulder", torso, leftArm,
CFrame.new(-1, 0.5, 0), CFrame.new(0.5, 0.5, 0))
local rightHip = getOrCreateMotor("Right Hip", torso, rightLeg,
CFrame.new(1, -1, 0), CFrame.new(0, 1, 0))
local leftHip = getOrCreateMotor("Left Hip", torso, leftLeg,
CFrame.new(-1, -1, 0), CFrame.new(0, 1, 0))
-- Footstep sound
footstepSound = Instance.new("Sound")
footstepSound.SoundId = "rbxassetid://142070127"
footstepSound.Volume = 0.5
footstepSound.Looped = true
footstepSound.PlaybackSpeed = 2.5
footstepSound.Parent = rootPart
-- Jump backflip detection
local isJumping = false
local backflipLoop = nil
jumpConnection = humanoid.StateChanged:Connect(function(old, new)
if new == Enum.HumanoidStateType.Jumping or new == Enum.HumanoidStateType.Freefall then
if not isJumping then
isJumping = true
-- Jump sound
local jumpSound = Instance.new("Sound")
jumpSound.SoundId = "rbxassetid://1083819158"
jumpSound.Volume = 0.6
jumpSound.Parent = rootPart
jumpSound:Play()
game:GetService("Debris"):AddItem(jumpSound, 2)
-- Smooth backflip animation
local flipStartTime = tick()
local flipDuration = 0.6
backflipLoop = RunService.RenderStepped:Connect(function()
local elapsed = tick() - flipStartTime
local progress = math.min(elapsed / flipDuration, 1)
-- Smooth rotation (0 to 360 degrees)
local rotation = progress * 360
-- Apply backflip rotation to root
local originalCFrame = rootPart.CFrame
rootPart.CFrame = originalCFrame * CFrame.Angles(math.rad(-rotation), 0, 0)
-- Arms and legs tucked during flip
local tuckAmount = math.sin(progress * math.pi) -- Creates smooth in-out curve
rightShoulder.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(160 * tuckAmount), math.rad(0), math.rad(-20 * tuckAmount))
leftShoulder.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(160 * tuckAmount), math.rad(0), math.rad(20 * tuckAmount))
rightHip.C0 = CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(90 * tuckAmount), math.rad(0), math.rad(0))
leftHip.C0 = CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(90 * tuckAmount), math.rad(0), math.rad(0))
-- End flip when complete
if progress >= 1 then
if backflipLoop then
backflipLoop:Disconnect()
backflipLoop = nil
end
end
end)
end
elseif new == Enum.HumanoidStateType.Landed then
isJumping = false
-- Stop backflip loop if still running
if backflipLoop then
backflipLoop:Disconnect()
backflipLoop = nil
end
-- Landing effect
local landEffect = Instance.new("Part")
landEffect.Size = Vector3.new(6, 0.2, 6)
landEffect.Material = Enum.Material.Neon
landEffect.BrickColor = BrickColor.new("Cyan")
landEffect.Transparency = 0.5
landEffect.CanCollide = false
landEffect.Anchored = true
landEffect.Shape = Enum.PartType.Cylinder
landEffect.CFrame = rootPart.CFrame * CFrame.new(0, -3, 0) * CFrame.Angles(0, 0, math.rad(90))
landEffect.Parent = workspace
game:GetService("TweenService"):Create(landEffect, TweenInfo.new(0.3),
{Transparency = 1, Size = Vector3.new(10, 0.2, 10)}):Play()
game:GetService("Debris"):AddItem(landEffect, 0.3)
-- Landing sound
local landSound = Instance.new("Sound")
landSound.SoundId = "rbxassetid://730625345"
landSound.Volume = 0.5
landSound.Parent = rootPart
landSound:Play()
game:GetService("Debris"):AddItem(landSound, 1)
end
end)
-- Custom animation loop
runningLoop = RunService.RenderStepped:Connect(function()
-- Only animate if not jumping
if not isJumping then
local moveDir = humanoid.MoveDirection.Magnitude
if moveDir > 0 then
-- RUNNING ANIMATION
local runTime = tick() * 20
-- Arms straight back (Sonic style)
rightShoulder.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(-45), math.rad(10), math.rad(0))
leftShoulder.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(-45), math.rad(-10), math.rad(0))
-- Legs pumping up and down rapidly
local rightLegAngle = math.sin(runTime) * 70
local leftLegAngle = math.sin(runTime + math.pi) * 70
rightHip.C0 = CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(rightLegAngle), math.rad(0), math.rad(0))
leftHip.C0 = CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(leftLegAngle), math.rad(0), math.rad(0))
-- Play footstep sound
if not footstepSound.Playing then
footstepSound:Play()
end
-- Speed trail effects
if math.random(1, 2) == 1 then
local trail = Instance.new("Part")
trail.Size = Vector3.new(3, 5, 1)
trail.Material = Enum.Material.Neon
trail.BrickColor = BrickColor.new("Cyan")
trail.Transparency = 0.5
trail.CanCollide = false
trail.Anchored = true
trail.CFrame = rootPart.CFrame * CFrame.new(0, 0, 2)
trail.Parent = workspace
game:GetService("TweenService"):Create(trail, TweenInfo.new(0.4),
{Transparency = 1, Size = Vector3.new(3, 5, 0.1)}):Play()
game:GetService("Debris"):AddItem(trail, 0.4)
end
-- Speed lines
if math.random(1, 3) == 1 then
local line = Instance.new("Part")
line.Size = Vector3.new(0.3, 0.3, 4)
line.Material = Enum.Material.Neon
line.BrickColor = BrickColor.new("White")
line.Transparency = 0.6
line.CanCollide = false
line.Anchored = true
line.CFrame = rootPart.CFrame * CFrame.new(math.random(-3, 3), math.random(-2, 2), 5)
line.Parent = workspace
game:GetService("Debris"):AddItem(line, 0.2)
end
else
-- STOPPED ANIMATION - Arms crossed, foot tapping
local idleTime = tick() * 4
-- Arms crossed over chest
rightShoulder.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-70))
leftShoulder.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(70))
-- Right foot tapping up and down
local tapAngle = math.abs(math.sin(idleTime)) * 30
rightHip.C0 = CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(-tapAngle), math.rad(0), math.rad(0))
leftHip.C0 = CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
-- Stop footstep sound
if footstepSound and footstepSound.Playing then
footstepSound:Stop()
end
end
end
end)
print("Sonic Speed enabled! Run with WASD, Jump with Space!")
else
SonicBtn.Text = "💨 Sonic Speed: OFF [G]"
SonicBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
-- Reset speed
humanoid.WalkSpeed = originalWalkSpeed
-- Disconnect jump detection
if jumpConnection then
jumpConnection:Disconnect()
jumpConnection = nil
end
-- Stop animation loop
if runningLoop then
runningLoop:Disconnect()
runningLoop = nil
end
-- Stop and remove footstep sound
if footstepSound then
footstepSound:Stop()
footstepSound:Destroy()
footstepSound = nil
end
-- Reset limbs to default positions
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
if torso then
local rightShoulder = torso:FindFirstChild("Right Shoulder")
local leftShoulder = torso:FindFirstChild("Left Shoulder")
local rightHip = torso:FindFirstChild("Right Hip")
local leftHip = torso:FindFirstChild("Left Hip")
if rightShoulder then
rightShoulder.C0 = CFrame.new(1, 0.5, 0)
end
if leftShoulder then
leftShoulder.C0 = CFrame.new(-1, 0.5, 0)
end
if rightHip then
rightHip.C0 = CFrame.new(1, -1, 0)
end
if leftHip then
leftHip.C0 = CFrame.new(-1, -1, 0)
end
end
-- Restore default animations
humanoid:ChangeState(Enum.HumanoidStateType.Landed)
print("Sonic Speed disabled!")
end
end
SonicBtn.MouseButton1Click:Connect(ToggleSonic)
-- Backflip Function
local backflipEnabled = false
local backflipConnection = nil
local function ToggleBackflip()
backflipEnabled = not backflipEnabled
local char = player.Character
if not char then return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
local rootPart = char:FindFirstChild("HumanoidRootPart")
if not rootPart then return end
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if backflipEnabled then
BackflipBtn.Text = "🤸 Backflip: ON [H]"
BackflipBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
-- Get character parts
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
local rightArm = char:FindFirstChild("Right Arm") or char:FindFirstChild("RightUpperArm")
local leftArm = char:FindFirstChild("Left Arm") or char:FindFirstChild("LeftUpperArm")
local rightLeg = char:FindFirstChild("Right Leg") or char:FindFirstChild("RightUpperLeg")
local leftLeg = char:FindFirstChild("Left Leg") or char:FindFirstChild("LeftUpperLeg")
-- Create motors if needed
local function getOrCreateMotor(name, part0, part1, c0, c1)
local motor = torso:FindFirstChild(name)
if not motor then
motor = Instance.new("Motor6D")
motor.Name = name
motor.Part0 = part0
motor.Part1 = part1
motor.C0 = c0
motor.C1 = c1
motor.Parent = torso
end
return motor
end
local rightShoulder = getOrCreateMotor("Right Shoulder", torso, rightArm,
CFrame.new(1, 0.5, 0), CFrame.new(-0.5, 0.5, 0))
local leftShoulder = getOrCreateMotor("Left Shoulder", torso, leftArm,
CFrame.new(-1, 0.5, 0), CFrame.new(0.5, 0.5, 0))
local rightHip = getOrCreateMotor("Right Hip", torso, rightLeg,
CFrame.new(1, -1, 0), CFrame.new(0, 1, 0))
local leftHip = getOrCreateMotor("Left Hip", torso, leftLeg,
CFrame.new(-1, -1, 0), CFrame.new(0, 1, 0))
local isFlipping = false
backflipConnection = humanoid.StateChanged:Connect(function(old, new)
if new == Enum.HumanoidStateType.Jumping and not isFlipping then
isFlipping = true
-- Jump sound
local jumpSound = Instance.new("Sound")
jumpSound.SoundId = "rbxassetid://1083819158"
jumpSound.Volume = 0.6
jumpSound.Parent = rootPart
jumpSound:Play()
game:GetService("Debris"):AddItem(jumpSound, 2)
-- Backflip animation
local flipStart = tick()
local flipDuration = 0.6
local flipLoop = nil
flipLoop = RunService.RenderStepped:Connect(function()
local elapsed = tick() - flipStart
local progress = math.min(elapsed / flipDuration, 1)
-- Smooth rotation curve
local rotation = progress * 360
-- Rotate character
local vel = rootPart.AssemblyLinearVelocity
rootPart.CFrame = rootPart.CFrame * CFrame.Angles(math.rad(-6), 0, 0)
rootPart.AssemblyLinearVelocity = vel
-- Tuck limbs during flip
local tuckAmount = math.sin(progress * math.pi)
rightShoulder.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(160 * tuckAmount), 0, math.rad(-20 * tuckAmount))
leftShoulder.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(160 * tuckAmount), 0, math.rad(20 * tuckAmount))
rightHip.C0 = CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(90 * tuckAmount), 0, 0)
leftHip.C0 = CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(90 * tuckAmount), 0, 0)
if progress >= 1 then
flipLoop:Disconnect()
-- Reset limbs
rightShoulder.C0 = CFrame.new(1, 0.5, 0)
leftShoulder.C0 = CFrame.new(-1, 0.5, 0)
rightHip.C0 = CFrame.new(1, -1, 0)
leftHip.C0 = CFrame.new(-1, -1, 0)
end
end)
elseif new == Enum.HumanoidStateType.Landed then
isFlipping = false
-- Landing effect
local landEffect = Instance.new("Part")
landEffect.Size = Vector3.new(6, 0.2, 6)
landEffect.Material = Enum.Material.Neon
landEffect.BrickColor = BrickColor.new("Cyan")
landEffect.Transparency = 0.5
landEffect.CanCollide = false
landEffect.Anchored = true
landEffect.Shape = Enum.PartType.Cylinder
landEffect.CFrame = rootPart.CFrame * CFrame.new(0, -3, 0) * CFrame.Angles(0, 0, math.rad(90))
landEffect.Parent = workspace
game:GetService("TweenService"):Create(landEffect, TweenInfo.new(0.3),
{Transparency = 1, Size = Vector3.new(10, 0.2, 10)}):Play()
game:GetService("Debris"):AddItem(landEffect, 0.3)
-- Landing sound
local landSound = Instance.new("Sound")
landSound.SoundId = "rbxassetid://730625345"
landSound.Volume = 0.5
landSound.Parent = rootPart
landSound:Play()
game:GetService("Debris"):AddItem(landSound, 1)
end
end)
print("Backflip enabled! Press Space to do a backflip!")
else
BackflipBtn.Text = "🤸 Backflip: OFF [H]"
BackflipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
if backflipConnection then
backflipConnection:Disconnect()
backflipConnection = nil
end
print("Backflip disabled!")
end
end
BackflipBtn.MouseButton1Click:Connect(ToggleBackflip)
-- Falling Animation Function
local fallingEnabled = false
local fallingConnection = nil
local function ToggleFalling()
fallingEnabled = not fallingEnabled
local char = player.Character
if not char then return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
local rootPart = char:FindFirstChild("HumanoidRootPart")
if not rootPart then return end
-- Play toggle sound
local toggleSound = Instance.new("Sound")
toggleSound.SoundId = "rbxassetid://6895079853"
toggleSound.Volume = 0.5
toggleSound.Parent = game.SoundService
toggleSound:Play()
toggleSound.Ended:Connect(function() toggleSound:Destroy() end)
if fallingEnabled then
FallingBtn.Text = "🌀 Falling Anim: ON [J]"
FallingBtn.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
-- Get character parts
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
local rightArm = char:FindFirstChild("Right Arm") or char:FindFirstChild("RightUpperArm")
local leftArm = char:FindFirstChild("Left Arm") or char:FindFirstChild("LeftUpperArm")
-- Create motors if needed
local function getOrCreateMotor(name, part0, part1, c0, c1)
local motor = torso:FindFirstChild(name)
if not motor then
motor = Instance.new("Motor6D")
motor.Name = name
motor.Part0 = part0
motor.Part1 = part1
motor.C0 = c0
motor.C1 = c1
motor.Parent = torso
end
return motor
end
local rightShoulder = getOrCreateMotor("Right Shoulder", torso, rightArm,
CFrame.new(1, 0.5, 0), CFrame.new(-0.5, 0.5, 0))
local leftShoulder = getOrCreateMotor("Left Shoulder", torso, leftArm,
CFrame.new(-1, 0.5, 0), CFrame.new(0.5, 0.5, 0))
local isFalling = false
fallingConnection = humanoid.StateChanged:Connect(function(old, new)
if new == Enum.HumanoidStateType.Freefall and not isFalling then
isFalling = true
-- Falling / wind sound effect
local fallingSound = Instance.new("Sound")
fallingSound.SoundId = "rbxassetid://1647649255" -- Wind/falling sound
fallingSound.Volume = 0.8
fallingSound.PlaybackSpeed = 1.1
fallingSound.Parent = rootPart
fallingSound:Play()
game:GetService("Debris"):AddItem(fallingSound, 2)
-- Blue falling visual effect
local fallingEffect = Instance.new("Part")
fallingEffect.Size = Vector3.new(4, 6, 4) * 1.25
fallingEffect.Material = Enum.Material.Neon
fallingEffect.Color = Color3.fromRGB(0, 170, 255)
fallingEffect.Transparency = 0.35
fallingEffect.CanCollide = false
fallingEffect.Anchored = false
fallingEffect.Shape = Enum.PartType.Ball
fallingEffect.CFrame = rootPart.CFrame
fallingEffect.Parent = workspace
-- Weld effect to character
local weld = Instance.new("Weld")
weld.Part0 = rootPart
weld.Part1 = fallingEffect
weld.Parent = fallingEffect
-- Falling animation (1 second duration)
local fallStart = tick()
local fallDuration = 1.0
local fallLoop = nil
fallLoop = RunService.RenderStepped:Connect(function()
local elapsed = tick() - fallStart
if elapsed <= fallDuration then
-- Arms straight up (falling pose)
-- Right Arm: X = -85, Y = 0, Z = 10
rightShoulder.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(-85), math.rad(0), math.rad(10))
-- Left Arm: X = -85, Y = 0, Z = -10
leftShoulder.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(-85), math.rad(0), math.rad(-10))
-- Torso tilt backward: X = 15, Y = 0, Z = 0
local rootJoint = torso:FindFirstChild("Root Joint") or torso:FindFirstChild("Root")
if rootJoint and rootJoint:IsA("Motor6D") then
rootJoint.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(0), math.rad(0))
end
-- Smooth Y rotation: 454.867 degrees per second
local rotationSpeed = 454.867
local currentRotation = elapsed * rotationSpeed
rootPart.CFrame = rootPart.CFrame * CFrame.Angles(math.rad(0), math.rad(rotationSpeed * 0.016), math.rad(0))
else
-- Stop animation after 1 second
fallLoop:Disconnect()
-- Remove effect
if fallingEffect then
fallingEffect:Destroy()
end
-- Reset arms
rightShoulder.C0 = CFrame.new(1, 0.5, 0)
leftShoulder.C0 = CFrame.new(-1, 0.5, 0)
-- Reset torso
local rootJoint = torso:FindFirstChild("Root Joint") or torso:FindFirstChild("Root")
if rootJoint and rootJoint:IsA("Motor6D") then
rootJoint.C0 = CFrame.new(0, 0, 0)
end
end
end)
elseif new == Enum.HumanoidStateType.Landed then
isFalling = false
-- Landing effect
local landEffect = Instance.new("Part")
landEffect.Size = Vector3.new(6, 0.2, 6)
landEffect.Material = Enum.Material.Neon
landEffect.Color = Color3.fromRGB(0, 170, 255)
landEffect.Transparency = 0.5
landEffect.CanCollide = false
landEffect.Anchored = true
landEffect.Shape = Enum.PartType.Cylinder
landEffect.CFrame = rootPart.CFrame * CFrame.new(0, -3, 0) * CFrame.Angles(0, 0, math.rad(90))
landEffect.Parent = workspace
game:GetService("TweenService"):Create(landEffect, TweenInfo.new(0.3),
{Transparency = 1, Size = Vector3.new(10, 0.2, 10)}):Play()
game:GetService("Debris"):AddItem(landEffect, 0.3)
-- Landing sound
local landSound = Instance.new("Sound")
landSound.SoundId = "rbxassetid://730625345"
landSound.Volume = 0.5
landSound.Parent = rootPart
landSound:Play()
game:GetService("Debris"):AddItem(landSound, 1)
end
end)
print("Falling Animation enabled! Jump and fall to see it!")
else
FallingBtn.Text = "🌀 Falling Anim: OFF [J]"
FallingBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
if fallingConnection then
fallingConnection:Disconnect()
fallingConnection = nil
end
print("Falling Animation disabled!")
end
end
FallingBtn.MouseButton1Click:Connect(ToggleFalling)
-- Light Sword
LightSwordBtn.MouseButton1Click:Connect(function()
-- Play sound effect
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6895079853"
clickSound.Volume = 0.5
clickSound.Parent = game.SoundService
clickSound:Play()
clickSound.Ended:Connect(function() clickSound:Destroy() end)
-- Create working sword
local sword = Instance.new("Tool")
sword.Name = "Light Sword"
sword.RequiresHandle = true
sword.CanBeDropped = false
sword.GripForward = Vector3.new(-1, 0, 0)
sword.GripPos = Vector3.new(0, 0, -1.5)
sword.GripRight = Vector3.new(0, 1, 0)
sword.GripUp = Vector3.new(0, 0, 1)
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(1, 4, 1)
handle.BrickColor = BrickColor.new("Cyan")
handle.Material = Enum.Material.Neon
handle.CanCollide = false
handle.Parent = sword
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxasset://fonts/sword.mesh"
mesh.TextureId = "rbxasset://textures/SwordTexture.png"
mesh.Scale = Vector3.new(1, 1, 1)
mesh.Parent = handle
local light = Instance.new("PointLight")
light.Brightness = 5
light.Color = Color3.fromRGB(0, 255, 255)
light.Range = 15
light.Parent = handle
local slashSound = Instance.new("Sound")
slashSound.SoundId = "rbxassetid://12222216"
slashSound.Volume = 0.5
slashSound.Parent = handle
local lungeSound = Instance.new("Sound")
lungeSound.SoundId = "rbxassetid://12222208"
lungeSound.Volume = 0.5
lungeSound.Parent = handle
local unsheatheSound = Instance.new("Sound")
unsheatheSound.SoundId = "rbxassetid://12222225"
unsheatheSound.Volume = 0.5
unsheatheSound.Parent = handle
local debounce = false
sword.Equipped:Connect(function()
unsheatheSound:Play()
end)
sword.Activated:Connect(function()
if debounce then return end
debounce = true
local char = player.Character
if not char then debounce = false return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
if humanoid and torso then
-- Slash animation
slashSound:Play()
-- Create animation value
local anim = Instance.new("StringValue")
anim.Name = "toolanim"
anim.Value = "Slash"
anim.Parent = sword
game:GetService("Debris"):AddItem(anim, 0.1)
wait(0.2)
-- Damage enemies in range
local swordPos = handle.Position
for _, part in pairs(workspace:GetPartBoundsInRadius(swordPos, 8)) do
if part.Parent and part.Parent:FindFirstChild("Humanoid") then
local enemyHumanoid = part.Parent:FindFirstChild("Humanoid")
if enemyHumanoid and part.Parent ~= char then
enemyHumanoid:TakeDamage(30)
-- Knockback effect
local enemyTorso = part.Parent:FindFirstChild("Torso") or part.Parent:FindFirstChild("UpperTorso")
if enemyTorso then
local knockback = Instance.new("BodyVelocity")
knockback.Velocity = (enemyTorso.Position - torso.Position).Unit * 50 + Vector3.new(0, 20, 0)
knockback.MaxForce = Vector3.new(4000, 4000, 4000)
knockback.Parent = enemyTorso
game:GetService("Debris"):AddItem(knockback, 0.3)
end
end
end
end
end
wait(0.5)
debounce = false
end)
sword.Parent = player.Backpack
print("Light Sword given!")
end)
-- Spawn Part Tool
SpawnPartBtn.MouseButton1Click:Connect(function()
-- Play sound effect
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6895079853"
clickSound.Volume = 0.5
clickSound.Parent = game.SoundService
clickSound:Play()
clickSound.Ended:Connect(function() clickSound:Destroy() end)
local mouse = player:GetMouse()
-- Part Spawner Tool
local partTool = Instance.new("Tool")
partTool.Name = "🟦 Part Spawner"
partTool.RequiresHandle = false
partTool.CanBeDropped = false
partTool.Activated:Connect(function()
-- Spawn a new part at mouse position
local newPart = Instance.new("Part")
newPart.Size = Vector3.new(4, 1, 2)
newPart.Material = Enum.Material.SmoothPlastic
newPart.BrickColor = BrickColor.new("Bright blue")
newPart.Position = mouse.Hit.Position + Vector3.new(0, 2, 0)
newPart.Anchored = true
newPart.Parent = workspace
-- Spawn effect
local spawnEffect = Instance.new("Part")
spawnEffect.Size = Vector3.new(5, 5, 5)
spawnEffect.Material = Enum.Material.Neon
spawnEffect.BrickColor = BrickColor.new("Cyan")
spawnEffect.Transparency = 0.5
spawnEffect.CanCollide = false
spawnEffect.Anchored = true
spawnEffect.Shape = Enum.PartType.Ball
spawnEffect.CFrame = newPart.CFrame
spawnEffect.Parent = workspace
game:GetService("TweenService"):Create(spawnEffect, TweenInfo.new(0.5),
{Transparency = 1, Size = Vector3.new(8, 8, 8)}):Play()
game:GetService("Debris"):AddItem(spawnEffect, 0.5)
-- Spawn sound
local spawnSound = Instance.new("Sound")
spawnSound.SoundId = "rbxassetid://6895079853"
spawnSound.Volume = 0.4
spawnSound.Parent = newPart
spawnSound:Play()
game:GetService("Debris"):AddItem(spawnSound, 1)
print("Part spawned!")
end)
partTool.Parent = player.Backpack
print("Part Spawner tool given!")
end)
-- BTools
BToolsBtn.MouseButton1Click:Connect(function()
-- Play sound effect
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6895079853"
clickSound.Volume = 0.5
clickSound.Parent = game.SoundService
clickSound:Play()
clickSound.Ended:Connect(function() clickSound:Destroy() end)
local mouse = player:GetMouse()
-- Move Tool
local moveTool = Instance.new("Tool")
moveTool.Name = "🔷 Move"
moveTool.RequiresHandle = false
moveTool.CanBeDropped = false
local selectedPart = nil
local moving = false
local originalCFrame = nil
moveTool.Activated:Connect(function()
if not moving and mouse.Target and mouse.Target:IsA("BasePart") then
selectedPart = mouse.Target
moving = true
originalCFrame = selectedPart.CFrame
-- Create selection box
local selectionBox = Instance.new("SelectionBox")
selectionBox.Name = "MoveSelection"
selectionBox.Adornee = selectedPart
selectionBox.Color3 = Color3.fromRGB(0, 170, 255)
selectionBox.LineThickness = 0.1
selectionBox.Transparency = 0.5
selectionBox.Parent = selectedPart
print("Moving: " .. selectedPart.Name .. " (Click again to place)")
-- Movement loop
local moveConnection
moveConnection = RunService.RenderStepped:Connect(function()
if moving and selectedPart and selectedPart.Parent then
local targetPos = mouse.Hit.Position + Vector3.new(0, selectedPart.Size.Y/2, 0)
selectedPart.CFrame = CFrame.new(targetPos)
else
moveConnection:Disconnect()
end
end)
elseif moving and selectedPart then
-- Stop moving
moving = false
-- Remove selection box
local box = selectedPart:FindFirstChild("MoveSelection")
if box then box:Destroy() end
print("Placed: " .. selectedPart.Name)
selectedPart = nil
end
end)
moveTool.Unequipped:Connect(function()
moving = false
if selectedPart then
local box = selectedPart:FindFirstChild("MoveSelection")
if box then box:Destroy() end
selectedPart = nil
end
end)
moveTool.Parent = player.Backpack
-- Resize Tool
local resizeTool = Instance.new("Tool")
resizeTool.Name = "📏 Resize"
resizeTool.RequiresHandle = false
resizeTool.CanBeDropped = false
local resizingPart = nil
local resizeAxis = "Y"
local axisIndex = 1
local axes = {"Y", "X", "Z"}
resizeTool.Equipped:Connect(function()
print("Resize Tool: Click part, then press Q to grow / E to shrink. R to change axis.")
end)
resizeTool.Activated:Connect(function()
if mouse.Target and mouse.Target:IsA("BasePart") then
-- Clear old selection
if resizingPart then
local oldBox = resizingPart:FindFirstChild("ResizeSelection")
if oldBox then oldBox:Destroy() end
end
resizingPart = mouse.Target
-- Create selection box
local selectionBox = Instance.new("SelectionBox")
selectionBox.Name = "ResizeSelection"
selectionBox.Adornee = resizingPart
selectionBox.Color3 = Color3.fromRGB(255, 170, 0)
selectionBox.LineThickness = 0.1
selectionBox.Transparency = 0.5
selectionBox.Parent = resizingPart
print("Selected: " .. resizingPart.Name .. " | Axis: " .. resizeAxis .. " | Q=Grow E=Shrink R=ChangeAxis")
end
end)
resizeTool.Unequipped:Connect(function()
if resizingPart then
local box = resizingPart:FindFirstChild("ResizeSelection")
if box then box:Destroy() end
resizingPart = nil
end
end)
resizeTool.Parent = player.Backpack
-- Resize key controls
local resizeConnection
resizeConnection = UIS.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if resizingPart and resizingPart.Parent then
if input.KeyCode == Enum.KeyCode.Q then
-- Grow
local currentSize = resizingPart.Size
if resizeAxis == "X" then
resizingPart.Size = currentSize + Vector3.new(1, 0, 0)
elseif resizeAxis == "Y" then
resizingPart.Size = currentSize + Vector3.new(0, 1, 0)
elseif resizeAxis == "Z" then
resizingPart.Size = currentSize + Vector3.new(0, 0, 1)
end
print("Grew on " .. resizeAxis .. " axis")
elseif input.KeyCode == Enum.KeyCode.E then
-- Shrink
local currentSize = resizingPart.Size
if resizeAxis == "X" and currentSize.X > 1 then
resizingPart.Size = currentSize - Vector3.new(1, 0, 0)
elseif resizeAxis == "Y" and currentSize.Y > 1 then
resizingPart.Size = currentSize - Vector3.new(0, 1, 0)
elseif resizeAxis == "Z" and currentSize.Z > 1 then
resizingPart.Size = currentSize - Vector3.new(0, 0, 1)
end
print("Shrunk on " .. resizeAxis .. " axis")
elseif input.KeyCode == Enum.KeyCode.R then
-- Change axis
axisIndex = (axisIndex % 3) + 1
resizeAxis = axes[axisIndex]
print("Changed to " .. resizeAxis .. " axis")
end
end
end)
-- Clone Tool
local cloneTool = Instance.new("Tool")
cloneTool.Name = "📋 Clone"
cloneTool.RequiresHandle = false
cloneTool.CanBeDropped = false
cloneTool.Activated:Connect(function()
if mouse.Target and mouse.Target:IsA("BasePart") then
local clone = mouse.Target:Clone()
clone.Position = clone.Position + Vector3.new(0, 5, 0)
clone.Parent = workspace
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6895079853"
sound.Volume = 0.3
sound.Parent = game.SoundService
sound:Play()
game:GetService("Debris"):AddItem(sound, 1)
print("Cloned: " .. mouse.Target.Name)
end
end)
cloneTool.Parent = player.Backpack
-- Delete Tool
local deleteTool = Instance.new("Tool")
deleteTool.Name = "🗑️ Delete"
deleteTool.RequiresHandle = false
deleteTool.CanBeDropped = false
deleteTool.Activated:Connect(function()
if mouse.Target and mouse.Target:IsA("BasePart") then
local targetName = mouse.Target.Name
mouse.Target:Destroy()
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://4590662766"
sound.Volume = 0.3
sound.Parent = game.SoundService
sound:Play()
game:GetService("Debris"):AddItem(sound, 1)
print("Deleted: " .. targetName)
end
end)
deleteTool.Parent = player.Backpack
-- Paint Tool
local paintTool = Instance.new("Tool")
paintTool.Name = "🎨 Paint"
paintTool.RequiresHandle = false
paintTool.CanBeDropped = false
local colors = {
BrickColor.new("Bright red"),
BrickColor.new("Bright blue"),
BrickColor.new("Bright green"),
BrickColor.new("Bright yellow"),
BrickColor.new("Hot pink"),
BrickColor.new("Cyan"),
BrickColor.new("Really black"),
BrickColor.new("Institutional white")
}
local colorIndex = 1
paintTool.Activated:Connect(function()
if mouse.Target and mouse.Target:IsA("BasePart") then
mouse.Target.BrickColor = colors[colorIndex]
colorIndex = colorIndex % #colors + 1
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6895079853"
sound.Volume = 0.2
sound.Parent = game.SoundService
sound:Play()
game:GetService("Debris"):AddItem(sound, 1)
print("Painted: " .. mouse.Target.Name)
end
end)
paintTool.Parent = player.Backpack
print("BTools loaded! Move (click twice), Resize (Q/E/R keys), Clone, Delete, Paint")
end)
-- Slider
local dragging = false
SliderBG.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
-- Key Input
UIS.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.F then
ToggleFly()
elseif input.KeyCode == Enum.KeyCode.N then
ToggleNoclip()
elseif input.KeyCode == Enum.KeyCode.I then
ToggleInvisible()
elseif input.KeyCode == Enum.KeyCode.G then
ToggleSonic()
elseif input.KeyCode == Enum.KeyCode.H then
ToggleBackflip()
elseif input.KeyCode == Enum.KeyCode.J then
ToggleFalling()
elseif input.KeyCode == Enum.KeyCode.W then keys.W = true
elseif input.KeyCode == Enum.KeyCode.A then keys.A = true
elseif input.KeyCode == Enum.KeyCode.S then keys.S = true
elseif input.KeyCode == Enum.KeyCode.D then keys.D = true
elseif input.KeyCode == Enum.KeyCode.Space then keys.Space = true
elseif input.KeyCode == Enum.KeyCode.LeftShift then keys.LeftShift = true
end
end)
UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then keys.W = false
elseif input.KeyCode == Enum.KeyCode.A then keys.A = false
elseif input.KeyCode == Enum.KeyCode.S then keys.S = false
elseif input.KeyCode == Enum.KeyCode.D then keys.D = false
elseif input.KeyCode == Enum.KeyCode.Space then keys.Space = false
elseif input.KeyCode == Enum.KeyCode.LeftShift then keys.LeftShift = false
end
end)
-- Noclip Loop
RunService.Stepped:Connect(function()
if noclip then
local char = player.Character
if char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end
end)
-- Main Loop
RunService.Heartbeat:Connect(function()
-- Rainbow Effects
local hue = tick() % 5 / 5
local rainbowColor = Color3.fromHSV(hue, 1, 1)
MainFrame.BorderColor3 = rainbowColor
Credits.TextColor3 = rainbowColor
SliderFill.BackgroundColor3 = rainbowColor
Title.TextColor3 = rainbowColor
-- Animate button circles
for _, obj in pairs(Page1:GetDescendants()) do
if obj:IsA("Frame") and obj.Parent:IsA("TextButton") and obj.Size == UDim2.new(0, 8, 0, 8) then
obj.BackgroundColor3 = rainbowColor
end
end
for _, obj in pairs(Page2:GetDescendants()) do
if obj:IsA("Frame") and obj.Parent:IsA("TextButton") and obj.Size == UDim2.new(0, 8, 0, 8) then
obj.BackgroundColor3 = rainbowColor
end
end
-- Slider
if dragging then
local mousePos = UIS:GetMouseLocation().X
local sliderPos = SliderBG.AbsolutePosition.X
local sliderSize = SliderBG.AbsoluteSize.X
local relative = math.clamp(mousePos - sliderPos, 0, sliderSize)
local percent = relative / sliderSize
flySpeed = math.floor(percent * maxSpeed)
if flySpeed < 10 then flySpeed = 10 end
SliderFill.Size = UDim2.new(percent, 0, 1, 0)
SpeedLabel.Text = "⚡ Speed: " .. flySpeed
end
-- Flying
if flying then
local root = getRoot()
if not root or not BV or not BG then return end
local cam = workspace.CurrentCamera
local direction = Vector3.new()
if keys.W then direction = direction + cam.CFrame.LookVector end
if keys.S then direction = direction - cam.CFrame.LookVector end
if keys.A then direction = direction - cam.CFrame.RightVector end
if keys.D then direction = direction + cam.CFrame.RightVector end
if keys.Space then direction = direction + Vector3.new(0, 1, 0) end
if keys.LeftShift then direction = direction - Vector3.new(0, 1, 0) end
if direction.Magnitude > 0 then
direction = direction.Unit
end
BV.Velocity = direction * flySpeed
BG.CFrame = cam.CFrame
end
end)
print("🌈 RainbowEreed Hub Loaded!")
print("Press F to fly, N for noclip, I for invisible, G for Sonic Speed, H for Backflip, J for Falling Anim!")No comments yet for this script.