-- Auto Dupe AutoDupeGui.MouseButton1Click:connect(function() Screen = Instance.new("ScreenGui",game.Players.LocalPlayer.PlayerGui) Scrolling = Instance.new("ScrollingFrame",Screen) Scrolling.BackgroundColor3 = Color3.new(0, 0, 0) Scrolling.BackgroundTransparency = 0.10000000149012 Scrolling.Size = UDim2.new(0,300,0,500) Scrolling.CanvasSize = UDim2.new(0,300,3,0) Exit = Instance.new("TextButton", Scrolling) Exit.BackgroundColor3 = Color3.new(0, 1, 1) Exit.Size = UDim2.new(0, 80, 0, 40) Exit.Position = UDim2.new(1, -300, 0, 0) Exit.Text = "Exit" DontTP = Instance.new("TextButton", Scrolling) DontTP.BackgroundColor3 = Color3.new(0, 1, 1) DontTP.Size = UDim2.new(0, 80, 0, 40) DontTP.Position = UDim2.new(1, -300, 0, 37) DontTP.Text = "Don't TP back" DontTP.TextWrapped = true DontTPVar = false sendNotice = game.ReplicatedStorage.Notices.SendUserNotice DontTP.MouseButton1Click:connect(function() DontTPVar = true end) Exit.MouseButton1Click:connect(function() Screen:Destroy() end) g = 0 Sniggle = false function InitButton(ButtonName) TreeClick = TreeButton.MouseButton1Click:Connect(function() if game.Players.LocalPlayer.CurrentSaveSlot ~= -1 then TreeClick:Disconnect() Scrolling.Visible = false game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Visible = false TP(ButtonName) else sendNotice:Fire("You must load/save first!") end end) end gg = {} OpenMenu = game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Changed:connect(function() if game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Visible == true then game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Visible = false end end) function Start() Sniggle = true for i,v in pairs(game.Workspace.PlayerModels:GetChildren()) do if v:FindFirstChild("Owner") and v.Owner.Value == game.Players.LocalPlayer then if v:FindFirstChild("TreeClass") then if Scrolling:FindFirstChild(v.TreeClass.Value) then if not gg[i] then Scrolling[v.TreeClass.Value.." Value"].Value = Scrolling[v.TreeClass.Value.." Value"].Value+1 Scrolling[v.TreeClass.Value].Text = v.TreeClass.Value.." ("..Scrolling[v.TreeClass.Value.." Value"].Value..")" end else g = g+1 TreeButton = Instance.new("TextButton",Scrolling) TreeButton.Size = UDim2.new(0,100,0,50) TreeButton.Position = UDim2.new(0,10,0,70*g) TreeButton.Name = v.TreeClass.Value TreeButton.Text = v.TreeClass.Value.." (1)" InitButton(TreeButton) TreeVal = Instance.new("NumberValue",Scrolling) TreeVal.Name = v.TreeClass.Value.." Value" TreeVal.Value = 1 gg[i] = v.TreeClass.Value end end end end end if not Sniggle then Start() end --[[game.Workspace.PlayerModels.ChildAdded:connect(function(Item) Item:WaitForChild("Owner") if Item.Owner.Value == game.Players.LocalPlayer then Start() end end)]] game.Workspace.PlayerModels.ChildRemoved:connect(function(Item) if Item:FindFirstChild("Owner") and Item.Owner.Value == game.Players.LocalPlayer and Item:FindFirstChild("TreeClass") and Scrolling:FindFirstChild(Item.TreeClass.Value.." Value") then Scrolling[Item.TreeClass.Value.." Value"].Value = Scrolling[Item.TreeClass.Value.." Value"].Value-1 if Scrolling[Item.TreeClass.Value.." Value"].Value == 0 then Scrolling[Item.TreeClass.Value]:Destroy() Scrolling[Item.TreeClass.Value.." Value"]:Destroy() else Scrolling[Item.TreeClass.Value].Text = Item.TreeClass.Value.." ("..Scrolling[Item.TreeClass.Value.." Value"].Value..")" end end end) function TP(Name) sendNotice:Fire("Click on a whitelisted base") local ButtonPress ButtonPress = game.Players.LocalPlayer:GetMouse().Button1Down:Connect(function() Square = game.Players.LocalPlayer:GetMouse().Target if ((Square.Name == "OriginSquare" or Square.Name == "Square") and Square.Parent.Owner.Value ~= game.Players.LocalPlayer and Square.Parent.Owner.Value ~= nil) then ButtonPress:Disconnect() sendNotice:Fire("Auto Whitelisted player: "..Square.Parent.Owner.Value.Name,0.8) game.ReplicatedStorage.Interaction.ClientSetListPlayer:InvokeServer(game.Players.LocalPlayer.WhitelistFolder,Square.Parent.Owner.Value,true) game.ReplicatedStorage.LoadSaveRequests.RequestSave:InvokeServer(game.Players.LocalPlayer.CurrentSaveSlot.Value) local success, errorMessage = game.ReplicatedStorage.LoadSaveRequests.RequestLoad:InvokeServer(game.Players.LocalPlayer.CurrentSaveSlot.Value,game.Players.LocalPlayer) if success then print'Initial Reload Success' sendNotice:Fire("Reload success", 0.8) game.Players.LocalPlayer.CurrentSaveSlot.RobloxLocked = true game.Players.LocalPlayer.CurrentSaveSlot.Set.RobloxLocked = true for i,v in pairs(game.Workspace.PlayerModels:GetChildren()) do print'TPing' if v:FindFirstChild("TreeClass") and v.TreeClass.Value == Name and v.Owner.Value == game.Players.LocalPlayer then v:MoveTo(Square.Position) v.Name = "TpMe" for i=1,10 do game:GetService("RunService").RenderStepped:wait() for i=1,10 do v.WoodSection.CFrame = CFrame.new(Vector3.new(Square.Position.X,Square.Position.Y+5,Square.Position.Z))*CFrame.Angles(math.rad(90),0,0) game.ReplicatedStorage.Interaction.ClientIsDragging:FireServer(v) end end end end Wait = 0 while Wait < 60 do Wait = Wait + 1 sendNotice:Fire("Waiting: "..60-Wait,1) wait(1) end local succes, errormessage = game.ReplicatedStorage.LoadSaveRequests.RequestLoad:InvokeServer(game.Players.LocalPlayer.CurrentSaveSlot.Value,game.Players.LocalPlayer) if succes then sendNotice:Fire("Reload success", 0.8) game.Players.LocalPlayer.CurrentSaveSlot.RobloxLocked = false game.Players.LocalPlayer.CurrentSaveSlot.Set.RobloxLocked = false if not DontTPVar then DontTPVar = false for i,v in pairs(game.Workspace.Properties:GetChildren()) do if v.Owner and v.Owner.Value == game.Players.LocalPlayer and v:FindFirstChild("OriginSquare") then Square = v.OriginSquare for i,v in pairs(game.Workspace.PlayerModels:GetChildren()) do if v.Name == "TpMe" then v.Name = "Model" print'Secondary Reload Success' game.Players.LocalPlayer.CurrentSaveSlot.RobloxLocked = false game.Players.LocalPlayer.CurrentSaveSlot.Set.RobloxLocked = false game.ReplicatedStorage.Interaction.ClientRequestOwnership:FireServer(v) v:MoveTo(Square.Position) for i=1,10 do game:GetService("RunService").RenderStepped:wait() for i=1,10 do v.WoodSection.CFrame = (CFrame.new(Vector3.new(Square.Position.X,Square.Position.Y+5,Square.Position.Z))*CFrame.Angles(math.rad(90),0,0)) game.ReplicatedStorage.Interaction.ClientIsDragging:FireServer(v) end end end end end end end OpenMenu:Disconnect() sendNotice:Fire("Duping Done, if you're going to dupe again, you must reload.") Scrolling.Visible = true game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Visible = true Start() else print('Secondary Reload Error: '..errormessage) sendNotice:Fire(errormessage) end else OOF = true while OOF do wait(0.5) local _,Fail = game.ReplicatedStorage.LoadSaveRequests.RequestLoad:InvokeServer(game.Players.LocalPlayer.CurrentSaveSlot.Value,game.Players.LocalPlayer) print(string.sub(Fail,49,50)) if tonumber(string.sub(Fail,49,50)) == 1 then OOF = false end print('Initial Reload Error: '..Fail) Deb = true sendNotice:Fire("Wait "..string.sub(Fail,49,50),1) end if Deb then Deb = false TP(Name) end end else sendNotice:Fire("Something went wrong! Try re-executing.") game.Players.LocalPlayer.PlayerGui.MenuGUI.Open.Visible = true end end) end end) --game.ReplicatedStorage.Interaction.ClientIsDragging:FireServer() --v:MoveTo(game.Players.LocalPlayer.Character.Torso.Position) --game.Players.LocalPlayer.PlayerGui.ScreenGui:Destroy()