Advertisement
Guest User

starving artists hack

a guest
Mar 7th, 2022
50,400
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.64 KB | None | 0 0
  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
Advertisement
Comments
  • Kapi221w
    2 years
    # text 5.64 KB | 0 1
    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
Add Comment
Please, Sign In to add comment
Advertisement