DecalXCore Visual
Key RequiredUniversal

DecalXCore Visual

Universal Scriptriz99_devriz99_dev 19.5K views 288 executesUpdated Aug 17, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•158 lines (4229 chars)
-- DecalXCore - c00lkidd-style Decal & Skybox GUI (compact version)
-- Theme: black, red outline, no UICorner, draggable. Parent: CoreGui

local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local LocalPlayer = Players.LocalPlayer

--=== UI ===--
local gui = Instance.new("ScreenGui")
gui.Name = "DecalXCore"
gui.ResetOnSpawn = false
gui.Parent = game:GetService("CoreGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 240, 0, 150) -- smaller frame
frame.Position = UDim2.new(0.5, -120, 0.5, -75)
frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frame.BorderColor3 = Color3.fromRGB(255, 0, 0)
frame.BorderSizePixel = 3
frame.Active = true
frame.Draggable = true
frame.Parent = gui

local title = Instance.new("TextLabel")
title.Parent = frame
title.Size = UDim2.new(1, 0, 0, 26) -- smaller title
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundTransparency = 1
title.Text = "DecalXCore"
title.TextColor3 = Color3.fromRGB(255, 0, 0)
title.Font = Enum.Font.Code
title.TextScaled = false
title.TextSize = 18

-- Input
local decalBox = Instance.new("TextBox")
decalBox.Parent = frame
decalBox.Size = UDim2.new(1, -20, 0, 28) -- smaller input box
decalBox.Position = UDim2.new(0, 10, 0, 34)
decalBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
decalBox.BorderColor3 = Color3.fromRGB(255, 0, 0)
decalBox.BorderSizePixel = 2
decalBox.Text = "Decal ID"
decalBox.PlaceholderText = "Enter Decal/Texture ID"
decalBox.TextColor3 = Color3.fromRGB(255, 0, 0)
decalBox.Font = Enum.Font.Code
decalBox.TextScaled = false
decalBox.TextSize = 16
decalBox.ClearTextOnFocus = false

local function makeButton(text, y)
	local b = Instance.new("TextButton")
	b.Parent = frame
	b.Size = UDim2.new(1, -40, 0, 28) -- smaller button
	b.Position = UDim2.new(0, 20, 0, y)
	b.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	b.BorderColor3 = Color3.fromRGB(255, 0, 0)
	b.BorderSizePixel = 2
	b.Text = text
	b.TextColor3 = Color3.fromRGB(255, 0, 0)
	b.Font = Enum.Font.Code
	b.TextScaled = false
	b.TextSize = 16
	return b
end

local decalSpamBtn = makeButton("Decal Spam", 70)
local skyboxBtn    = makeButton("Set Skybox", 104)

--=== Helpers ===--

local faces = Enum.NormalId:GetEnumItems()

local function ensureFaceImage(part, face, asset)
	local found
	for _, child in ipairs(part:GetChildren()) do
		if (child:IsA("Decal") or child:IsA("Texture")) and child.Face == face then
			found = child
			break
		end
	end
	if not found then
		found = Instance.new("Decal")
		found.Face = face
		found.Parent = part
	end
	found.Texture = asset
end

local function applyEverywhere(assetIdStr)
	local asset = "rbxassetid://" .. assetIdStr
	local partsHit, meshesHit = 0, 0

	for _, obj in ipairs(workspace:GetDescendants()) do
		if obj:IsA("BasePart") then
			for _, face in ipairs(faces) do
				ensureFaceImage(obj, face, asset)
			end
			partsHit += 1

			if obj:IsA("MeshPart") then
				pcall(function() obj.TextureID = asset end)
				meshesHit += 1
			end

			local sm = obj:FindFirstChildOfClass("SpecialMesh")
			if sm then
				pcall(function() sm.TextureId = asset end)
				meshesHit += 1
			end

			for _, child in ipairs(obj:GetChildren()) do
				if child.ClassName == "Mesh" then
					pcall(function() child.TextureId = asset end)
					meshesHit += 1
				end
			end
		end
	end

	print(string.format("DecalXCore: Applied to %d parts; %d mesh textures updated.", partsHit, meshesHit))
end

--=== Actions ===--

decalSpamBtn.MouseButton1Click:Connect(function()
	local id = tonumber(decalBox.Text)
	if not id then
		warn("DecalXCore: Invalid ID")
		return
	end
	print("DecalXCore: Spamming decal/texture id", id, "across all parts and meshes...")
	applyEverywhere(tostring(id))
end)

skyboxBtn.MouseButton1Click:Connect(function()
	local id = tonumber(decalBox.Text)
	if not id then
		warn("DecalXCore: Invalid Skybox ID")
		return
	end
	local asset = "rbxassetid://" .. id

	for _, v in ipairs(Lighting:GetChildren()) do
		if v:IsA("Sky") then v:Destroy() end
	end

	local sky = Instance.new("Sky")
	sky.SkyboxBk = asset
	sky.SkyboxFt = asset
	sky.SkyboxLf = asset
	sky.SkyboxRt = asset
	sky.SkyboxUp = asset
	sky.SkyboxDn = asset
	sky.Parent = Lighting

	print("DecalXCore: Set skybox to id", id)
end)

Features & Information

DecalXCore is a c00lkidd-themed utility GUI designed to apply decals across the entire game world. By entering an asset ID into the textbox and pressing “Decal Spam”, the script will automatically cover every part, model, and surface with the chosen decal. It also extends support to MeshParts, SpecialMeshes, and older Mesh objects, ensuring textures are replaced consistently across all assets. The second feature is “Set Skybox”, which replaces the game’s entire sky with the given asset ID. This allows you to instantly transform the game’s atmosphere to match your chosen image. The interface follows a minimal, black-and-red c00lkidd style with sharp edges, no rounded corners, and is draggable for convenience. Text size is uniform, making the GUI both professional and visually striking.
#Decal#Decal Spam#Skybox#Set skybox#Universal

Community Comments (3)

riz99_devriz99_devAug 17, 2025

The Script May Not Work If It Executed Directly On Your Executor

Ele é visual mesmo?

guerintimothe21guerintimothe21Sep 19, 2025

coment alor l'executer

More Scripts for Universal Scripts