The text below is selected, press Ctrl+C to copy to your clipboard. (⌘+C on Mac) No line numbers will be copied.
Guest
Copy/Clone Art -Read Comments script pastebin roblox
By Copy/Clone Art -Read Comments on 2024-09-22 08:00 am | Syntax: LUA | Views: 9



New Script | Raw | Show/Hide line no. | Copy text to clipboard
  1. local collectionService = game:GetService("CollectionService")
  2. local player = game.Players.LocalPlayer
  3. _G.refreshing = true
  4. local cloneGui = {}
  5.  
  6. function cloneGui.buildRoot()
  7.    local paintFrame = player.PlayerGui.MainGui.PaintFrame
  8.    local cloneFrame = paintFrame:Clone()
  9.    
  10.    -- Initialize root frame.
  11.    cloneFrame.Name = 'CloneFrame'
  12.    cloneFrame.Parent = paintFrame
  13.    cloneFrame.ToolsFrame:Destroy()
  14.    cloneFrame.ColorFrame:Destroy()
  15.    cloneFrame.NextButton:Destroy()
  16.    cloneFrame.UIAspectRatioConstraint:Destroy()
  17.    cloneFrame.Grid:Destroy()
  18.    cloneFrame.Confirmation:Destroy()
  19.    cloneFrame.AnchorPoint = Vector2.new(0, 0.5)
  20.    cloneFrame.Position = UDim2.new(1, 10, 0.5, 0)
  21.    cloneFrame.Size = UDim2.new(0.5, 0, 1, 0)
  22.    cloneFrame.Visible = true
  23.    
  24.    paintFrame.Position = UDim2.new(0.5, -((cloneFrame.AbsoluteSize.X / 2) + 5), 0.5, 0)
  25.    
  26.    cloneGui.root = cloneFrame
  27. end
  28.  
  29. function cloneGui.buildButtons()
  30.    local nextButton = player.PlayerGui.MainGui.PaintFrame.NextButton
  31.    local copyButton = nextButton:Clone()
  32.    local cloneButton = nextButton:Clone()
  33.    local buttonSize = UDim2.new(0.4, 0, 0.09, 0)
  34.    
  35.    -- Initialize copy button.
  36.    copyButton.Parent = cloneGui.root
  37.    copyButton.Size = buttonSize
  38.    copyButton.Position = UDim2.new(0.28, 0, 0.895)
  39.    copyButton.Label.Text = 'COPY'
  40.    copyButton.Name = 'CopyButton'
  41.    
  42.    -- Initialize clone button.
  43.    cloneButton.Parent = cloneGui.root
  44.    cloneButton.Size = buttonSize
  45.    cloneButton.Position = UDim2.new(0.72, 0, 0.895)
  46.    cloneButton.Label.Text = 'CLONE'
  47.    cloneButton.Name = 'CloneButton'
  48.  
  49.    -- Animation functions.
  50.    for i, button in pairs({cloneButton, copyButton}) do
  51.        button.MouseEnter:Connect(function()
  52.            button:TweenSize(UDim2.new(buttonSize.X.Scale + 0.015, 0, buttonSize.Y.Scale + 0.015, 0), 'Out', 'Quad', 0.2, true)
  53.        end)
  54.        
  55.        button.MouseLeave:Connect(function()
  56.            button:TweenSize(buttonSize, 'Out', 'Quad', 0.2, true)
  57.        end)
  58.    end
  59.    
  60.    -- Button actions.
  61.    copyButton.MouseButton1Click:Connect(copyGrid)
  62.    
  63.    cloneButton.MouseButton1Click:Connect(cloneGrid)
  64. end
  65.  
  66. function cloneGui.buildScrollingFrame()
  67.    local scrollingFrame = Instance.new('ScrollingFrame')
  68.    local uiListLayout = Instance.new('UIListLayout')
  69.    local uiPadding = Instance.new('UIPadding')
  70.    
  71.    -- Initialize scrolling frame.
  72.    scrollingFrame.Parent = cloneGui.root
  73.    scrollingFrame.AnchorPoint = Vector2.new(0.5, 0)
  74.    scrollingFrame.Position = UDim2.new(0.5, 0, 0.05, 0)
  75.    scrollingFrame.Size = UDim2.new(0.8, 0, 0.75, 0)
  76.    scrollingFrame.BackgroundTransparency = 1
  77.    scrollingFrame.BorderSizePixel = 0
  78.    scrollingFrame.ScrollBarImageColor3 = Color3.new((210 / 255), (76 / 255), (71 / 255))
  79.    scrollingFrame.ScrollBarThickness = 4
  80.    scrollingFrame.ZIndex = 3
  81.    
  82.    -- Configure layout.
  83.    uiListLayout.Parent = scrollingFrame
  84.    uiListLayout.Padding = UDim.new(0, 10)
  85.    uiPadding.Parent = scrollingFrame
  86.    uiPadding.PaddingLeft = UDim.new(0.08, 0)
  87.    uiPadding.PaddingRight = UDim.new(0.08, 0)
  88.    uiPadding.PaddingTop = UDim.new(0, 5)
  89.    
  90.    uiListLayout.Changed:Connect(function()
  91.        scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, uiListLayout.AbsoluteContentSize.Y + 10)
  92.    end)
  93.    
  94.    cloneGui.scrollingFrame = scrollingFrame
  95. end
  96.  
  97. function cloneGui.addGrid(grid)
  98.    local UIStroke = player.PlayerGui.MainGui.PaintFrame.Grid.UIStroke:Clone()
  99.    local container = Instance.new('Frame')
  100.    local preview = grid:Clone()
  101.    
  102.    -- Initialize new container.
  103.    container.Parent = cloneGui.scrollingFrame
  104.    container.Size = UDim2.new(1, 0, 1, 0)
  105.    container.SizeConstraint = Enum.SizeConstraint.RelativeXX
  106.    container.BackgroundTransparency = 0.8
  107.    container.ZIndex = 4
  108.    UIStroke.Thickness = 4.5
  109.    UIStroke.Parent = container
  110.    UIStroke.Enabled = false
  111.    
  112.    -- Clone grid into container.
  113.    preview.Parent = container
  114.    
  115.    if (cloneGui.selected == nil) then
  116.        cloneGui.selected = container
  117.        UIStroke.Enabled = true
  118.    end
  119.    
  120.    container.InputBegan:Connect(function(userInput)
  121.        if (userInput.UserInputType == Enum.UserInputType.MouseButton1) then
  122.            cloneGui.selected.UIStroke.Enabled = false
  123.            UIStroke.Enabled = true
  124.            cloneGui.selected = container
  125.        end
  126.    end)
  127. end
  128.  
  129. function copyGrid()
  130.    if (cloneGui.selected ~= nil) then
  131.        local target = cloneGui.selected.Grid
  132.        local destination = player.PlayerGui.MainGui.PaintFrame.Grid
  133.        
  134.        for i = 1, 1024 do
  135.            destination[i].BackgroundColor3 = target[i].BackgroundColor3
  136.        end
  137.    end
  138. end
  139.  
  140. function cloneGrid()
  141.    local remote = game.ReplicatedStorage.Remotes.CreateArt
  142.    local frameColor = "ffffff"
  143.    local frame = "Starter Frame"
  144.    local name = "a"
  145.    local cells = {}
  146.    
  147.    local grid = cloneGui.selected.Grid
  148.    for i = 1, 1024 do
  149.       cells[i] = grid[i].BackgroundColor3:ToHex()
  150.    end
  151.  
  152.    local payload = {}
  153.    payload["FrameColor"] = frameColor
  154.    payload["Frame"] = frame
  155.    payload["Name"] = name
  156.    payload["Cells"] = cells
  157.    
  158.    remote:InvokeServer(payload)
  159. end
  160.  
  161. function refreshGrids()
  162.    local objects = game.Workspace.Plots:GetDescendants()
  163.    for i, v in ipairs(objects) do
  164.        if (v.Name == 'Grid' and v.ClassName == 'Frame' and not collectionService:HasTag(v, 'cloned')) then
  165.            if (#v:GetChildren() == 1027) then
  166.                collectionService:AddTag(v, 'cloned')
  167.                cloneGui.addGrid(v)
  168.            end
  169.        end
  170.    end
  171. end
  172.  
  173. cloneGui.buildRoot()
  174. cloneGui.buildButtons()
  175. cloneGui.buildScrollingFrame()
  176.  
  177. while (_G.refreshing) do
  178.    refreshGrids()
  179.    wait(0.1)
  180. end



  • Recent Roblox Scripts