Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- 🌈 FULL Rainbow Animated Game Decompiler GUI
- local plr = game:GetService("Players").LocalPlayer
- local UIS = game:GetService("UserInputService")
- local gui = Instance.new("ScreenGui")
- gui.Name = "GameDecompilerGUI"
- gui.ResetOnSpawn = false
- gui.Parent = plr:WaitForChild("PlayerGui")
- local frame = Instance.new("Frame")
- frame.Size = UDim2.new(0, 340, 0, 240)
- frame.Position = UDim2.new(0.5, -170, 0.5, -120)
- frame.BackgroundColor3 = Color3.new(0,0,0)
- frame.BorderSizePixel = 0
- frame.Active = true
- frame.Draggable = true
- frame.Parent = gui
- -- Rainbow animated background gradient
- local bgGradient = Instance.new("UIGradient")
- bgGradient.Parent = frame
- bgGradient.Color = ColorSequence.new{
- ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
- ColorSequenceKeypoint.new(0.2, Color3.fromRGB(255, 127, 0)),
- ColorSequenceKeypoint.new(0.4, Color3.fromRGB(255, 255, 0)),
- ColorSequenceKeypoint.new(0.6, Color3.fromRGB(0, 255, 0)),
- ColorSequenceKeypoint.new(0.8, Color3.fromRGB(0, 0, 255)),
- ColorSequenceKeypoint.new(1, Color3.fromRGB(139, 0, 255))
- }
- bgGradient.Rotation = 0
- -- Rainbow outline for frame
- local outline = Instance.new("UIStroke")
- outline.Parent = frame
- outline.Thickness = 3
- outline.Transparency = 0
- outline.Color = Color3.fromRGB(255, 0, 0) -- starting color, will animate
- -- Animate rainbow background and outline
- task.spawn(function()
- local rotation = 0
- local hue = 0
- while true do
- rotation = (rotation + 1) % 360
- bgGradient.Rotation = rotation
- hue = (hue + 1) % 360
- outline.Color = Color3.fromHSV(hue / 360, 1, 1)
- wait(0.03)
- end
- end)
- -- Title container for outline effect
- local titleContainer = Instance.new("Frame")
- titleContainer.Size = UDim2.new(1, 0, 0, 60)
- titleContainer.Position = UDim2.new(0, 0, 0, 0)
- titleContainer.BackgroundTransparency = 1
- titleContainer.Parent = frame
- -- Black outline text behind (offset for outline effect)
- local outlineText = Instance.new("TextLabel")
- outlineText.Size = UDim2.new(1, 4, 1, 4)
- outlineText.Position = UDim2.new(-0.007, 0, -0.007, 0)
- outlineText.BackgroundTransparency = 1
- outlineText.Font = Enum.Font.GothamBlack
- outlineText.TextScaled = true
- outlineText.Text = "Game Decompiler"
- outlineText.TextColor3 = Color3.new(0, 0, 0)
- outlineText.Parent = titleContainer
- outlineText.ZIndex = 1
- -- Main rainbow animated text (on top)
- local title = Instance.new("TextLabel")
- title.Size = UDim2.new(1, 0, 1, 0)
- title.Position = UDim2.new(0, 0, 0, 0)
- title.BackgroundTransparency = 1
- title.Font = Enum.Font.GothamBlack
- title.TextScaled = true
- title.Text = "Game Decompiler"
- title.TextColor3 = Color3.new(1, 1, 1)
- title.Parent = titleContainer
- title.ZIndex = 2
- -- Rainbow gradient on text
- local titleGradient = Instance.new("UIGradient")
- titleGradient.Parent = title
- titleGradient.Color = ColorSequence.new{
- ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
- ColorSequenceKeypoint.new(0.17, Color3.fromRGB(255, 127, 0)),
- ColorSequenceKeypoint.new(0.34, Color3.fromRGB(255, 255, 0)),
- ColorSequenceKeypoint.new(0.51, Color3.fromRGB(0, 255, 0)),
- ColorSequenceKeypoint.new(0.68, Color3.fromRGB(0, 0, 255)),
- ColorSequenceKeypoint.new(0.85, Color3.fromRGB(139, 0, 255)),
- ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)),
- }
- titleGradient.Rotation = 0
- -- Animate title rainbow gradient rotation smoothly
- task.spawn(function()
- while true do
- titleGradient.Rotation = (titleGradient.Rotation + 2) % 360
- wait(0.03)
- end
- end)
- -- Create buttons with rainbow gradients
- local function createRainbowButton(text, positionY)
- local btn = Instance.new("TextButton")
- btn.Size = UDim2.new(0.8, 0, 0, 40)
- btn.Position = UDim2.new(0.1, 0, positionY, 0)
- btn.Text = text
- btn.Font = Enum.Font.GothamBold
- btn.TextScaled = true
- btn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
- btn.TextColor3 = Color3.new(1, 1, 1)
- btn.Parent = frame
- local grad = Instance.new("UIGradient", btn)
- grad.Color = bgGradient.Color
- return btn
- end
- local copyBtn = createRainbowButton("🧠 Copy All Scripts", 0.55)
- local saveBtn = createRainbowButton("💾 Save Full Game (.rbxl)", 0.75)
- -- Improved Copy All Scripts function
- local function copyAllScripts()
- local scriptDump = {}
- local function tryGetSource(obj)
- local ok, src = pcall(function() return obj.Source end)
- if ok and src and #src > 0 then
- return src
- end
- return nil
- end
- for _, obj in pairs(game:GetDescendants()) do
- if obj:IsA("LocalScript") or obj:IsA("ModuleScript") or obj:IsA("Script") then
- local source = tryGetSource(obj)
- if source then
- table.insert(scriptDump, ("-- %s (%s):\n%s"):format(obj:GetFullName(), obj.ClassName, source))
- end
- end
- end
- local fullText = table.concat(scriptDump, "\n\n")
- if #fullText == 0 then
- return false, "No readable scripts found."
- end
- if setclipboard then
- pcall(setclipboard, fullText)
- return true, "All readable scripts copied to clipboard!"
- else
- return false, "setclipboard not supported by executor."
- end
- end
- -- Connect Copy button
- copyBtn.MouseButton1Click:Connect(function()
- local success, message = copyAllScripts()
- if success then
- copyBtn.Text = "✅ " .. message
- else
- copyBtn.Text = "❌ " .. message
- end
- wait(2)
- copyBtn.Text = "🧠 Copy All Scripts"
- end)
- -- Save full game button
- saveBtn.MouseButton1Click:Connect(function()
- if saveinstance then
- saveinstance()
- saveBtn.Text = "✅ Game Saved"
- else
- saveBtn.Text = "⚠️ Executor Needed"
- end
- wait(2)
- saveBtn.Text = "💾 Save Full Game (.rbxl)"
- end)
- -- Toggle GUI with F key
- UIS.InputBegan:Connect(function(input, gpe)
- if gpe then return end
- if input.KeyCode == Enum.KeyCode.F then
- frame.Visible = not frame.Visible
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment