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)