Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Screen = Instance.new("ScreenGui",game.Players.LocalPlayer.PlayerGui)
- Scrolling = Instance.new("ScrollingFrame",Screen)
- Scrolling.Size = UDim2.new(0,300,0,500)
- Scrolling.CanvasSize = UDim2.new(0,300,3,0)
- Exit = Instance.new("TextButton", Scrolling)
- Exit.Size = UDim2.new(0,30,0,20)
- Exit.Position = UDim2.new(1,-40,0,0)
- Exit.Text = "Exit"
- DontTP = Instance.new("TextButton", Scrolling)
- DontTP.Size = UDim2.new(0,40,0,40)
- DontTP.Position = UDim2.new(1,-60,0,50)
- 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
- --game.ReplicatedStorage.Interaction.ClientIsDragging:FireServer()
- --v:MoveTo(game.Players.LocalPlayer.Character.Torso.Position)
- --game.Players.LocalPlayer.PlayerGui.ScreenGui:Destroy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement