
Key Required

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local root = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
-- CAR HITBOXES
local hitbox1 = workspace.Map.Functional.Cars.Model.Car1.Hitbox
local hitbox2 = workspace.Map.Functional.Cars.Model.Car2.Hitbox
-- TOGGLES
local spamCars = false
local autoClaim = false
-- FIND BEST INSURANCE NPC
local function getBestPrompt()
local prompts = {}
for _,v in pairs(workspace:GetDescendants()) do
if v:IsA("ProximityPrompt") then
local full = v:GetFullName()
if full:find("InsuranceFrauder") then
table.insert(prompts, v)
end
end
end
if #prompts == 0 then
return nil
end
-- Prefer highest numbered InsuranceFrauder
table.sort(prompts, function(a,b)
local anum = tonumber(a:GetFullName():match("InsuranceFrauder(%d+)")) or 0
local bnum = tonumber(b:GetFullName():match("InsuranceFrauder(%d+)")) or 0
return anum > bnum
end)
return prompts[1]
end
-- UI
local gui = Instance.new("ScreenGui")
gui.Name = "CrashFarmUI"
gui.ResetOnSpawn = false
gui.Parent = game.CoreGui
local frame = Instance.new("Frame")
frame.Parent = gui
frame.Size = UDim2.new(0,240,0,180)
frame.Position = UDim2.new(0.5,-120,0.5,-90)
frame.BackgroundColor3 = Color3.fromRGB(25,25,25)
frame.BorderSizePixel = 0
frame.Active = true
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,8)
-- TITLE
local title = Instance.new("TextLabel")
title.Parent = frame
title.Size = UDim2.new(1,0,0,30)
title.BackgroundColor3 = Color3.fromRGB(35,35,35)
title.Text = "Crash Farm"
title.TextScaled = true
title.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", title).CornerRadius = UDim.new(0,8)
-- CAR TOGGLE
local carBtn = Instance.new("TextButton")
carBtn.Parent = frame
carBtn.Size = UDim2.new(0.8,0,0,40)
carBtn.Position = UDim2.new(0.1,0,0.25,0)
carBtn.Text = "Car Spam: OFF"
carBtn.TextScaled = true
carBtn.TextColor3 = Color3.new(1,1,1)
carBtn.BackgroundColor3 = Color3.fromRGB(170,0,0)
Instance.new("UICorner", carBtn).CornerRadius = UDim.new(0,6)
-- CLAIM TOGGLE
local claimBtn = Instance.new("TextButton")
claimBtn.Parent = frame
claimBtn.Size = UDim2.new(0.8,0,0,40)
claimBtn.Position = UDim2.new(0.1,0,0.52,0)
claimBtn.Text = "Auto Claim: OFF"
claimBtn.TextScaled = true
claimBtn.TextColor3 = Color3.new(1,1,1)
claimBtn.BackgroundColor3 = Color3.fromRGB(170,0,0)
Instance.new("UICorner", claimBtn).CornerRadius = UDim.new(0,6)
-- DESTROY BUTTON
local destroyBtn = Instance.new("TextButton")
destroyBtn.Parent = frame
destroyBtn.Size = UDim2.new(0.8,0,0,25)
destroyBtn.Position = UDim2.new(0.1,0,0.82,0)
destroyBtn.Text = "Destroy UI"
destroyBtn.TextScaled = true
destroyBtn.TextColor3 = Color3.new(1,1,1)
destroyBtn.BackgroundColor3 = Color3.fromRGB(50,50,50)
Instance.new("UICorner", destroyBtn).CornerRadius = UDim.new(0,6)
-- BUTTON LOGIC
carBtn.MouseButton1Click:Connect(function()
spamCars = not spamCars
if spamCars then
carBtn.Text = "Car Spam: ON"
carBtn.BackgroundColor3 = Color3.fromRGB(0,170,0)
else
carBtn.Text = "Car Spam: OFF"
carBtn.BackgroundColor3 = Color3.fromRGB(170,0,0)
end
end)
claimBtn.MouseButton1Click:Connect(function()
autoClaim = not autoClaim
if autoClaim then
claimBtn.Text = "Auto Claim: ON"
claimBtn.BackgroundColor3 = Color3.fromRGB(0,170,0)
else
claimBtn.Text = "Auto Claim: OFF"
claimBtn.BackgroundColor3 = Color3.fromRGB(170,0,0)
end
end)
destroyBtn.MouseButton1Click:Connect(function()
spamCars = false
autoClaim = false
gui:Destroy()
end)
-- DRAGGING
local dragging = false
local dragInput
local dragStart
local startPos
title.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)
title.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
UIS.InputChanged:Connect(function(input)
if input == dragInput and dragging then
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
end)
-- ANTI FLING
task.spawn(function()
while gui.Parent do
if spamCars then
root.AssemblyLinearVelocity = Vector3.zero
root.AssemblyAngularVelocity = Vector3.zero
humanoid.PlatformStand = false
end
task.wait()
end
end)
-- CAR LOOP
task.spawn(function()
local useFirst = true
while gui.Parent do
if spamCars then
if useFirst then
firetouchinterest(root, hitbox1, 0)
firetouchinterest(root, hitbox1, 1)
else
firetouchinterest(root, hitbox2, 0)
firetouchinterest(root, hitbox2, 1)
end
-- jump after hit
humanoid.Jump = true
-- switch cars
useFirst = not useFirst
end
task.wait(1)
end
end)
-- AUTO CLAIM LOOP
task.spawn(function()
while gui.Parent do
if autoClaim then
local prompt = getBestPrompt()
if prompt and prompt.Parent then
local oldPos = root.CFrame
-- teleport to NPC
root.CFrame = prompt.Parent.CFrame + Vector3.new(0,0,3)
task.wait(0.15)
fireproximityprompt(prompt)
task.wait(0.15)
-- teleport back
root.CFrame = oldPos
end
end
task.wait(1)
end
end)No comments yet for this script.