262 подписчика
local textButton = script.Parent -- Ссылка на TextButton
local originalMaterials = {} -- Таблица для хранения оригинальных материалов
local decalId = "rbxassetid://YOUR_DECAL_ID" -- Замените YOUR_DECAL_ID на ID вашего Decal
local isTransformed = false -- Флаг для отслеживания состояния
-- Функция для замены всех Parts на Decal
local function transformParts()
for _, obj in pairs(workspace:GetChildren()) do
if obj:IsA("Part") then
-- Сохраняем оригинальный материал
originalMaterials[obj] = obj.Material
-- Заменяем материал на Decal
obj.Material = Enum.Material.SmoothPlastic
local decal = Instance.new("Decal")
decal.Texture = decalId
decal.Parent = obj
end
end
end
-- Функция для восстановления оригинальных Parts
local function restoreParts()
for part, material in pairs(originalMaterials) do
part.Material = material -- Восстанавливаем оригинальный материал
for _, child in pairs(part:GetChildren()) do
if child:IsA("Decal") then
child:Destroy() -- Удаляем Decal
end
end
end
originalMaterials = {} -- Очищаем таблицу оригинальных материалов
end
-- Основная функция для переключения состояния
local function toggleTransformation()
if isTransformed then
restoreParts() -- Восстанавливаем оригинальные Parts
else
transformParts() -- Заменяем на Decal
end
isTransformed = not isTransformed -- Переключаем состояние
end
-- Привязываем функцию к событию нажатия на кнопку
textButton.MouseButton1Click:Connect(toggleTransformation)
1 минута
4 ноября 2025