--[[ GTFA HUB V1.0 Put this in a LocalScript (e.g. StarterPlayerScripts) or run it in your executor. Tabs Main - Click Teleport + hide/show keybind customizer Clickers - Tool autoclicker (clicks/sec) + Mouse autoclicker (screen spot, 0.1-20 s) Fly - Fly with speed 0.5-20 (WASD, Space/E up, Ctrl/Q down) CarFly - Fly while sitting in a vehicle (Brookhaven cars etc.), speed 0.5-20 Player - Walk speed, jump power and gravity Scripts - Opens Infinite Yield ]] local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local GuiService = game:GetService("GuiService") local player = Players.LocalPlayer local okVIM, VIM = pcall(function() return game:GetService("VirtualInputManager") end) local okVU, VirtualUser = pcall(function() return game:GetService("VirtualUser") end) ---------------------------------------------------------------------- -- State ---------------------------------------------------------------------- local alive = true local connections = {} local S = { clickTP = false, toolClick = false, cps = 10, mouseClick = false, mouseInterval = 1, clickPos = nil, fly = false, flySpeed = 5, car = false, carSpeed = 5, apply = false, walk = 16, jump = 50, gravity = 196.2, } local hideKey = Enum.KeyCode.RightShift local listening = false local picking = false local minimized = false local DEFAULT_GRAVITY = 196.2 local FULL_SIZE = UDim2.fromOffset(450, 400) local MINI_SIZE = UDim2.fromOffset(450, 40) local C = { bg = Color3.fromRGB(20, 3, 8), panel = Color3.fromRGB(38, 6, 14), neon = Color3.fromRGB(255, 30, 60), neonSoft = Color3.fromRGB(255, 110, 120), off = Color3.fromRGB(52, 8, 18), on = Color3.fromRGB(215, 20, 50), text = Color3.fromRGB(255, 235, 238), sub = Color3.fromRGB(215, 140, 150), } ---------------------------------------------------------------------- -- Helpers ---------------------------------------------------------------------- local function make(class, props, parent) local obj = Instance.new(class) for k, v in pairs(props) do obj[k] = v end obj.Parent = parent return obj end local function round(parent, radius) return make("UICorner", { CornerRadius = UDim.new(0, radius or 8) }, parent) end local function neonStroke(parent, thickness, transparency) return make("UIStroke", { Color = C.neon, Thickness = thickness or 1.5, Transparency = transparency or 0.3, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }, parent) end local function tween(obj, time, props) TweenService:Create(obj, TweenInfo.new(time, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props):Play() end local function getHumanoid() local char = player.Character return char and char:FindFirstChildOfClass("Humanoid") end local function getRoot() local char = player.Character return char and char:FindFirstChild("HumanoidRootPart") end ---------------------------------------------------------------------- -- GUI skeleton ---------------------------------------------------------------------- local gui = make("ScreenGui", { Name = "GTFA_HUB_V1", ResetOnSpawn = false, IgnoreGuiInset = true, DisplayOrder = 100, ZIndexBehavior = Enum.ZIndexBehavior.Sibling, }, player:WaitForChild("PlayerGui")) local main = make("Frame", { Name = "Main", Size = FULL_SIZE, Position = UDim2.new(0.5, -225, 0.5, -200), BackgroundColor3 = C.bg, ClipsDescendants = true, }, gui) round(main, 12) local mainStroke = neonStroke(main, 2.5, 0.1) -- background layer: stars + red moon local bgLayer = make("Frame", { Name = "Sky", Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, ZIndex = 1, }, main) local rng = Random.new(7) for _ = 1, 22 do local s = rng:NextInteger(1, 3) local star = make("Frame", { Size = UDim2.fromOffset(s, s), Position = UDim2.fromScale(rng:NextNumber(0.02, 0.98), rng:NextNumber(0.12, 0.98)), BackgroundColor3 = C.neonSoft, BackgroundTransparency = rng:NextNumber(0.3, 0.75), BorderSizePixel = 0, }, bgLayer) round(star, 3) end local function circle(parent, size, pos, color, transparency) local f = make("Frame", { Size = size, Position = pos, BackgroundColor3 = color, BackgroundTransparency = transparency, BorderSizePixel = 0, }, parent) make("UICorner", { CornerRadius = UDim.new(1, 0) }, f) return f end -- glow rings circle(bgLayer, UDim2.fromOffset(340, 340), UDim2.new(1, -235, 1, -235), Color3.fromRGB(255, 0, 40), 0.95) circle(bgLayer, UDim2.fromOffset(270, 270), UDim2.new(1, -200, 1, -200), Color3.fromRGB(255, 0, 40), 0.9) -- moon body local moon = circle(bgLayer, UDim2.fromOffset(200, 200), UDim2.new(1, -165, 1, -165), Color3.new(1, 1, 1), 0.15) make("UIGradient", { Color = ColorSequence.new(Color3.fromRGB(255, 130, 130), Color3.fromRGB(150, 8, 24)), Rotation = 45, }, moon) make("UIStroke", { Color = C.neon, Thickness = 3, Transparency = 0.25 }, moon) -- craters circle(moon, UDim2.fromScale(0.24, 0.24), UDim2.fromScale(0.18, 0.2), Color3.fromRGB(140, 8, 26), 0.4) circle(moon, UDim2.fromScale(0.15, 0.15), UDim2.fromScale(0.55, 0.14), Color3.fromRGB(140, 8, 26), 0.45) circle(moon, UDim2.fromScale(0.3, 0.3), UDim2.fromScale(0.3, 0.5), Color3.fromRGB(140, 8, 26), 0.5) circle(moon, UDim2.fromScale(0.12, 0.12), UDim2.fromScale(0.72, 0.5), Color3.fromRGB(140, 8, 26), 0.45) -- title bar local titleBar = make("Frame", { Name = "TitleBar", Size = UDim2.new(1, 0, 0, 40), BackgroundColor3 = Color3.new(1, 1, 1), BackgroundTransparency = 0.1, BorderSizePixel = 0, ZIndex = 3, }, main) make("UIGradient", { Color = ColorSequence.new(Color3.fromRGB(110, 8, 24), Color3.fromRGB(30, 3, 8)), Rotation = 0, }, titleBar) make("Frame", { Size = UDim2.new(1, 0, 0, 2), Position = UDim2.new(0, 0, 1, -2), BackgroundColor3 = C.neon, BorderSizePixel = 0, ZIndex = 4, }, titleBar) make("TextLabel", { Size = UDim2.new(1, -100, 1, 0), Position = UDim2.fromOffset(14, 0), BackgroundTransparency = 1, Text = "GTFA HUB V1.0", TextColor3 = C.text, TextStrokeColor3 = C.neon, TextStrokeTransparency = 0.4, Font = Enum.Font.GothamBlack, TextSize = 18, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = 4, }, titleBar) local function titleButton(text, xOffset, color) local b = make("TextButton", { Size = UDim2.fromOffset(28, 28), Position = UDim2.new(1, xOffset, 0.5, -14), BackgroundColor3 = color, Text = text, TextColor3 = C.text, Font = Enum.Font.GothamBold, TextSize = 16, AutoButtonColor = false, ZIndex = 5, }, titleBar) round(b, 7) neonStroke(b, 1.2, 0.2) return b end local minBtn = titleButton("–", -70, C.off) local closeBtn = titleButton("X", -36, C.on) -- body (sidebar + pages) local body = make("Frame", { Name = "Body", Size = UDim2.new(1, 0, 1, -40), Position = UDim2.fromOffset(0, 40), BackgroundTransparency = 1, ZIndex = 2, }, main) local sidebar = make("Frame", { Size = UDim2.new(0, 108, 1, 0), BackgroundColor3 = Color3.fromRGB(28, 4, 10), BackgroundTransparency = 0.35, BorderSizePixel = 0, }, body) make("UIPadding", { PaddingTop = UDim.new(0, 10), PaddingLeft = UDim.new(0, 8), PaddingRight = UDim.new(0, 8), }, sidebar) make("UIListLayout", { Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder }, sidebar) make("Frame", { Size = UDim2.new(0, 1, 1, 0), Position = UDim2.new(0, 108, 0, 0), BackgroundColor3 = C.neon, BackgroundTransparency = 0.5, BorderSizePixel = 0, }, body) local pagesHolder = make("Frame", { Size = UDim2.new(1, -110, 1, 0), Position = UDim2.fromOffset(110, 0), BackgroundTransparency = 1, }, body) ---------------------------------------------------------------------- -- Widgets ---------------------------------------------------------------------- local pages, tabButtons = {}, {} local function selectTab(name) for n, page in pairs(pages) do page.Visible = (n == name) tween(tabButtons[n], 0.15, { BackgroundColor3 = (n == name) and C.on or C.off }) end end local function newPage(name, order) local btn = make("TextButton", { Size = UDim2.new(1, 0, 0, 34), BackgroundColor3 = C.off, BackgroundTransparency = 0.1, Text = name, TextColor3 = C.text, Font = Enum.Font.GothamBold, TextSize = 13, AutoButtonColor = false, LayoutOrder = order, }, sidebar) round(btn, 8) neonStroke(btn, 1, 0.45) tabButtons[name] = btn local page = make("ScrollingFrame", { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, BorderSizePixel = 0, ScrollBarThickness = 3, ScrollBarImageColor3 = C.neon, CanvasSize = UDim2.new(), AutomaticCanvasSize = Enum.AutomaticSize.Y, Visible = false, }, pagesHolder) make("UIPadding", { PaddingTop = UDim.new(0, 10), PaddingLeft = UDim.new(0, 12), PaddingRight = UDim.new(0, 12), PaddingBottom = UDim.new(0, 10), }, page) make("UIListLayout", { Padding = UDim.new(0, 8), SortOrder = Enum.SortOrder.LayoutOrder }, page) pages[name] = page btn.MouseButton1Click:Connect(function() selectTab(name) end) return page end local function label(parent, text, order, isHint) return make("TextLabel", { Size = UDim2.new(1, 0, 0, isHint and 0 or 16), AutomaticSize = isHint and Enum.AutomaticSize.Y or Enum.AutomaticSize.None, BackgroundTransparency = 1, Text = text, TextColor3 = isHint and C.sub or C.neonSoft, Font = isHint and Enum.Font.Gotham or Enum.Font.GothamBold, TextSize = isHint and 11 or 11, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, LayoutOrder = order, }, parent) end local function newButton(parent, text, order) local b = make("TextButton", { Size = UDim2.new(1, 0, 0, 34), BackgroundColor3 = C.off, BackgroundTransparency = 0.15, Text = text, TextColor3 = C.text, Font = Enum.Font.GothamMedium, TextSize = 13, AutoButtonColor = false, LayoutOrder = order, }, parent) round(b, 8) neonStroke(b, 1, 0.5) b.MouseEnter:Connect(function() tween(b, 0.12, { BackgroundTransparency = 0 }) end) b.MouseLeave:Connect(function() tween(b, 0.12, { BackgroundTransparency = 0.15 }) end) return b end local function newToggle(parent, name, order, onChange) local btn = newButton(parent, "", order) local state = false local function render() btn.Text = name .. ": " .. (state and "ON" or "OFF") tween(btn, 0.15, { BackgroundColor3 = state and C.on or C.off }) end btn.MouseButton1Click:Connect(function() state = not state render() onChange(state) end) render() return { set = function(v) state = v render() end, } end local function newInput(parent, text, default, min, max, order, onChange) local row = make("Frame", { Size = UDim2.new(1, 0, 0, 32), BackgroundTransparency = 1, LayoutOrder = order, }, parent) make("TextLabel", { Size = UDim2.new(0.6, 0, 1, 0), BackgroundTransparency = 1, Text = text, TextColor3 = C.text, Font = Enum.Font.Gotham, TextSize = 12, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, }, row) local box = make("TextBox", { Size = UDim2.new(0.37, 0, 1, 0), Position = UDim2.new(0.63, 0, 0, 0), BackgroundColor3 = C.panel, BackgroundTransparency = 0.1, Text = tostring(default), TextColor3 = C.text, Font = Enum.Font.GothamMedium, TextSize = 13, ClearTextOnFocus = false, }, row) round(box, 8) neonStroke(box, 1, 0.45) local value = default local function apply(v) value = math.floor(math.clamp(v, min, max) * 100 + 0.5) / 100 box.Text = tostring(value) onChange(value) end box.FocusLost:Connect(function() local n = tonumber(box.Text) apply(n or value) end) return { set = apply } end ---------------------------------------------------------------------- -- Pages ---------------------------------------------------------------------- local mainPage = newPage("Main", 1) local clickPage = newPage("Clickers", 2) local flyPage = newPage("Fly", 3) local carPage = newPage("CarFly", 4) local playerPage = newPage("Player", 5) local scriptPage = newPage("Scripts", 6) -- Main --------------------------------------------------------------- label(mainPage, "TELEPORT", 1) newToggle(mainPage, "Click Teleport", 2, function(v) S.clickTP = v end) label(mainPage, "Turn it ON, then click anywhere in the world to teleport there.", 3, true) label(mainPage, "HIDE / SHOW KEYBIND", 4) local keyBtn = newButton(mainPage, "", 5) local function refreshKeyBtn() keyBtn.Text = listening and "Press any key... (Esc = cancel)" or ("Keybind: " .. hideKey.Name .. " (click to change)") end refreshKeyBtn() keyBtn.MouseButton1Click:Connect(function() listening = true refreshKeyBtn() end) label(mainPage, "Press your keybind to hide the hub. Press it again to bring it back.", 6, true) -- Clickers ----------------------------------------------------------- label(clickPage, "TOOL AUTOCLICKER (equipped tool)", 1) newToggle(clickPage, "Tool Clicker", 2, function(v) S.toolClick = v end) newInput(clickPage, "Clicks per second (1-60)", S.cps, 1, 60, 3, function(v) S.cps = v end) label(clickPage, "MOUSE AUTOCLICKER (clicks a screen spot)", 4) local setPosBtn = newButton(clickPage, "Set Click Position", 5) local posLabel = label(clickPage, "Position: not set", 6, true) newToggle(clickPage, "Mouse Clicker", 7, function(v) S.mouseClick = v if v and not S.clickPos then posLabel.Text = "Set a position first!" end end) newInput(clickPage, "Seconds between clicks (0.1-20)", S.mouseInterval, 0.1, 20, 8, function(v) S.mouseInterval = v end) label(clickPage, "Press 'Set Click Position', then click anywhere on the screen (outside this hub). A red ring shows the spot.", 9, true) -- click position marker local marker = make("Frame", { Name = "ClickMarker", Size = UDim2.fromOffset(26, 26), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, Visible = false, ZIndex = 50, }, gui) make("UICorner", { CornerRadius = UDim.new(1, 0) }, marker) make("UIStroke", { Color = C.neon, Thickness = 2.5 }, marker) local dot = make("Frame", { Size = UDim2.fromOffset(4, 4), AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.5), BackgroundColor3 = C.neon, BorderSizePixel = 0, }, marker) make("UICorner", { CornerRadius = UDim.new(1, 0) }, dot) setPosBtn.MouseButton1Click:Connect(function() picking = true posLabel.Text = "Click anywhere on the screen..." end) -- Fly ---------------------------------------------------------------- local bv, bg local flyToggle local function stopFly() if bv then bv:Destroy() bv = nil end if bg then bg:Destroy() bg = nil end local hum = getHumanoid() if hum then hum.PlatformStand = false end end local function startFly() local hrp, hum = getRoot(), getHumanoid() if not hrp or not hum then return false end stopFly() bv = make("BodyVelocity", { MaxForce = Vector3.new(1e9, 1e9, 1e9), Velocity = Vector3.zero }, hrp) bg = make("BodyGyro", { MaxTorque = Vector3.new(1e9, 1e9, 1e9), P = 1e4, CFrame = hrp.CFrame }, hrp) hum.PlatformStand = true return true end label(flyPage, "FLY", 1) flyToggle = newToggle(flyPage, "Fly", 2, function(v) S.fly = v if v then if not startFly() then S.fly = false flyToggle.set(false) end else stopFly() end end) newInput(flyPage, "Fly speed (0.5 - 20)", S.flySpeed, 0.5, 20, 3, function(v) S.flySpeed = v end) label(flyPage, "W/A/S/D move toward where the camera looks. Space or E = up, Ctrl or Q = down.", 4, true) -- CarFly ------------------------------------------------------------- label(carPage, "CARFLY", 1) newToggle(carPage, "CarFly", 2, function(v) S.car = v end) newInput(carPage, "Car fly speed (0.5 - 20)", S.carSpeed, 0.5, 20, 3, function(v) S.carSpeed = v end) label(carPage, "Sit in a car first (Brookhaven etc.), then turn it ON. W/A/S/D move toward the camera direction, Space or E = up, Ctrl or Q = down. With no keys held the car hovers.", 4, true) -- Player ------------------------------------------------------------- label(playerPage, "WALK / JUMP / GRAVITY", 1) local walkIn = newInput(playerPage, "Walk speed (0-500)", S.walk, 0, 500, 2, function(v) S.walk = v end) local jumpIn = newInput(playerPage, "Jump power (0-500)", S.jump, 0, 500, 3, function(v) S.jump = v end) local gravIn = newInput(playerPage, "Gravity (0-500)", S.gravity, 0, 500, 4, function(v) S.gravity = v end) local function restoreDefaults() local hum = getHumanoid() if hum then hum.WalkSpeed = 16 hum.UseJumpPower = true hum.JumpPower = 50 end workspace.Gravity = DEFAULT_GRAVITY end newToggle(playerPage, "Apply Values", 5, function(v) S.apply = v if not v then restoreDefaults() end end) local resetBtn = newButton(playerPage, "Reset Boxes to Default", 6) resetBtn.MouseButton1Click:Connect(function() walkIn.set(16) jumpIn.set(50) gravIn.set(DEFAULT_GRAVITY) end) label(playerPage, "Defaults: walk 16, jump 50, gravity 196.2. Turn 'Apply Values' on to use your numbers.", 7, true) -- Scripts ------------------------------------------------------------ label(scriptPage, "SCRIPTS", 1) local iyBtn = newButton(scriptPage, "Open Infinite Yield", 2) local iyStatus = label(scriptPage, "Ready.", 3, true) iyBtn.MouseButton1Click:Connect(function() iyStatus.Text = "Loading Infinite Yield..." local ok = pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))() end) iyStatus.Text = ok and "Infinite Yield loaded." or "Could not load. This needs an environment that allows loadstring and HttpGet (a normal LocalScript in Studio blocks it)." end) selectTab("Main") ---------------------------------------------------------------------- -- Window controls ---------------------------------------------------------------------- minBtn.MouseButton1Click:Connect(function() minimized = not minimized minBtn.Text = minimized and "+" or "–" if minimized then body.Visible = false tween(main, 0.2, { Size = MINI_SIZE }) else tween(main, 0.2, { Size = FULL_SIZE }) task.delay(0.15, function() if not minimized then body.Visible = true end end) end end) closeBtn.MouseButton1Click:Connect(function() alive = false for k in pairs(S) do if type(S[k]) == "boolean" then S[k] = false end end stopFly() restoreDefaults() for _, c in ipairs(connections) do c:Disconnect() end gui:Destroy() end) -- dragging do local dragging, dragStart, startPos table.insert(connections, titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = main.Position end end)) table.insert(connections, UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local d = input.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) end end)) table.insert(connections, UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end)) end -- neon pulse task.spawn(function() while alive do local t = TweenService:Create(mainStroke, TweenInfo.new(1.2, Enum.EasingStyle.Sine), { Transparency = 0.55 }) t:Play() task.wait(1.2) if not alive then break end local t2 = TweenService:Create(mainStroke, TweenInfo.new(1.2, Enum.EasingStyle.Sine), { Transparency = 0.05 }) t2:Play() task.wait(1.2) end end) ---------------------------------------------------------------------- -- Input handling ---------------------------------------------------------------------- local function raycastFromScreen(x, y, viewport) local cam = workspace.CurrentCamera local ray = viewport and cam:ViewportPointToRay(x, y) or cam:ScreenPointToRay(x, y) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = { player.Character } return workspace:Raycast(ray.Origin, ray.Direction * 5000, params) end local function teleportTo(position) local hrp = getRoot() if not hrp then return end local rotation = hrp.CFrame - hrp.CFrame.Position hrp.CFrame = CFrame.new(position + Vector3.new(0, 3, 0)) * rotation end local function setClickPos(p) S.clickPos = p picking = false posLabel.Text = ("Position: %d, %d"):format(p.X, p.Y) marker.Position = UDim2.fromOffset(p.X, p.Y) marker.Visible = true end table.insert(connections, UIS.InputBegan:Connect(function(input, gameProcessed) -- choosing a keybind if listening then if input.UserInputType == Enum.UserInputType.Keyboard then if input.KeyCode ~= Enum.KeyCode.Escape then hideKey = input.KeyCode end listening = false refreshKeyBtn() end return end -- choosing a mouse-clicker position if picking then if not gameProcessed then if input.UserInputType == Enum.UserInputType.MouseButton1 then setClickPos(UIS:GetMouseLocation()) elseif input.UserInputType == Enum.UserInputType.Touch then setClickPos(Vector2.new(input.Position.X, input.Position.Y) + GuiService:GetGuiInset()) end end return end if gameProcessed then return end -- hide / show if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == hideKey then gui.Enabled = not gui.Enabled return end -- click teleport if S.clickTP then local hit if input.UserInputType == Enum.UserInputType.MouseButton1 then local m = UIS:GetMouseLocation() hit = raycastFromScreen(m.X, m.Y, true) elseif input.UserInputType == Enum.UserInputType.Touch then hit = raycastFromScreen(input.Position.X, input.Position.Y, false) end if hit then teleportTo(hit.Position) end end end)) ---------------------------------------------------------------------- -- Per-frame logic: fly, carfly, player values ---------------------------------------------------------------------- local function moveDir() if UIS:GetFocusedTextBox() then return Vector3.zero end local cf = workspace.CurrentCamera.CFrame local d = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then d += cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then d -= cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.D) then d += cf.RightVector end if UIS:IsKeyDown(Enum.KeyCode.A) then d -= cf.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) or UIS:IsKeyDown(Enum.KeyCode.E) then d += Vector3.yAxis end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) or UIS:IsKeyDown(Enum.KeyCode.Q) then d -= Vector3.yAxis end if d.Magnitude > 0 then return d.Unit end return d end table.insert(connections, RunService.Heartbeat:Connect(function() -- fly if S.fly then if bv and bg and bv.Parent then bv.Velocity = moveDir() * S.flySpeed * 10 bg.CFrame = workspace.CurrentCamera.CFrame else S.fly = false flyToggle.set(false) stopFly() end end -- carfly if S.car then local hum = getHumanoid() local seat = hum and hum.SeatPart if seat then local root = seat.AssemblyRootPart or seat root.AssemblyLinearVelocity = moveDir() * S.carSpeed * 10 root.AssemblyAngularVelocity = Vector3.zero end end -- walk / jump / gravity if S.apply then local hum = getHumanoid() if hum then hum.WalkSpeed = S.walk hum.UseJumpPower = true hum.JumpPower = S.jump end workspace.Gravity = S.gravity end end)) -- reset fly on respawn table.insert(connections, player.CharacterAdded:Connect(function() bv, bg = nil, nil S.fly = false flyToggle.set(false) end)) ---------------------------------------------------------------------- -- Autoclicker loops ---------------------------------------------------------------------- task.spawn(function() while alive do if S.toolClick then local char = player.Character local tool = char and char:FindFirstChildOfClass("Tool") if tool then tool:Activate() end end task.wait(1 / S.cps) end end) task.spawn(function() while alive do if S.mouseClick and S.clickPos then local p = S.clickPos local ok = false if okVIM and VIM then ok = pcall(function() VIM:SendMouseButtonEvent(p.X, p.Y, 0, true, game, 0) VIM:SendMouseButtonEvent(p.X, p.Y, 0, false, game, 0) end) end if not ok and okVU and VirtualUser then pcall(function() VirtualUser:ClickButton1(p) end) end end task.wait(S.mouseInterval) end end)