Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- SkyTP โ Advanced Save & Teleport Script
- if not game or not game:IsLoaded() then game.Loaded:Wait() end
- local Players = game:GetService("Players")
- local plr = Players.LocalPlayer
- local chr = plr.Character or plr.CharacterAdded:Wait()
- local humanoidRoot = chr:WaitForChild("HumanoidRootPart")
- local savedPositions = {}
- local maxSaves = 5
- local currentSaveSlot = 1
- -- UI Setup
- local ScreenGui = Instance.new("ScreenGui")
- ScreenGui.Name = "SkyTPGui"
- ScreenGui.ResetOnSpawn = false
- ScreenGui.Parent = game.CoreGui
- local MainFrame = Instance.new("Frame")
- MainFrame.Size = UDim2.new(0,350,0,250)
- MainFrame.Position = UDim2.new(0.5,-175,0.5,-125)
- MainFrame.BackgroundColor3 = Color3.fromRGB(30,30,40)
- MainFrame.BorderSizePixel = 0
- MainFrame.AnchorPoint = Vector2.new(0.5,0.5)
- MainFrame.Active = true
- MainFrame.Draggable = true
- MainFrame.Parent = ScreenGui
- do
- local Title = Instance.new("TextLabel", MainFrame)
- Title.Text = "๐ SkyTP"
- Title.Size = UDim2.new(1,0,0,35)
- Title.BackgroundColor3 = Color3.fromRGB(50,50,70)
- Title.TextColor3 = Color3.new(1,1,1)
- Title.Font = Enum.Font.SourceSansBold
- Title.TextSize = 20
- local CloseBtn = Instance.new("TextButton", MainFrame)
- CloseBtn.Text = "โ"
- CloseBtn.Size = UDim2.new(0,35,0,35)
- CloseBtn.Position = UDim2.new(1,-35,0,0)
- CloseBtn.BackgroundColor3 = Color3.fromRGB(180,60,60)
- CloseBtn.Font = Enum.Font.SourceSansBold
- CloseBtn.TextSize = 18
- CloseBtn.TextColor3 = Color3.new(1,1,1)
- CloseBtn.MouseButton1Click:Connect(function()
- MainFrame.Visible = false
- end)
- local OpenBtn = Instance.new("TextButton", game.CoreGui)
- OpenBtn.Text = "๐"
- OpenBtn.Size = UDim2.new(0,45,0,45)
- OpenBtn.Position = UDim2.new(0,10,0.5,-22)
- OpenBtn.BackgroundColor3 = Color3.fromRGB(40,40,60)
- OpenBtn.Font = Enum.Font.SourceSansBold
- OpenBtn.TextSize = 24
- OpenBtn.TextColor3 = Color3.new(1,1,1)
- OpenBtn.Visible = false
- OpenBtn.Parent = ScreenGui
- OpenBtn.MouseButton1Click:Connect(function()
- MainFrame.Visible = true
- OpenBtn.Visible = false
- end)
- MainFrame:GetPropertyChangedSignal("Visible"):Connect(function()
- OpenBtn.Visible = not MainFrame.Visible
- end)
- end
- local SlotSelector = Instance.new("TextLabel")
- SlotSelector.Size = UDim2.new(0.9,0,0,25)
- SlotSelector.Position = UDim2.new(0.05,0,0.15,0)
- SlotSelector.BackgroundTransparency = 1
- SlotSelector.TextColor3 = Color3.new(1,1,1)
- SlotSelector.Font = Enum.Font.SourceSansSemibold
- SlotSelector.TextSize = 16
- SlotSelector.Parent = MainFrame
- local function updateSlotDisplay()
- SlotSelector.Text = "Slot Atual: " .. currentSaveSlot
- SlotSelector.TextColor3 = savedPositions[currentSaveSlot] and Color3.fromRGB(100,255,100) or Color3.new(1,1,1)
- end
- local PrevSlot = Instance.new("TextButton", MainFrame)
- PrevSlot.Text = "โ"
- PrevSlot.Size = UDim2.new(0,30,0,25)
- PrevSlot.Position = UDim2.new(0.05,0,0.25,0)
- PrevSlot.BackgroundColor3 = Color3.fromRGB(80,80,100)
- PrevSlot.Font = Enum.Font.SourceSansBold
- PrevSlot.TextSize = 16
- PrevSlot.TextColor3 = Color3.new(1,1,1)
- PrevSlot.MouseButton1Click:Connect(function()
- currentSaveSlot = ((currentSaveSlot - 2) % maxSaves) + 1
- updateSlotDisplay()
- end)
- local NextSlot = Instance.new("TextButton", MainFrame)
- NextSlot.Text = "โบ"
- NextSlot.Size = UDim2.new(0,30,0,25)
- NextSlot.Position = UDim2.new(0.25,0,0.25,0)
- NextSlot.BackgroundColor3 = Color3.fromRGB(80,80,100)
- NextSlot.Font = Enum.Font.SourceSansBold
- NextSlot.TextSize = 16
- NextSlot.TextColor3 = Color3.new(1,1,1)
- NextSlot.MouseButton1Click:Connect(function()
- currentSaveSlot = (currentSaveSlot % maxSaves) + 1
- updateSlotDisplay()
- end)
- local NameField = Instance.new("TextBox")
- NameField.PlaceholderText = "Nomeie esta posiรงรฃo"
- NameField.Size = UDim2.new(0.6,0,0,30)
- NameField.Position = UDim2.new(0.35,0,0.25,0)
- NameField.BackgroundColor3 = Color3.fromRGB(50,50,70)
- NameField.TextColor3 = Color3.new(1,1,1)
- NameField.Font = Enum.Font.SourceSans
- NameField.TextSize = 14
- NameField.Parent = MainFrame
- local SaveBtn = Instance.new("TextButton", MainFrame)
- SaveBtn.Text = "๐พ Salvar"
- SaveBtn.Size = UDim2.new(0.4,0,0,45)
- SaveBtn.Position = UDim2.new(0.05,0,0.4,0)
- SaveBtn.BackgroundColor3 = Color3.fromRGB(60,160,60)
- SaveBtn.Font = Enum.Font.SourceSansBold
- SaveBtn.TextSize = 18
- SaveBtn.TextColor3 = Color3.new(1,1,1)
- SaveBtn.MouseButton1Click:Connect(function()
- if humanoidRoot then
- savedPositions[currentSaveSlot] = {
- position = humanoidRoot.CFrame,
- name = (#NameField.Text > 0) and NameField.Text or ("Posiรงรฃo " .. currentSaveSlot),
- timestamp = os.date("%X")
- }
- SaveBtn.Text = "โ Salvo!"
- SaveBtn.BackgroundColor3 = Color3.fromRGB(80,200,80)
- updateSlotDisplay()
- task.wait(1.5)
- SaveBtn.Text = "๐พ Salvar"
- SaveBtn.BackgroundColor3 = Color3.fromRGB(60,160,60)
- else
- SaveBtn.Text = "Erro: Sem HRP!"
- SaveBtn.BackgroundColor3 = Color3.fromRGB(200,60,60)
- task.wait(1.5)
- SaveBtn.Text = "๐พ Salvar"
- SaveBtn.BackgroundColor3 = Color3.fromRGB(60,160,60)
- end
- end)
- local TeleportBtn = Instance.new("TextButton", MainFrame)
- TeleportBtn.Text = "๐ Teleportar"
- TeleportBtn.Size = UDim2.new(0.4,0,0,45)
- TeleportBtn.Position = UDim2.new(0.55,0,0.4,0)
- TeleportBtn.BackgroundColor3 = Color3.fromRGB(60,60,160)
- TeleportBtn.Font = Enum.Font.SourceSansBold
- TeleportBtn.TextSize = 18
- TeleportBtn.TextColor3 = Color3.new(1,1,1)
- TeleportBtn.MouseButton1Click:Connect(function()
- if humanoidRoot and savedPositions[currentSaveSlot] then
- TeleportBtn.Text = "Teleportando..."
- TeleportBtn.BackgroundColor3 = Color3.fromRGB(100,100,220)
- humanoidRoot.CFrame = savedPositions[currentSaveSlot].position
- TeleportBtn.Text = "โ Sucesso!"
- TeleportBtn.BackgroundColor3 = Color3.fromRGB(80,200,80)
- else
- TeleportBtn.Text = savedPositions[currentSaveSlot] and "Erro: Sem HRP!" or "Slot vazio!"
- TeleportBtn.BackgroundColor3 = Color3.fromRGB(200,60,60)
- end
- task.wait(1.5)
- TeleportBtn.Text = "๐ Teleportar"
- TeleportBtn.BackgroundColor3 = Color3.fromRGB(60,60,160)
- end)
- local SavedList = Instance.new("ScrollingFrame", MainFrame)
- SavedList.Size = UDim2.new(0.9,0,0,80)
- SavedList.Position = UDim2.new(0.05,0,0.6,0)
- SavedList.BackgroundColor3 = Color3.fromRGB(40,40,60)
- SavedList.BorderSizePixel = 0
- SavedList.ScrollBarThickness = 6
- local function updateSavedList()
- for _, child in ipairs(SavedList:GetChildren()) do
- if child:IsA("TextButton") then child:Destroy() end
- end
- SavedList.CanvasSize = UDim2.new(0,0,0,#savedPositions * 25)
- for slot, data in pairs(savedPositions) do
- local entry = Instance.new("TextButton")
- entry.Text = string.format("%d: %s (%s)", slot, data.name, data.timestamp)
- entry.Size = UDim2.new(1,-10,0,25)
- entry.Position = UDim2.new(0,5,0,(slot-1)*25)
- entry.BackgroundColor3 = (slot == currentSaveSlot) and Color3.fromRGB(80,80,120) or Color3.fromRGB(60,60,90)
- entry.TextColor3 = Color3.new(1,1,1)
- entry.Font = Enum.Font.SourceSans
- entry.TextSize = 14
- entry.TextXAlignment = Enum.TextXAlignment.Left
- entry.Parent = SavedList
- entry.MouseButton1Click:Connect(function()
- currentSaveSlot = slot
- updateSlotDisplay()
- end)
- end
- end
- updateSlotDisplay()
- updateSavedList()
- SaveBtn:GetPropertyChangedSignal("Text"):Connect(updateSavedList)
- TeleportBtn:GetPropertyChangedSignal("Text"):Connect(updateSavedList)
- Players.LocalPlayer.CharacterAdded:Connect(function(character)
- chr = character
- humanoidRoot = character:WaitForChild("HumanoidRootPart")
- end)
Advertisement
Add Comment
Please, Sign In to add comment