obstacle remover
Key Required

obstacle remover

Highway Surfersodeyiscatodeyiscat 426 views 17 executesUpdated Jan 22, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•153 lines (3909 chars)
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]

--// Global toggle
getgenv().remover = false

--// Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

--// GUI Setup
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ObstacleRemoverGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local Frame = Instance.new("Frame")
Frame.Size = UDim2.fromScale(0.2, 0.15)
Frame.Position = UDim2.fromScale(0.4, 0.4)
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.BorderSizePixel = 0
Frame.Parent = ScreenGui

local UICorner = Instance.new("UICorner", Frame)
UICorner.CornerRadius = UDim.new(0, 12)

local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.fromScale(0.9, 0.5)
ToggleButton.Position = UDim2.fromScale(0.05, 0.25)
ToggleButton.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
ToggleButton.Text = "Obstacle Remover: OFF"
ToggleButton.TextColor3 = Color3.new(1, 1, 1)
ToggleButton.TextScaled = true
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.Parent = Frame

local ButtonCorner = Instance.new("UICorner", ToggleButton)
ButtonCorner.CornerRadius = UDim.new(0, 10)

--// Obstacle Remover Class
local ObstacleRemove = {}
ObstacleRemove.__index = ObstacleRemove

function ObstacleRemove.new(obstaclesFolder)
	local self = setmetatable({}, ObstacleRemove)

	self.Folder = obstaclesFolder 
		or workspace:WaitForChild("Map"):WaitForChild("Obstacles")

	self.OriginalPositions = {}

	self:UpdateDescendants(self.Folder)

	self.Folder.DescendantAdded:Connect(function(descendant)
		self:UpdatePart(descendant)
	end)

	local lastState = getgenv().remover

	RunService.RenderStepped:Connect(function()
		if getgenv().remover ~= lastState then
			lastState = getgenv().remover
			self:UpdateDescendants(self.Folder)
		end
	end)

	return self
end

function ObstacleRemove:UpdatePart(part)
	if part:IsA("BasePart") then
		part.CanCollide = false
		part.CanTouch = false
	end

	if part.Name == "Hitbox" then
		if not self.OriginalPositions[part] then
			self.OriginalPositions[part] = part.Position
		end

		if getgenv().remover then
			part.Position = Vector3.new(0, -5000, 0)
		else
			part.Position = self.OriginalPositions[part]
		end
	end
end

function ObstacleRemove:UpdateDescendants(parent)
	for _, descendant in ipairs(parent:GetDescendants()) do
		self:UpdatePart(descendant)
	end
end

--// Initialize remover
local remover = ObstacleRemove.new()

--// Button Logic
ToggleButton.MouseButton1Click:Connect(function()
	getgenv().remover = not getgenv().remover

	if getgenv().remover then
		ToggleButton.Text = "Obstacle Remover: ON"
		ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
	else
		ToggleButton.Text = "Obstacle Remover: OFF"
		ToggleButton.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
	end
end)
--// Dragging Logic
local UserInputService = game:GetService("UserInputService")

local dragging = false
local dragStart
local startPos

local function updateDrag(input)
	local delta = input.Position - dragStart
	Frame.Position = UDim2.new(
		startPos.X.Scale,
		startPos.X.Offset + delta.X,
		startPos.Y.Scale,
		startPos.Y.Offset + delta.Y
	)
end

Frame.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then
		dragging = true
		dragStart = input.Position
		startPos = Frame.Position

		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

Frame.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement then
		dragInput = input
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
		updateDrag(input)
	end
end)

Features & Information

removes traffic

Community Comments (2)

klimmacklimmacSep 2, 2026

ohh i get it its all vibecoded

Replying to @klimmac
odeyiscatodeyiscatOct 10, 2026

@klimmac yo what does vibecoded mean ?

More Scripts for Highway Surfers