local guiName = "ScreenGui" local player = game.Players.LocalPlayer local gui = player.PlayerGui:FindFirstChild(guiName) if not gui then warn("you don't have GUI skid") return end local function fixName(name) name = name:gsub("%s+", "_") name = name:gsub("[^%w_]", "") if tonumber(name:sub(1,1)) then name = "obj_"..name end return name end local function udim2(u) return "UDim2.new("..u.X.Scale..","..u.X.Offset..","..u.Y.Scale..","..u.Y.Offset..")" end local function color3(c) return "Color3.fromRGB(".. math.floor(c.R*255)..",".. math.floor(c.G*255)..",".. math.floor(c.B*255)..")" end local output = "" local names = {} local usedNames = {} output = output..[[ local CoreGui = game:GetService("CoreGui") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = CoreGui ScreenGui.ResetOnSpawn = false ]] names[gui] = "ScreenGui" local function convert(obj) local base = fixName(obj.Name) local var = base local i = 1 while usedNames[var] do var = base.."_"..i i += 1 end usedNames[var] = true names[obj] = var output = output.."local "..var.." = Instance.new('"..obj.ClassName.."')\n" if obj.Parent == gui then output = output..var..".Parent = ScreenGui\n" elseif names[obj.Parent] then output = output..var..".Parent = "..names[obj.Parent].."\n" else output = output..var..".Parent = ScreenGui\n" end if obj:IsA("GuiObject") then output = output..var..".Visible = "..tostring(obj.Visible).."\n" output = output..var..".Size = "..udim2(obj.Size).."\n" output = output..var..".Position = "..udim2(obj.Position).."\n" output = output..var..".Rotation = "..obj.Rotation.."\n" output = output..var..".BackgroundColor3 = "..color3(obj.BackgroundColor3).."\n" output = output..var..".BackgroundTransparency = "..obj.BackgroundTransparency.."\n" output = output..var..".BorderSizePixel = "..obj.BorderSizePixel.."\n" output = output..var..".BorderColor3 = "..color3(obj.BorderColor3).."\n" end if obj:IsA("TextLabel") or obj:IsA("TextButton") or obj:IsA("TextBox") then output = output..var..".Text = [["..obj.Text.."]]\n" output = output..var..".TextColor3 = "..color3(obj.TextColor3).."\n" output = output..var..".TextTransparency = "..obj.TextTransparency.."\n" output = output..var..".TextSize = "..obj.TextSize.."\n" output = output..var..".TextWrapped = "..tostring(obj.TextWrapped).."\n" output = output..var..".TextScaled = "..tostring(obj.TextScaled).."\n" output = output..var..".Font = Enum.Font."..tostring(obj.Font):gsub("Enum.Font.", "").."\n" output = output..var..".TextXAlignment = Enum.TextXAlignment."..tostring(obj.TextXAlignment):gsub("Enum.TextXAlignment.", "").."\n" output = output..var..".TextYAlignment = Enum.TextYAlignment."..tostring(obj.TextYAlignment):gsub("Enum.TextYAlignment.", "").."\n" if obj:IsA("TextBox") then output = output..var..".ClearTextOnFocus = "..tostring(obj.ClearTextOnFocus).."\n" output = output..var..".MultiLine = "..tostring(obj.MultiLine).."\n" end end if obj:IsA("ImageLabel") or obj:IsA("ImageButton") then output = output..var..".Image = [["..obj.Image.."]]\n" output = output..var..".ImageTransparency = "..obj.ImageTransparency.."\n" output = output..var..".ImageRectOffset = Vector2.new("..obj.ImageRectOffset.X..","..obj.ImageRectOffset.Y..")\n" output = output..var..".ImageRectSize = Vector2.new("..obj.ImageRectSize.X..","..obj.ImageRectSize.Y..")\n" end for _,child in ipairs(obj:GetChildren()) do if child:IsA("UIStroke") then local childVar = var.."_UIStroke" output = output.."local "..childVar.." = Instance.new('UIStroke')\n" output = output..childVar..".Parent = "..var.."\n" output = output..childVar..".Color = "..color3(child.Color).."\n" output = output..childVar..".Transparency = "..child.Transparency.."\n" output = output..childVar..".Thickness = "..child.Thickness.."\n" output = output..childVar..".ApplyStrokeMode = Enum.ApplyStrokeMode."..tostring(child.ApplyStrokeMode):gsub("Enum.ApplyStrokeMode.", "").."\n" output = output..childVar..".LineJoinMode = Enum.LineJoinMode."..tostring(child.LineJoinMode):gsub("Enum.LineJoinMode.", "").."\n" output = output..childVar..".Enabled = "..tostring(child.Enabled).."\n" elseif child:IsA("UICorner") then local childVar = var.."_UICorner" output = output.."local "..childVar.." = Instance.new('UICorner')\n" output = output..childVar..".Parent = "..var.."\n" output = output..childVar..".CornerRadius = UDim.new(".. child.CornerRadius.Scale..",".. child.CornerRadius.Offset..")\n" end end if obj:IsA("TextButton") or obj:IsA("ImageButton") then output = output..var..".MouseButton1Click:Connect(function()\n" output = output.." print('"..var.." clicked')\n" output = output.."end)\n" end output = output.."\n" end for _,v in ipairs(gui:GetDescendants()) do convert(v) end setclipboard(output) print("GUI successfully")