
KeylessUniversal

-- NOD6547 Hub
-- Roblox Script: Decal Changer, Skybox Changer, Sound Player
local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
if CoreGui:FindFirstChild("NOD6547Hub") then
CoreGui.NOD6547Hub:Destroy()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "NOD6547Hub"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = CoreGui
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 400, 0, 500)
MainFrame.Position = UDim2.new(0.5, -200, 0.5, -250)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 10)
local Stroke = Instance.new("UIStroke")
Stroke.Color = Color3.fromRGB(80, 0, 200)
Stroke.Thickness = 2
Stroke.Parent = MainFrame
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 45)
TitleBar.BackgroundColor3 = Color3.fromRGB(25, 0, 60)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame
Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0, 10)
local TitleFix = Instance.new("Frame")
TitleFix.Size = UDim2.new(1, 0, 0.5, 0)
TitleFix.Position = UDim2.new(0, 0, 0.5, 0)
TitleFix.BackgroundColor3 = Color3.fromRGB(25, 0, 60)
TitleFix.BorderSizePixel = 0
TitleFix.Parent = TitleBar
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, -80, 1, 0)
TitleLabel.Position = UDim2.new(0, 15, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "NOD6547 HUB"
TitleLabel.TextColor3 = Color3.fromRGB(180, 100, 255)
TitleLabel.TextSize = 18
TitleLabel.Font = Enum.Font.SourceSansBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TitleBar
local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0, 30, 0, 30)
MinBtn.Position = UDim2.new(1, -72, 0, 8)
MinBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 0)
MinBtn.Text = "-"
MinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinBtn.TextSize = 18
MinBtn.Font = Enum.Font.SourceSansBold
MinBtn.BorderSizePixel = 0
MinBtn.Parent = TitleBar
Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0, 6)
local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 30, 0, 30)
CloseBtn.Position = UDim2.new(1, -38, 0, 8)
CloseBtn.BackgroundColor3 = Color3.fromRGB(180, 0, 0)
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 14
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.BorderSizePixel = 0
CloseBtn.Parent = TitleBar
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 6)
CloseBtn.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
local minimized = false
MinBtn.MouseButton1Click:Connect(function()
minimized = not minimized
MainFrame.Size = minimized and UDim2.new(0, 400, 0, 45) or UDim2.new(0, 400, 0, 500)
end)
local ScrollFrame = Instance.new("ScrollingFrame")
ScrollFrame.Size = UDim2.new(1, 0, 1, -50)
ScrollFrame.Position = UDim2.new(0, 0, 0, 50)
ScrollFrame.BackgroundTransparency = 1
ScrollFrame.BorderSizePixel = 0
ScrollFrame.ScrollBarThickness = 4
ScrollFrame.ScrollBarImageColor3 = Color3.fromRGB(120, 0, 255)
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 700)
ScrollFrame.Parent = MainFrame
local ListLayout = Instance.new("UIListLayout")
ListLayout.Padding = UDim.new(0, 10)
ListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
ListLayout.Parent = ScrollFrame
local UIPad = Instance.new("UIPadding")
UIPad.PaddingTop = UDim.new(0, 12)
UIPad.PaddingLeft = UDim.new(0, 15)
UIPad.PaddingRight = UDim.new(0, 15)
UIPad.Parent = ScrollFrame
local function SectionLabel(text)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 0, 26)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = Color3.fromRGB(160, 100, 255)
lbl.TextSize = 14
lbl.Font = Enum.Font.SourceSansBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = ScrollFrame
return lbl
end
local function TextInput(placeholder)
local box = Instance.new("TextBox")
box.Size = UDim2.new(1, 0, 0, 36)
box.BackgroundColor3 = Color3.fromRGB(28, 10, 50)
box.TextColor3 = Color3.fromRGB(220, 200, 255)
box.PlaceholderText = placeholder
box.PlaceholderColor3 = Color3.fromRGB(110, 90, 140)
box.Text = ""
box.TextSize = 13
box.Font = Enum.Font.SourceSans
box.BorderSizePixel = 0
box.ClearTextOnFocus = false
box.Parent = ScrollFrame
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 7)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(70, 0, 160)
stroke.Thickness = 1
stroke.Parent = box
local pad = Instance.new("UIPadding")
pad.PaddingLeft = UDim.new(0, 8)
pad.Parent = box
return box
end
local function CreateButton(text, color)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 36)
btn.BackgroundColor3 = color or Color3.fromRGB(80, 0, 180)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 13
btn.Font = Enum.Font.SourceSansBold
btn.BorderSizePixel = 0
btn.Parent = ScrollFrame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 7)
local origColor = color or Color3.fromRGB(80, 0, 180)
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(110, 40, 210)}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = origColor}):Play()
end)
return btn
end
local function StatusLabel()
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 0, 20)
lbl.BackgroundTransparency = 1
lbl.Text = ""
lbl.TextColor3 = Color3.fromRGB(100, 255, 150)
lbl.TextSize = 12
lbl.Font = Enum.Font.SourceSans
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = ScrollFrame
return lbl
end
local function Separator()
local line = Instance.new("Frame")
line.Size = UDim2.new(1, 0, 0, 1)
line.BackgroundColor3 = Color3.fromRGB(60, 0, 120)
line.BorderSizePixel = 0
line.Parent = ScrollFrame
end
ListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, ListLayout.AbsoluteContentSize.Y + 24)
end)
-- DECAL CHANGER
SectionLabel("[ DECAL CHANGER ]")
local decalIdBox = TextInput("Decal Asset ID (e.g. 7780089648)")
local decalStatus = StatusLabel()
local decalApplyBtn = CreateButton("Apply Decal to All Parts", Color3.fromRGB(60, 0, 160))
decalApplyBtn.MouseButton1Click:Connect(function()
local id = decalIdBox.Text:match("%d+")
if not id then
decalStatus.TextColor3 = Color3.fromRGB(255, 80, 80)
decalStatus.Text = "Invalid ID — numbers only."
return
end
local count = 0
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") then
for _, d in ipairs(obj:GetChildren()) do
if d:IsA("Decal") or d:IsA("Texture") then d:Destroy() end
end
local decal = Instance.new("Decal")
decal.Texture = "rbxassetid://" .. id
decal.Face = Enum.NormalId.Front
decal.Parent = obj
count += 1
end
end
decalStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
decalStatus.Text = "Applied to " .. count .. " parts."
end)
local decalRemoveBtn = CreateButton("Remove All Decals", Color3.fromRGB(120, 0, 0))
decalRemoveBtn.MouseButton1Click:Connect(function()
local count = 0
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Decal") or obj:IsA("Texture") then
obj:Destroy()
count += 1
end
end
decalStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
decalStatus.Text = "Removed " .. count .. " decals."
end)
Separator()
-- SKYBOX CHANGER
SectionLabel("[ SKYBOX CHANGER ]")
local skyIdBox = TextInput("Sky Asset ID (applies to all 6 faces)")
local skyStatus = StatusLabel()
local function applySky(id)
local sky = Lighting:FindFirstChildOfClass("Sky")
if not sky then
sky = Instance.new("Sky")
sky.Parent = Lighting
end
for _, face in ipairs({"SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp"}) do
sky[face] = "rbxassetid://" .. id
end
end
local skyApplyBtn = CreateButton("Apply Skybox (All Faces)", Color3.fromRGB(60, 0, 160))
skyApplyBtn.MouseButton1Click:Connect(function()
local id = skyIdBox.Text:match("%d+")
if not id then
skyStatus.TextColor3 = Color3.fromRGB(255, 80, 80)
skyStatus.Text = "Invalid ID — numbers only."
return
end
applySky(id)
skyStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
skyStatus.Text = "Skybox applied! ID: " .. id
end)
local skyRemoveBtn = CreateButton("Remove Skybox (Default Sky)", Color3.fromRGB(120, 0, 0))
skyRemoveBtn.MouseButton1Click:Connect(function()
local sky = Lighting:FindFirstChildOfClass("Sky")
if sky then sky:Destroy() end
skyStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
skyStatus.Text = "Skybox removed."
end)
local fogBox = TextInput("Fog End value (default: 100000)")
local fogBtn = CreateButton("Set Fog", Color3.fromRGB(40, 40, 100))
fogBtn.MouseButton1Click:Connect(function()
local val = tonumber(fogBox.Text)
if val then
Lighting.FogEnd = val
Lighting.FogStart = val * 0.1
skyStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
skyStatus.Text = "Fog set to " .. val
else
skyStatus.TextColor3 = Color3.fromRGB(255, 80, 80)
skyStatus.Text = "Invalid value."
end
end)
Separator()
-- SOUND PLAYER
SectionLabel("[ SOUND PLAYER ]")
local soundIdBox = TextInput("Sound Asset ID (e.g. 1837844180)")
local volumeBox = TextInput("Volume (0.0 - 10.0, default: 1)")
local pitchBox = TextInput("Pitch (0.1 - 5.0, default: 1)")
local soundStatus = StatusLabel()
local currentSound = nil
local soundPlayBtn = CreateButton("Play Sound", Color3.fromRGB(0, 110, 55))
soundPlayBtn.MouseButton1Click:Connect(function()
local id = soundIdBox.Text:match("%d+")
if not id then soundStatus.TextColor3 = Color3.fromRGB(255,80,80) soundStatus.Text = "Invalid Sound ID." return end
if currentSound then pcall(function() currentSound:Stop() currentSound:Destroy() end) currentSound = nil end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://" .. id
sound.Volume = tonumber(volumeBox.Text) or 1
sound.PlaybackSpeed = tonumber(pitchBox.Text) or 1
sound.Looped = false
sound.Parent = workspace
sound:Play()
currentSound = sound
soundStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
soundStatus.Text = "Playing ID: " .. id
end)
local soundLoopBtn = CreateButton("Play Looped", Color3.fromRGB(0, 80, 130))
soundLoopBtn.MouseButton1Click:Connect(function()
local id = soundIdBox.Text:match("%d+")
if not id then soundStatus.TextColor3 = Color3.fromRGB(255,80,80) soundStatus.Text = "Invalid Sound ID." return end
if currentSound then pcall(function() currentSound:Stop() currentSound:Destroy() end) currentSound = nil end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://" .. id
sound.Volume = tonumber(volumeBox.Text) or 1
sound.PlaybackSpeed = tonumber(pitchBox.Text) or 1
sound.Looped = true
sound.Parent = workspace
sound:Play()
currentSound = sound
soundStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
soundStatus.Text = "Looping ID: " .. id
end)
local soundStopBtn = CreateButton("Stop Sound", Color3.fromRGB(130, 0, 0))
soundStopBtn.MouseButton1Click:Connect(function()
if currentSound then
pcall(function() currentSound:Stop() currentSound:Destroy() end)
currentSound = nil
soundStatus.TextColor3 = Color3.fromRGB(100, 255, 150)
soundStatus.Text = "Stopped."
else
soundStatus.TextColor3 = Color3.fromRGB(255, 80, 80)
soundStatus.Text = "No sound playing."
end
end)
print("[NOD6547 Hub] Loaded!")No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

