-- Roblox Shape Changer GUI local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local shapeRemote = ReplicatedStorage:WaitForChild("Customization"):WaitForChild("Remotes"):WaitForChild("Shape") -- ScreenGui Setup local screenGui = Instance.new("ScreenGui") screenGui.Name = "ShapeChangerGui" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Main Frame local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 220, 0, 240) mainFrame.Position = UDim2.new(0.5, -110, 0.4, -120) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35) mainFrame.BorderSizePixel = 0 mainFrame.ClipsDescendants = true mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 10) mainCorner.Parent = mainFrame -- Title Bar local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 35) titleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 52) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 10) titleCorner.Parent = titleBar local titleText = Instance.new("TextLabel") titleText.Size = UDim2.new(1, -40, 1, 0) titleText.Position = UDim2.new(0, 10, 0, 0) titleText.BackgroundTransparency = 1 titleText.Text = "Shape Changer" titleText.TextColor3 = Color3.fromRGB(255, 255, 255) titleText.TextSize = 15 titleText.Font = Enum.Font.GothamBold titleText.TextXAlignment = Enum.TextXAlignment.Left titleText.Parent = titleBar -- Minimize Button local minimizeBtn = Instance.new("TextButton") minimizeBtn.Size = UDim2.new(0, 25, 0, 25) minimizeBtn.Position = UDim2.new(1, -30, 0, 5) minimizeBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 70) minimizeBtn.Text = "-" minimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) minimizeBtn.TextSize = 18 minimizeBtn.Font = Enum.Font.GothamBold minimizeBtn.Parent = titleBar local minCorner = Instance.new("UICorner") minCorner.CornerRadius = UDim.new(0, 6) minCorner.Parent = minimizeBtn -- Button Container local container = Instance.new("Frame") container.Name = "Container" container.Size = UDim2.new(1, -20, 1, -45) container.Position = UDim2.new(0, 10, 0, 40) container.BackgroundTransparency = 1 container.Parent = mainFrame local UIListLayout = Instance.new("UIListLayout") UIListLayout.Padding = UDim.new(0, 8) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout.Parent = container -- Function to Create Buttons local function createShapeButton(name, shapeName) local btn = Instance.new("TextButton") btn.Name = name .. "Btn" btn.Size = UDim2.new(1, 0, 0, 38) btn.BackgroundColor3 = Color3.fromRGB(50, 50, 60) btn.Text = name btn.TextColor3 = Color3.fromRGB(240, 240, 240) btn.TextSize = 14 btn.Font = Enum.Font.GothamSemibold btn.Parent = container local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = btn -- Click Event btn.MouseButton1Click:Connect(function() shapeRemote:FireServer(shapeName) end) -- Hover Animations btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(70, 70, 85)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 50, 60)}):Play() end) end -- Create Shape Buttons createShapeButton("Cat", "Cat") createShapeButton("Alien", "Alien") createShapeButton("Noodle", "Noodle") createShapeButton("Reich", "Reich") -- Minimize Toggle Functionality local isMinimized = false minimizeBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized local targetSize = isMinimized and UDim2.new(0, 220, 0, 35) or UDim2.new(0, 220, 0, 240) minimizeBtn.Text = isMinimized and "+" or "-" TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = targetSize }):Play() end)