
Key RequiredUniversal

--[[
Ultra-Premium Client-Sided GUI Script
Roblox Luau
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
--==================================================
-- MAIN GUI
--==================================================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AeroVapor_Utility"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
if syn and syn.protect_gui then
syn.protect_gui(ScreenGui)
elseif gethui then
ScreenGui.Parent = gethui()
else
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
end
--==================================================
-- MAIN FRAME
--==================================================
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 260, 0, 365)
MainFrame.Position = UDim2.new(0.5, -130, 0.4, -182)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 16, 22)
MainFrame.BackgroundTransparency = 0.15
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 16)
UICorner.Parent = MainFrame
local UIStroke = Instance.new("UIStroke")
UIStroke.Color = Color3.fromRGB(0, 212, 255)
UIStroke.Thickness = 2
UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
UIStroke.Parent = MainFrame
--==================================================
-- TOP BANNER
--==================================================
local TopBanner = Instance.new("Frame")
TopBanner.Name = "TopBanner"
TopBanner.Size = UDim2.new(1, 0, 0, 45)
TopBanner.BackgroundColor3 = Color3.fromRGB(24, 25, 35)
TopBanner.BorderSizePixel = 0
TopBanner.Parent = MainFrame
local TopCorner = Instance.new("UICorner")
TopCorner.CornerRadius = UDim.new(0, 16)
TopCorner.Parent = TopBanner
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, -70, 1, 0)
TitleLabel.Position = UDim2.new(0, 10, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "⚡ VAPOR SYSTEM"
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextSize = 14
TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TopBanner
--==================================================
-- HEADER BUTTONS
--==================================================
local ControlsContainer = Instance.new("Frame")
ControlsContainer.Size = UDim2.new(0, 60, 1, 0)
ControlsContainer.Position = UDim2.new(1, -65, 0, 0)
ControlsContainer.BackgroundTransparency = 1
ControlsContainer.Parent = TopBanner
local ControlsLayout = Instance.new("UIListLayout")
ControlsLayout.FillDirection = Enum.FillDirection.Horizontal
ControlsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
ControlsLayout.VerticalAlignment = Enum.VerticalAlignment.Center
ControlsLayout.Padding = UDim.new(0, 6)
ControlsLayout.Parent = ControlsContainer
local function createHeaderButton(text, color)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 24, 0, 24)
btn.BackgroundColor3 = color
btn.Font = Enum.Font.GothamBold
btn.TextSize = 12
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Text = text
btn.AutoButtonColor = false
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(1, 0)
btnCorner.Parent = btn
btn.Parent = ControlsContainer
return btn
end
local MinimizeBtn = createHeaderButton(
"-",
Color3.fromRGB(45, 48, 60)
)
local CloseBtn = createHeaderButton(
"X",
Color3.fromRGB(235, 77, 75)
)
--==================================================
-- MAIN CONTENT
--==================================================
local Container = Instance.new("Frame")
Container.Size = UDim2.new(1, 0, 1, -45)
Container.Position = UDim2.new(0, 0, 0, 45)
Container.BackgroundTransparency = 1
Container.Parent = MainFrame
local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Padding = UDim.new(0, 10)
UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Parent = Container
local UIPadding = Instance.new("UIPadding")
UIPadding.PaddingTop = UDim.new(0, 10)
UIPadding.Parent = Container
--==================================================
-- COLORS
--==================================================
local COLOR_OFF = Color3.fromRGB(255, 74, 74)
local COLOR_ON = Color3.fromRGB(0, 230, 118)
local COLOR_ACTION = Color3.fromRGB(33, 150, 243)
--==================================================
-- TOGGLE ROW
--==================================================
local function createToggleRow(nameText, order)
local RowFrame = Instance.new("Frame")
RowFrame.Size = UDim2.new(0, 230, 0, 38)
RowFrame.BackgroundTransparency = 1
RowFrame.LayoutOrder = order
RowFrame.Parent = Container
local TextLabel = Instance.new("TextLabel")
TextLabel.Size = UDim2.new(0, 160, 1, 0)
TextLabel.BackgroundTransparency = 1
TextLabel.Font = Enum.Font.GothamBold
TextLabel.TextSize = 13
TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
TextLabel.Text = nameText
TextLabel.Parent = RowFrame
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0, 50, 0, 24)
ToggleBtn.Position = UDim2.new(1, -50, 0.5, -12)
ToggleBtn.BackgroundColor3 = COLOR_OFF
ToggleBtn.Text = ""
ToggleBtn.AutoButtonColor = false
ToggleBtn.Parent = RowFrame
local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(1, 0)
ToggleCorner.Parent = ToggleBtn
local Slider = Instance.new("Frame")
Slider.Size = UDim2.new(0, 18, 0, 18)
Slider.Position = UDim2.new(0, 3, 0.5, -9)
Slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Slider.BorderSizePixel = 0
Slider.Parent = ToggleBtn
local SliderCorner = Instance.new("UICorner")
SliderCorner.CornerRadius = UDim.new(1, 0)
SliderCorner.Parent = Slider
return ToggleBtn, Slider
end
--==================================================
-- ACTION BUTTON
--==================================================
local function styleActionButton(btn, text, order)
btn.Size = UDim2.new(0, 230, 0, 38)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 13
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Text = text
btn.LayoutOrder = order
btn.BackgroundColor3 = COLOR_ACTION
btn.AutoButtonColor = false
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 10)
btnCorner.Parent = btn
local btnStroke = Instance.new("UIStroke")
btnStroke.Color = Color3.fromRGB(255, 255, 255)
btnStroke.Transparency = 0.85
btnStroke.Thickness = 1
btnStroke.Parent = btn
btn.MouseEnter:Connect(function()
if MainFrame.Size == UDim2.new(0, 260, 0, 365) then
TweenService:Create(
btn,
TweenInfo.new(
0.2,
Enum.EasingStyle.Back,
Enum.EasingDirection.Out
),
{
Size = UDim2.new(0, 234, 0, 40)
}
):Play()
TweenService:Create(
btnStroke,
TweenInfo.new(0.2),
{
Transparency = 0.5
}
):Play()
end
end)
btn.MouseLeave:Connect(function()
if MainFrame.Size == UDim2.new(0, 260, 0, 365) then
TweenService:Create(
btn,
TweenInfo.new(
0.2,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
Size = UDim2.new(0, 230, 0, 38)
}
):Play()
TweenService:Create(
btnStroke,
TweenInfo.new(0.2),
{
Transparency = 0.85
}
):Play()
end
end)
btn.Parent = Container
end
--==================================================
-- COMPONENTS
--==================================================
local SpinBotBtn, SpinSlider =
createToggleRow("spinBOT", 1)
local TpAwayBtn =
Instance.new("TextButton")
styleActionButton(
TpAwayBtn,
"tpAWAY",
2
)
local TpBtn =
Instance.new("TextButton")
styleActionButton(
TpBtn,
"tp",
3
)
local AngryTpBtn, AngrySlider =
createToggleRow("angryTP", 4)
local TpUpBtn =
Instance.new("TextButton")
styleActionButton(
TpUpBtn,
"tpUP",
5
)
-- NEW SPEED TOGGLE
local SpeedBtn, SpeedSlider =
createToggleRow("speed", 6)
--==================================================
-- STATE
--==================================================
local spinbotOn = false
local angryTpOn = false
local speedOn = false
local spinConnection
local angryTpConnection
local isMinimized = false
-- Speed starts at normal Roblox default
local currentSpeed = 16
--==================================================
-- TOGGLE ANIMATION
--==================================================
local function animateToggle(btn, slider, state)
local targetPos =
state
and UDim2.new(1, -21, 0.5, -9)
or UDim2.new(0, 3, 0.5, -9)
local targetColor =
state
and COLOR_ON
or COLOR_OFF
TweenService:Create(
slider,
TweenInfo.new(
0.2,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
Position = targetPos
}
):Play()
TweenService:Create(
btn,
TweenInfo.new(
0.2,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
BackgroundColor3 = targetColor
}
):Play()
end
--==================================================
-- CHARACTER HELPERS
--==================================================
local function getCharacter()
return LocalPlayer.Character
end
local function getHumanoid()
local character = getCharacter()
if character then
return character:FindFirstChildOfClass("Humanoid")
end
return nil
end
local function applySpeed()
local humanoid = getHumanoid()
if humanoid and speedOn then
humanoid.WalkSpeed = currentSpeed
end
end
--==================================================
-- TP HELPERS
--==================================================
local function getBehindCFrame(targetPlayer)
if targetPlayer
and targetPlayer.Character
and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
local targetRoot =
targetPlayer.Character.HumanoidRootPart
return targetRoot.CFrame * CFrame.new(0, 0, 3)
end
return nil
end
local function getRandomPlayer()
local allPlayers = Players:GetPlayers()
local available = {}
for _, p in ipairs(allPlayers) do
if p ~= LocalPlayer
and p.Character
and p.Character:FindFirstChild("HumanoidRootPart") then
table.insert(available, p)
end
end
if #available > 0 then
return available[
math.random(
1,
#available
)
]
end
return nil
end
--==================================================
-- SPEED SETTINGS WINDOW
--==================================================
local SpeedWindow = Instance.new("Frame")
SpeedWindow.Name = "SpeedSettings"
SpeedWindow.Size = UDim2.new(0, 280, 0, 175)
SpeedWindow.Position = UDim2.new(0.5, -140, 0.5, -87)
SpeedWindow.BackgroundColor3 = Color3.fromRGB(15, 16, 22)
SpeedWindow.BackgroundTransparency = 0.05
SpeedWindow.BorderSizePixel = 0
SpeedWindow.Visible = false
SpeedWindow.Active = true
SpeedWindow.ZIndex = 20
SpeedWindow.Parent = ScreenGui
local SpeedWindowCorner = Instance.new("UICorner")
SpeedWindowCorner.CornerRadius = UDim.new(0, 16)
SpeedWindowCorner.Parent = SpeedWindow
local SpeedWindowStroke = Instance.new("UIStroke")
SpeedWindowStroke.Color = Color3.fromRGB(0, 212, 255)
SpeedWindowStroke.Thickness = 2
SpeedWindowStroke.Parent = SpeedWindow
-- Speed window top bar
local SpeedTop = Instance.new("Frame")
SpeedTop.Size = UDim2.new(1, 0, 0, 42)
SpeedTop.BackgroundColor3 = Color3.fromRGB(24, 25, 35)
SpeedTop.BorderSizePixel = 0
SpeedTop.ZIndex = 21
SpeedTop.Parent = SpeedWindow
local SpeedTopCorner = Instance.new("UICorner")
SpeedTopCorner.CornerRadius = UDim.new(0, 16)
SpeedTopCorner.Parent = SpeedTop
local SpeedTitle = Instance.new("TextLabel")
SpeedTitle.Size = UDim2.new(1, -55, 1, 0)
SpeedTitle.Position = UDim2.new(0, 12, 0, 0)
SpeedTitle.BackgroundTransparency = 1
SpeedTitle.Text = "⚡ Speed Settings"
SpeedTitle.Font = Enum.Font.GothamBold
SpeedTitle.TextSize = 14
SpeedTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedTitle.TextXAlignment = Enum.TextXAlignment.Left
SpeedTitle.ZIndex = 22
SpeedTitle.Parent = SpeedTop
local SpeedClose = Instance.new("TextButton")
SpeedClose.Size = UDim2.new(0, 25, 0, 25)
SpeedClose.Position = UDim2.new(1, -35, 0.5, -12)
SpeedClose.BackgroundColor3 = Color3.fromRGB(235, 77, 75)
SpeedClose.Text = "X"
SpeedClose.Font = Enum.Font.GothamBold
SpeedClose.TextSize = 11
SpeedClose.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedClose.AutoButtonColor = false
SpeedClose.ZIndex = 22
SpeedClose.Parent = SpeedTop
local SpeedCloseCorner = Instance.new("UICorner")
SpeedCloseCorner.CornerRadius = UDim.new(1, 0)
SpeedCloseCorner.Parent = SpeedClose
--==================================================
-- SPEED TEXTBOX
--==================================================
local SpeedBox = Instance.new("TextBox")
SpeedBox.Size = UDim2.new(0, 240, 0, 38)
SpeedBox.Position = UDim2.new(0.5, -120, 0, 58)
SpeedBox.BackgroundColor3 = Color3.fromRGB(30, 32, 43)
SpeedBox.BorderSizePixel = 0
SpeedBox.Text = tostring(currentSpeed)
SpeedBox.PlaceholderText = "Enter speed..."
SpeedBox.Font = Enum.Font.GothamBold
SpeedBox.TextSize = 14
SpeedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 160)
SpeedBox.ClearTextOnFocus = false
SpeedBox.ZIndex = 22
SpeedBox.Parent = SpeedWindow
local SpeedBoxCorner = Instance.new("UICorner")
SpeedBoxCorner.CornerRadius = UDim.new(0, 10)
SpeedBoxCorner.Parent = SpeedBox
local SpeedBoxStroke = Instance.new("UIStroke")
SpeedBoxStroke.Color = Color3.fromRGB(0, 212, 255)
SpeedBoxStroke.Transparency = 0.65
SpeedBoxStroke.Thickness = 1
SpeedBoxStroke.Parent = SpeedBox
--==================================================
-- CURRENT SPEED LABEL
--==================================================
local CurrentSpeedLabel = Instance.new("TextLabel")
CurrentSpeedLabel.Size = UDim2.new(1, -20, 0, 30)
CurrentSpeedLabel.Position = UDim2.new(0, 10, 0, 108)
CurrentSpeedLabel.BackgroundTransparency = 1
CurrentSpeedLabel.Text = "Current speed: " .. tostring(currentSpeed)
CurrentSpeedLabel.Font = Enum.Font.GothamBold
CurrentSpeedLabel.TextSize = 13
CurrentSpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
CurrentSpeedLabel.ZIndex = 22
CurrentSpeedLabel.Parent = SpeedWindow
--==================================================
-- SPEED BOX INPUT
--==================================================
SpeedBox:GetPropertyChangedSignal("Text"):Connect(function()
local text = SpeedBox.Text
-- Allow numbers and decimals only
local cleaned = text:gsub("[^%d%.%-]", "")
if cleaned ~= text then
SpeedBox.Text = cleaned
return
end
local number = tonumber(cleaned)
if number then
currentSpeed = number
CurrentSpeedLabel.Text =
"Current speed: " .. tostring(currentSpeed)
applySpeed()
end
end)
--==================================================
-- OPEN SPEED WINDOW
--==================================================
SpeedBtn.MouseButton1Click:Connect(function()
speedOn = not speedOn
animateToggle(
SpeedBtn,
SpeedSlider,
speedOn
)
if speedOn then
applySpeed()
SpeedWindow.Visible = true
SpeedWindow.Size =
UDim2.new(0, 260, 0, 155)
TweenService:Create(
SpeedWindow,
TweenInfo.new(
0.25,
Enum.EasingStyle.Back,
Enum.EasingDirection.Out
),
{
Size = UDim2.new(0, 280, 0, 175)
}
):Play()
else
local humanoid = getHumanoid()
if humanoid then
humanoid.WalkSpeed = 16
end
SpeedWindow.Visible = false
end
end)
--==================================================
-- CLOSE SPEED WINDOW
--==================================================
SpeedClose.MouseButton1Click:Connect(function()
SpeedWindow.Visible = false
end)
--==================================================
-- KEEP SPEED AFTER RESPAWN
--==================================================
LocalPlayer.CharacterAdded:Connect(function(character)
local humanoid =
character:WaitForChild("Humanoid", 5)
if humanoid and speedOn then
humanoid.WalkSpeed = currentSpeed
end
end)
--==================================================
-- SPINBOT
--==================================================
SpinBotBtn.MouseButton1Click:Connect(function()
spinbotOn = not spinbotOn
animateToggle(
SpinBotBtn,
SpinSlider,
spinbotOn
)
if spinbotOn then
spinConnection =
RunService.RenderStepped:Connect(function()
local char = LocalPlayer.Character
local root =
char and char:FindFirstChild(
"HumanoidRootPart"
)
if root then
root.CFrame =
root.CFrame *
CFrame.Angles(
0,
math.rad(140),
0
)
end
end)
else
if spinConnection then
spinConnection:Disconnect()
spinConnection = nil
end
end
end)
--==================================================
-- TP AWAY
--==================================================
TpAwayBtn.MouseButton1Click:Connect(function()
local char = LocalPlayer.Character
local root =
char and char:FindFirstChild(
"HumanoidRootPart"
)
if root then
root.CFrame =
root.CFrame +
Vector3.new(3000000, 0, 0)
end
end)
--==================================================
-- TP
--==================================================
TpBtn.MouseButton1Click:Connect(function()
local char = LocalPlayer.Character
local root =
char and char:FindFirstChild(
"HumanoidRootPart"
)
if root then
local target =
getRandomPlayer()
if target then
local targetCFrame =
getBehindCFrame(target)
if targetCFrame then
root.CFrame = targetCFrame
end
end
end
end)
--==================================================
-- ANGRY TP
--==================================================
AngryTpBtn.MouseButton1Click:Connect(function()
angryTpOn = not angryTpOn
animateToggle(
AngryTpBtn,
AngrySlider,
angryTpOn
)
if angryTpOn then
angryTpConnection =
RunService.Heartbeat:Connect(function()
local char = LocalPlayer.Character
local root =
char and char:FindFirstChild(
"HumanoidRootPart"
)
if root then
local target =
getRandomPlayer()
if target then
local targetCFrame =
getBehindCFrame(target)
if targetCFrame then
root.CFrame = targetCFrame
end
end
end
end)
else
if angryTpConnection then
angryTpConnection:Disconnect()
angryTpConnection = nil
end
end
end)
--==================================================
-- TP UP
--==================================================
TpUpBtn.MouseButton1Click:Connect(function()
local char = LocalPlayer.Character
local root =
char and char:FindFirstChild(
"HumanoidRootPart"
)
if root then
root.CFrame =
root.CFrame +
Vector3.new(0, 20000, 0)
end
end)
--==================================================
-- MINIMIZE
--==================================================
MinimizeBtn.MouseButton1Click:Connect(function()
isMinimized = not isMinimized
if isMinimized then
Container.Visible = false
TitleLabel.Visible = false
MinimizeBtn.Text = "+"
TweenService:Create(
MainFrame,
TweenInfo.new(
0.3,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
Size = UDim2.new(0, 80, 0, 45)
}
):Play()
TweenService:Create(
UICorner,
TweenInfo.new(0.3),
{
CornerRadius = UDim.new(0, 22)
}
):Play()
TweenService:Create(
TopCorner,
TweenInfo.new(0.3),
{
CornerRadius = UDim.new(0, 22)
}
):Play()
TweenService:Create(
TopBanner,
TweenInfo.new(0.3),
{
Size = UDim2.new(1, 0, 1, 0)
}
):Play()
TweenService:Create(
ControlsContainer,
TweenInfo.new(0.3),
{
Size = UDim2.new(1, 0, 1, 0),
Position = UDim2.new(0, 0, 0, 0)
}
):Play()
ControlsLayout.HorizontalAlignment =
Enum.HorizontalAlignment.Center
else
MinimizeBtn.Text = "-"
ControlsLayout.HorizontalAlignment =
Enum.HorizontalAlignment.Right
local mainTween =
TweenService:Create(
MainFrame,
TweenInfo.new(
0.3,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
Size = UDim2.new(0, 260, 0, 365)
}
)
TweenService:Create(
UICorner,
TweenInfo.new(0.3),
{
CornerRadius = UDim.new(0, 16)
}
):Play()
TweenService:Create(
TopCorner,
TweenInfo.new(0.3),
{
CornerRadius = UDim.new(0, 16)
}
):Play()
TweenService:Create(
TopBanner,
TweenInfo.new(0.3),
{
Size = UDim2.new(1, 0, 0, 45)
}
):Play()
TweenService:Create(
ControlsContainer,
TweenInfo.new(0.3),
{
Size = UDim2.new(0, 60, 1, 0),
Position = UDim2.new(1, -65, 0, 0)
}
):Play()
mainTween.Completed:Connect(function()
if not isMinimized then
Container.Visible = true
TitleLabel.Visible = true
end
end)
mainTween:Play()
end
end)
--==================================================
-- CLOSE MAIN GUI
--==================================================
CloseBtn.MouseButton1Click:Connect(function()
if spinConnection then
spinConnection:Disconnect()
end
if angryTpConnection then
angryTpConnection:Disconnect()
end
ScreenGui:Destroy()
end)
--==================================================
-- DRAGGING
--==================================================
local dragging
local dragInput
local dragStart
local startPos
local function update(input)
local delta =
input.Position - dragStart
TweenService:Create(
MainFrame,
TweenInfo.new(
0.08,
Enum.EasingStyle.Linear
),
{
Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
}
):Play()
end
MainFrame.InputBegan:Connect(function(input)
if input.UserInputType ==
Enum.UserInputType.MouseButton1
or input.UserInputType ==
Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState ==
Enum.UserInputState.End then
dragging = false
end
end)
end
end)
MainFrame.InputChanged:Connect(function(input)
if input.UserInputType ==
Enum.UserInputType.MouseMovement
or input.UserInputType ==
Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)No comments yet for this script.



