
Key Required VerifiedUniversal

-- Spaxware: TP Forward UI
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
-- Create main UI container
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SpaxwareTPForward"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = PlayerGui
-- Create toggle button (always visible at top of screen)
local ToggleButton = Instance.new("TextButton")
ToggleButton.Name = "ToggleButton"
ToggleButton.Size = UDim2.new(0.1, 0, 0.04, 0)
ToggleButton.Position = UDim2.new(0.45, 0, 0.01, 0)
ToggleButton.BackgroundColor3 = Color3.new(0, 0, 0)
ToggleButton.Text = "ON"
ToggleButton.TextColor3 = Color3.fromRGB(0, 1, 0) -- Green when ON
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.TextSize = 14
ToggleButton.Parent = ScreenGui
local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 8)
ToggleCorner.Parent = ToggleButton
-- Create main UI window
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainWindow"
MainFrame.Size = UDim2.new(0, 250, 0, 200) -- Slightly taller to fit new elements
MainFrame.Position = UDim2.new(0.5, -125, 0.5, -100)
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 80, 50)
MainFrame.BorderSizePixel = 0
MainFrame.Parent = ScreenGui
-- Add rounded corners
local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 12)
Corner.Parent = MainFrame
-- Title text
local Title = Instance.new("TextLabel")
Title.Name = "Title"
Title.Size = UDim2.new(0.8, 0, 0.15, 0)
Title.Position = UDim2.new(0.1, 0, 0.05, 0)
Title.BackgroundTransparency = 1
Title.Text = "Spaxware: TP Forward"
Title.TextColor3 = Color3.new(1, 1, 1)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
Title.Parent = MainFrame
-- Distance input box
local DistanceInput = Instance.new("TextBox")
DistanceInput.Name = "DistanceInput"
DistanceInput.Size = UDim2.new(0.5, 0, 0.15, 0)
DistanceInput.Position = UDim2.new(0.1, 0, 0.25, 0)
DistanceInput.BackgroundColor3 = Color3.fromRGB(40, 100, 60)
DistanceInput.TextColor3 = Color3.new(1, 1, 1)
DistanceInput.PlaceholderText = "Distance (1-100)"
DistanceInput.Text = "50"
DistanceInput.Font = Enum.Font.Gotham
DistanceInput.TextSize = 14
DistanceInput.Parent = MainFrame
local InputCorner = Instance.new("UICorner")
InputCorner.CornerRadius = UDim.new(0, 8)
InputCorner.Parent = DistanceInput
-- Set button
local SetButton = Instance.new("TextButton")
SetButton.Name = "SetButton"
SetButton.Size = UDim2.new(0.25, 0, 0.15, 0)
SetButton.Position = UDim2.new(0.65, 0, 0.25, 0)
SetButton.BackgroundColor3 = Color3.fromRGB(50, 110, 70)
SetButton.Text = "Set"
SetButton.TextColor3 = Color3.new(1, 1, 1)
SetButton.Font = Enum.Font.GothamBold
SetButton.TextSize = 14
SetButton.Parent = MainFrame
local SetCorner = Instance.new("UICorner")
SetCorner.CornerRadius = UDim.new(0, 8)
SetCorner.Parent = SetButton
-- Max text label
local MaxLabel = Instance.new("TextLabel")
MaxLabel.Name = "MaxLabel"
MaxLabel.Size = UDim2.new(0.7, 0, 0.08, 0)
MaxLabel.Position = UDim2.new(0.15, 0, 0.42, 0)
MaxLabel.BackgroundTransparency = 1
MaxLabel.Text = "Max 100"
MaxLabel.TextColor3 = Color3.new(1, 1, 1)
MaxLabel.Font = Enum.Font.Gotham
MaxLabel.TextSize = 12
MaxLabel.Parent = MainFrame
-- TP Forward button
local TPButton = Instance.new("TextButton")
TPButton.Name = "TPButton"
TPButton.Size = UDim2.new(0.8, 0, 0.2, 0)
TPButton.Position = UDim2.new(0.1, 0, 0.55, 0)
TPButton.BackgroundColor3 = Color3.fromRGB(40, 100, 60)
TPButton.Text = "TP Forward🚀"
TPButton.TextColor3 = Color3.new(1, 1, 1)
TPButton.Font = Enum.Font.GothamBold
TPButton.TextSize = 16
TPButton.Parent = MainFrame
local TPCorner = Instance.new("UICorner")
TPCorner.CornerRadius = UDim.new(0, 12)
TPCorner.Parent = TPButton
-- Discord link at bottom
local DiscordLink = Instance.new("TextLabel")
DiscordLink.Name = "DiscordLink"
DiscordLink.Size = UDim2.new(0.8, 0, 0.1, 0)
DiscordLink.Position = UDim2.new(0.1, 0, 0.8, 0)
DiscordLink.BackgroundTransparency = 1
DiscordLink.Text = "discord.gg/RhMQvJFz"
DiscordLink.TextColor3 = Color3.new(1, 1, 1)
DiscordLink.Font = Enum.Font.Gotham
DiscordLink.TextSize = 14
DiscordLink.Parent = MainFrame
-- Toggle functionality
local UIVisible = true
local TeleportDistance = 50 -- Default distance
-- Dark rainbow background for toggle button
local function updateRainbowBackground()
local time = tick()
local r = math.sin(time * 2) * 0.2 + 0.3
local g = math.sin(time * 2 + 2) * 0.2 + 0.3
local b = math.sin(time * 2 + 4) * 0.2 + 0.3
ToggleButton.BackgroundColor3 = Color3.new(r, g, b)
end
-- Connect to render step for rainbow effect
RunService.Heartbeat:Connect(updateRainbowBackground)
ToggleButton.MouseButton1Click:Connect(function()
UIVisible = not UIVisible
MainFrame.Visible = UIVisible
if UIVisible then
ToggleButton.Text = "ON"
ToggleButton.TextColor3 = Color3.fromRGB(0, 1, 0) -- Green
else
ToggleButton.Text = "OFF"
ToggleButton.TextColor3 = Color3.fromRGB(1, 0, 0) -- Red
end
end)
-- Set button functionality
SetButton.MouseButton1Click:Connect(function()
local input = tonumber(DistanceInput.Text)
if not input then
ShowNotification("Please enter a valid number", 3, Color3.fromRGB(1, 0, 0))
return
end
if input > 100 then
ShowNotification("Error: Max amount reached, Please enter an amount that is between 1-100.", 5, Color3.fromRGB(1, 0, 0))
return
end
if input < 1 then
ShowNotification("Error: Please enter an amount that is at least 1.", 5, Color3.fromRGB(1, 0, 0))
return
end
TeleportDistance = input
ShowNotification("Edited successfully!📝", 3, Color3.fromRGB(0, 1, 0))
end)
-- Create black screen overlay
local function createBlackScreen()
local BlackScreen = Instance.new("Frame")
BlackScreen.Name = "BlackScreen"
BlackScreen.Size = UDim2.new(1, 0, 1, 0)
BlackScreen.Position = UDim2.new(0, 0, 0, 0)
BlackScreen.BackgroundColor3 = Color3.new(0, 0, 0)
BlackScreen.BackgroundTransparency = 0
BlackScreen.ZIndex = 10
BlackScreen.Parent = ScreenGui
-- Teleporting text
local TeleportText = Instance.new("TextLabel")
TeleportText.Name = "TeleportText"
TeleportText.Size = UDim2.new(0.8, 0, 0.2, 0)
TeleportText.Position = UDim2.new(0.1, 0, 0.4, 0)
TeleportText.BackgroundTransparency = 1
TeleportText.Text = "Teleporting Forward..."
TeleportText.TextColor3 = Color3.new(1, 1, 1)
TeleportText.Font = Enum.Font.GothamBold
TeleportText.TextSize = 24
TeleportText.Parent = BlackScreen
-- Subtext
local SubText = Instance.new("TextLabel")
SubText.Name = "SubText"
SubText.Size = UDim2.new(0.8, 0, 0.1, 0)
SubText.Position = UDim2.new(0.1, 0, 0.55, 0)
SubText.BackgroundTransparency = 1
SubText.Text = "This shouldn't take long"
SubText.TextColor3 = Color3.new(0.8, 0.8, 0.8)
SubText.Font = Enum.Font.Gotham
SubText.TextSize = 16
SubText.Parent = BlackScreen
-- Cancel button
local CancelButton = Instance.new("TextButton")
CancelButton.Name = "CancelButton"
CancelButton.Size = UDim2.new(0.4, 0, 0.1, 0)
CancelButton.Position = UDim2.new(0.3, 0, 0.7, 0)
CancelButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CancelButton.Text = "Cancel TP"
CancelButton.TextColor3 = Color3.new(1, 1, 1)
CancelButton.Font = Enum.Font.GothamBold
CancelButton.TextSize = 16
CancelButton.Parent = BlackScreen
local CancelCorner = Instance.new("UICorner")
CancelCorner.CornerRadius = UDim.new(0, 8)
CancelCorner.Parent = CancelButton
-- Rainbow text animation
local rainbowConnection
rainbowConnection = RunService.Heartbeat:Connect(function()
local time = tick()
local r = math.sin(time * 2) * 0.5 + 0.5
local g = math.sin(time * 2 + 2) * 0.5 + 0.5
local b = math.sin(time * 2 + 4) * 0.5 + 0.5
TeleportText.TextColor3 = Color3.new(r, g, b)
end)
return BlackScreen, rainbowConnection, CancelButton
end
-- TP Forward functionality
TPButton.MouseButton1Click:Connect(function()
local character = LocalPlayer.Character
if not character then
ShowNotification("No character found", 3, Color3.fromRGB(1, 0, 0))
return
end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then
ShowNotification("HumanoidRootPart not found", 3, Color3.fromRGB(1, 0, 0))
return
end
-- Create black screen
local BlackScreen, rainbowConnection, CancelButton = createBlackScreen()
local teleportCancelled = false
-- Cancel button functionality
CancelButton.MouseButton1Click:Connect(function()
teleportCancelled = true
if BlackScreen then
BlackScreen:Destroy()
end
if rainbowConnection then
rainbowConnection:Disconnect()
end
ShowNotification("Teleport cancelled", 3, Color3.fromRGB(1, 0.5, 0))
end)
-- Perform teleportation after a short delay
task.spawn(function()
-- Wait a moment to show the black screen
task.wait(0.5)
if teleportCancelled then
return
end
-- Calculate new position
local currentPosition = humanoidRootPart.Position
local lookVector = humanoidRootPart.CFrame.LookVector
local newPosition = currentPosition + (lookVector * TeleportDistance)
-- Try to teleport
local success = pcall(function()
humanoidRootPart.CFrame = CFrame.new(newPosition)
end)
-- Remove black screen
if BlackScreen then
BlackScreen:Destroy()
end
if rainbowConnection then
rainbowConnection:Disconnect()
end
-- Show result notification
if success and not teleportCancelled then
ShowNotification("TP Forward success!", 3, Color3.fromRGB(0, 1, 0))
else
ShowNotification("TP Forward failed, please try again or wait until fix.", 5, Color3.fromRGB(1, 0, 0))
end
end)
end)
-- Simple and reliable dragging system
local dragging = false
local dragOffset = Vector2.new(0, 0)
local function startDrag(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
local mouseLocation = Vector2.new(input.Position.X, input.Position.Y)
local guiLocation = Vector2.new(MainFrame.AbsolutePosition.X, MainFrame.AbsolutePosition.Y)
dragOffset = guiLocation - mouseLocation
-- Capture the input even if it moves outside the frame
local connection
connection = input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
connection:Disconnect()
end
end)
end
end
local function updateDrag(input)
if dragging then
local mouseLocation = Vector2.new(input.Position.X, input.Position.Y)
MainFrame.Position = UDim2.new(
0, mouseLocation.X + dragOffset.X,
0, mouseLocation.Y + dragOffset.Y
)
end
end
-- Connect input events to the entire frame for dragging
MainFrame.InputBegan:Connect(startDrag)
MainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
updateDrag(input)
end
end)
-- Also allow dragging from the title
Title.InputBegan:Connect(startDrag)
Title.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
updateDrag(input)
end
end)
-- Notification function
local function ShowNotification(Message, Duration, Color)
Duration = Duration or 3
Color = Color or Color3.fromRGB(30, 80, 50)
local Notif = Instance.new("Frame")
Notif.Name = "Notification"
Notif.Size = UDim2.new(0.4, 0, 0, 40)
Notif.Position = UDim2.new(0.3, 0, 0.1, 0)
Notif.BackgroundColor3 = Color
Notif.ZIndex = 20
Notif.Parent = ScreenGui
local NotifCorner = Instance.new("UICorner")
NotifCorner.CornerRadius = UDim.new(0, 8)
NotifCorner.Parent = Notif
local NotifText = Instance.new("TextLabel")
NotifText.Text = Message
NotifText.Size = UDim2.new(0.9, 0, 0.8, 0)
NotifText.Position = UDim2.new(0.05, 0, 0.1, 0)
NotifText.BackgroundTransparency = 1
NotifText.TextColor3 = Color3.new(1, 1, 1)
NotifText.Font = Enum.Font.Gotham
NotifText.TextSize = 16
NotifText.TextXAlignment = Enum.TextXAlignment.Left
NotifText.Parent = Notif
-- Auto-remove after delay
task.delay(Duration, function()
if Notif and Notif.Parent then
Notif:Destroy()
end
end)
end
-- Show initial notification
ShowNotification("Spaxware: TP Forward loaded! Set distance and press TP Forward.", 5)



br br batapim tralalalero tralala