road roller
Key RequiredUniversal

road roller

Universal Scriptflat_pancakeflat_pancake 464 views 247 executesUpdated Mar 13, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•106 lines (3106 chars)
local lp = game.Players.LocalPlayer
local char = lp.Character or lp.CharacterAdded:Wait()
local root = char:WaitForChild("HumanoidRootPart")
local uis = game:GetService("UserInputService")

char.Humanoid.WalkSpeed = 0


local rr = Instance.new("Part")
rr.Name = "roadroller"
rr.Parent = workspace
rr.Size = Vector3.new(8, 10, 12) 
rr.CFrame = root.CFrame
rr.CanCollide = true

pcall(function()
    rr.CollisionFidelity = Enum.CollisionFidelity.PreciseConvexDecomposition
end)

local m = Instance.new("SpecialMesh", rr)
m.MeshId = "rbxassetid://6539353839"
m.TextureId = "rbxassetid://6539354742"
m.Scale = Vector3.new(3.8, 3.8, 3.8) 

local w = Instance.new("Weld", rr)
w.Part0 = rr
w.Part1 = root
w.C0 = CFrame.new(0, -2.5, 0)


local hum = Instance.new("Sound", rr)
hum.SoundId = "rbxassetid://6799591495"
hum.Looped = true
hum.Volume = 0.5
hum:Play()

local moveSfx = Instance.new("Sound", rr)
moveSfx.SoundId = "rbxassetid://128503855489784"
moveSfx.Looped = true
moveSfx.Volume = 0.8


local speed = 1.2
local turnSpeed = 0.06

task.spawn(function()
    while rr and rr.Parent do
        task.wait()
        
     
        if uis:IsKeyDown(Enum.KeyCode.R) then
            local ex = Instance.new("Explosion", workspace)
            ex.Position = rr.Position
            ex.BlastRadius = 20
            rr:Destroy()
            char.Humanoid.WalkSpeed = 16
            break
        end

        local isMoving = false
        
        if uis:IsKeyDown(Enum.KeyCode.W) then
            rr.CFrame = rr.CFrame * CFrame.new(0, 0, -speed)
            isMoving = true
        elseif uis:IsKeyDown(Enum.KeyCode.S) then
            rr.CFrame = rr.CFrame * CFrame.new(0, 0, speed)
            isMoving = true
        end
        
        if uis:IsKeyDown(Enum.KeyCode.A) then
            rr.CFrame = rr.CFrame * CFrame.Angles(0, turnSpeed, 0)
            isMoving = true
        elseif uis:IsKeyDown(Enum.KeyCode.D) then
            rr.CFrame = rr.CFrame * CFrame.Angles(0, -turnSpeed, 0)
            isMoving = true
        end
        
        if isMoving and not moveSfx.IsPlaying then
            moveSfx:Play()
        elseif not isMoving and moveSfx.IsPlaying then
            moveSfx:Stop()
        end
        
       
        local parts = rr:GetTouchingParts()
        for _, p in pairs(parts) do
            if not p:IsDescendantOf(char) and p ~= rr and p.Name ~= "Baseplate" then
                p.Anchored = false
                
                
                local dir = (p.Position - rr.Position).Unit
                p.Velocity = (dir + Vector3.new(0, 0.7, 0)) * 180
                p.RotVelocity = Vector3.new(math.random(-60, 60), math.random(-60, 60), math.random(-60, 60))
                
                if not p:FindFirstChild("HitSfx") then
                    local s = Instance.new("Sound", p)
                    s.Name = "kaBOOM"
                    s.SoundId = "rbxassetid://140278004623742"
                    s.Volume = 0.4
                    s:Play()
                    game:GetService("Debris"):AddItem(s, 2)
                end
            end
        end
    end
end)

Features & Information

this heavy dude can destroy anything but local only unless if you try this on a client replication game idk and also PC only
#roadroller#script#local#pc

Community Comments (1)

flat_pancakeflat_pancakeMar 14, 2026

hope someone uses this

More Scripts for Universal Scripts