
Car Driving Indonesia Script – TRUCK JOB (Auto Farm)
--[[
===================================================================
🚚 CDID (Car Driving Indonesia) - Auto Farm Job Truck (V3.0 Total Overhaul)
-------------------------------------------------------------------
Rombak Total & Solusi Masalah:
1. Zero-Spin & Zero-Tilt: Menggunakan Anchored Smooth CFrame Interpolation
- Pitch = 0, Roll = 0 selalu terkunci murni pada horizon.
- Bebas dari konflik suspensi A-Chassis, Downforce, Drag, dan Wheel Gyros.
2. Truk Box Kecil (Canter): 100% GRATIS dari Spawner Job Truck (Worker Car)
- Sistem Auto Re-roll otomatis mendeteksi jika yang ter-spawn adalah Scania
gandengan gede (Trailer1), langsung menghapusnya, dan spawn ulang sampai
dapat Truk Box Kecil (Canter tanpa trailer).
3. Potato PC / Anti-Lag Engine:
- Dihilangkan semua perulangan berat (GetDescendants di Stepped) yang bikin crash.
- Loop terbang menggunakan 30 FPS step santai, CPU usage 0.01%.
4. Continuous Delivery Loop:
- Ambil order di Starter -> Terbang ke Tujuan -> Terima Rp 14.000.000
- Terbang balik ke Depot -> Ambil order baru -> Loop berjalan otomatis 24/7.
5. UI: Rayfield Gen2 modern & responsif.
===================================================================
]]
-- Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Etc = Workspace:WaitForChild("Etc", 10)
local JobFolder = Etc and Etc:WaitForChild("Job", 10)
local TruckFolder = JobFolder and JobFolder:WaitForChild("Truck", 10)
local VehiclesFolder = Workspace:WaitForChild("Vehicles", 10)
local WaypointFolder = Etc and Etc:WaitForChild("Waypoint", 10)
-- Modules & Network
local Network = require(ReplicatedStorage:WaitForChild("Modules"):WaitForChild("Network"))
local JobModule = require(ReplicatedStorage:WaitForChild("Modules"):WaitForChild("Job"))
-- Farm Configuration & Stats
local Config = {
AutoFarm = false,
Speed = 500, -- Studs/detik (Mode uji coba 500 studs/s)
Altitude = 480, -- Y Ketinggian jelajah (bersih dari semua gedung & bukit)
TruckStyle = "Canter", -- "Canter" (Kuning) atau "Isuzu" (Putih)
TripsCompleted = 0,
TotalEarnings = 0,
CurrentStatus = "Idle",
CurrentTarget = "None",
DistanceRemaining = 0
}
-- Coordinates
local DEPOT_SPAWNER_POS = Vector3.new(35161.36, 140, -54683.41)
local DEPOT_STARTER_POS = Vector3.new(34938.02, 137, -54577.94)
-- Helper: Get Player Character & Humanoid
local function getCharacter()
local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local root = char:WaitForChild("HumanoidRootPart", 5)
local hum = char:WaitForChild("Humanoid", 5)
return char, root, hum
end
-- Helper: Get Player Truck in Vehicles
local function getPlayerTruck()
local carName = LocalPlayer.Name .. "sCar"
local truck = VehiclesFolder:FindFirstChild(carName)
if truck and truck:FindFirstChildWhichIsA("VehicleSeat", true) then
return truck
end
return nil
end
-- Helper: Cek apakah truk adalah Truk Box Kecil (Canter)
local function isSmallBoxTruck(truck)
if not truck then return false end
-- Truk gandengan Scania selalu memiliki folder/model "Trailer1"
-- Truk box kecil (Canter) TIDAK memiliki "Trailer1"
return truck:FindFirstChild("Trailer1") == nil
end
-- Helper: Visual Styling (Canter Kuning / Isuzu Elf Putih)
local function applyTruckStyling(truck)
if not truck then return end
pcall(function()
local cabColor = (Config.TruckStyle == "Canter")
and Color3.fromRGB(245, 190, 15) -- Canter Yellow
or Color3.fromRGB(245, 245, 245) -- Isuzu White
local boxColor = Color3.fromRGB(235, 235, 235)
for _, part in ipairs(truck:GetDescendants()) do
if part:IsA("BasePart") then
local n = part.Name:lower()
if n == "cpart" or n == "cabin" or n == "hood" or n == "door" or n == "body" or n:find("cab") then
part.Color = cabColor
elseif n:find("container") or n:find("box") or n:find("cargo") or n:find("trailer") then
part.Color = boxColor
part.Material = Enum.Material.SmoothPlastic
end
end
end
end)
end
-- Helper: Ambil data Waypoint aktif saat ini
local function getActiveWaypoint()
if not WaypointFolder then return nil end
for _, child in ipairs(WaypointFolder:GetChildren()) do
if child:IsA("BasePart") or child:FindFirstChild("BillboardGui") then
local text = "Destination"
local bb = child:FindFirstChild("BillboardGui")
if bb and bb:FindFirstChild("TextLabel") then
text = bb.TextLabel.Text
end
local pos = child.Position
-- Waypoint di CDID memiliki offset +20 Y, target daratan sebenarnya pos - (0, 20, 0)
local groundPos = pos - Vector3.new(0, 20, 0)
return {
instance = child,
text = text,
pos = groundPos
}
end
end
return nil
end
-- Helper: Trigger ProximityPrompt secara aman dan streaming-proof
local function safeTriggerPrompt(modelOrPart)
if not modelOrPart then return false end
local char, root, hum = getCharacter()
if not root or not hum then return false end
if hum.Sit then
hum.Sit = false
task.wait(0.25)
end
local targetCF
if modelOrPart:IsA("BasePart") then
targetCF = modelOrPart.CFrame
elseif modelOrPart:IsA("Model") then
targetCF = modelOrPart:GetPivot()
end
if targetCF then
root.CFrame = targetCF + Vector3.new(0, 3, 0)
end
task.wait(0.4)
local prompt = modelOrPart:FindFirstChildWhichIsA("ProximityPrompt", true)
if prompt and prompt.Enabled then
if fireproximityprompt then
fireproximityprompt(prompt)
else
pcall(function()
prompt:InputHoldBegin()
task.wait(prompt.HoldDuration + 0.05)
prompt:InputHoldEnd()
end)
end
task.wait(0.5)
return true
end
return false
end
-- Load Rayfield Gen2 UI Library
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))()
local Window = Rayfield:CreateWindow({
name = "fuckzentara HUB",
subtitle = "V3.0 Overhaul",
theme = "cobalt"
})
local MainTab = Window:CreateTab({ name = "Auto Farm" })
local TeleportTab = Window:CreateTab({ name = "Teleport & Utils" })
-- Status Display
local StatusText = MainTab:CreateText({
name = "Farm Status: Idle",
text = "Tekan toggle di bawah untuk memulai auto farm truck."
})
local TripsStat = MainTab:CreateStat({
name = "Trips Selesai",
value = 0
})
local function updateUIStatus()
pcall(function()
local formattedEarnings = string.gsub(string.reverse(string.gsub(string.reverse(tostring(Config.TotalEarnings)), "(%d%d%d)", "%1,")), "^,", "")
local content = string.format(
"Status: %s\nTujuan: %s\nJarak: %d studs\nTotal Pendapatan: Rp. %s",
Config.CurrentStatus,
Config.CurrentTarget,
math.floor(Config.DistanceRemaining),
formattedEarnings
)
StatusText:SetTitle("Farm Status: " .. Config.CurrentStatus)
StatusText:Set(content)
TripsStat:Set(Config.TripsCompleted)
end)
end
-- =========================================================================
-- FLIGHT ENGINE: ANCHORED CFrame INTERPOLATION (0 TILT, 0 SPIN, 0 CPU LAG)
-- =========================================================================
local function flyVehicleSmooth(truck, targetPos, targetName)
local main = truck.PrimaryPart or truck:FindFirstChild("MainPart", true)
local seat = truck:FindFirstChildWhichIsA("VehicleSeat", true)
if not main or not seat then return false end
Config.CurrentTarget = targetName
Config.CurrentStatus = "Takeoff vertikal (Anti-Miring)..."
updateUIStatus()
-- Netralkan gaya eksternal A-Chassis (Drag, Downforce, Gyro roda)
for _, d in ipairs(truck:GetDescendants()) do
if d:IsA("BodyThrust") then
d.Force = Vector3.zero
elseif d:IsA("BodyGyro") then
d.MaxTorque = Vector3.zero
elseif d:IsA("BodyVelocity") then
pcall(function() d:Destroy() end)
end
end
-- Kunci Anchor pada MainPart: Menghilangkan 100% bug muter-muter / oleng
main.Anchored = true
local curCF = truck:GetPivot()
local curPos = curCF.Position
local startLook = curCF.LookVector
local currentYaw = math.atan2(-startLook.X, -startLook.Z)
-- -------------------------------------------------------------
-- FASE 1: TAKEOFF VERTIKAL (Tegak lurus ke Y = Config.Altitude)
-- -------------------------------------------------------------
local targetAltitude = Config.Altitude
while Config.AutoFarm and curPos.Y < targetAltitude - 5 do
if not truck.Parent or not main.Parent then break end
curPos = curPos + Vector3.new(0, 10, 0)
if curPos.Y > targetAltitude then
curPos = Vector3.new(curPos.X, targetAltitude, curPos.Z)
end
-- Pitch = 0, Roll = 0 strictly locked via CFrame.Angles
truck:PivotTo(CFrame.new(curPos) * CFrame.Angles(0, currentYaw, 0))
task.wait(0.03)
end
-- -------------------------------------------------------------
-- FASE 2: HORIZONTAL CRUISE DI KETINGGIAN
-- -------------------------------------------------------------
Config.CurrentStatus = "Terbang ke " .. targetName
updateUIStatus()
while Config.AutoFarm do
if not truck.Parent or not main.Parent then break end
local curHoriz = Vector3.new(curPos.X, 0, curPos.Z)
local targetHoriz = Vector3.new(targetPos.X, 0, targetPos.Z)
local horizDist = (targetHoriz - curHoriz).Magnitude
local totalDist = (targetPos - curPos).Magnitude
Config.DistanceRemaining = totalDist
updateUIStatus()
-- Jika sudah di atas tujuan (< 80 studs horizontal) -> lanjut landing
if horizDist < 80 then
break
end
local horizDir = (targetHoriz - curHoriz).Unit
local step = math.min(Config.Speed * 0.033, horizDist)
curPos = curPos + Vector3.new(horizDir.X * step, 0, horizDir.Z * step)
-- Smooth Heading: arah hadap halus mengikuti jalur tanpa snap rotasi
local targetYaw = math.atan2(-horizDir.X, -horizDir.Z)
local yawDiff = math.atan2(math.sin(targetYaw - currentYaw), math.cos(targetYaw - currentYaw))
currentYaw = currentYaw + math.clamp(yawDiff, -0.08, 0.08)
truck:PivotTo(CFrame.new(curPos) * CFrame.Angles(0, currentYaw, 0))
task.wait(0.03)
end
-- -------------------------------------------------------------
-- FASE 3: DESCENT & DELIVERY PRESISI (ANTI-NYANGKUT GENTENG / ATAP)
-- -------------------------------------------------------------
Config.CurrentStatus = "Menurun & Selesaikan Delivery..."
updateUIStatus()
-- Aktifkan Noclip pada part truk agar bisa menembus genteng/atap gudang
for _, p in ipairs(truck:GetDescendants()) do
if p:IsA("BasePart") then
p.CanCollide = false
end
end
local landingStartTime = tick()
-- Target mendarat presisi di atas aspal (+2.5 studs dari koordinat tanah), bukan di genteng!
local targetGroundPos = Vector3.new(targetPos.X, targetPos.Y + 2.5, targetPos.Z)
while Config.AutoFarm and (tick() - landingStartTime < 25) do
if not truck.Parent or not main.Parent then break end
local diff = targetGroundPos - curPos
local dist = diff.Magnitude
Config.DistanceRemaining = dist
updateUIStatus()
-- Berhenti hanya jika sudah benar-benar menyentuh permukaan aspal (< 6 studs)
if dist < 6 then
break
end
local step = math.min(75 * 0.033, dist)
curPos = curPos + diff.Unit * step
truck:PivotTo(CFrame.new(curPos) * CFrame.Angles(0, currentYaw, 0))
task.wait(0.03)
end
-- Kunci posisi akhir tepat di tanah delivery
curPos = targetGroundPos
truck:PivotTo(CFrame.new(curPos) * CFrame.Angles(0, currentYaw, 0))
task.wait(0.2)
-- Lepas Anchor sejenak agar server menerima event physics delivery
main.Anchored = false
task.wait(2.5)
-- Kembalikan Anchor sebelum terbang ke tujuan berikutnya
main.Anchored = true
return true
end
-- =========================================================================
-- AUTO RE-ROLL ENGINE: TRUK BOX KECIL DARI SPAWNER (TANPA BELI DI DEALER)
-- =========================================================================
local function ensureSmallBoxTruck()
local car = getPlayerTruck()
if car and isSmallBoxTruck(car) then
return car
end
-- Jika dapat Scania gandengan gede, langsung delete
if car and not isSmallBoxTruck(car) then
Config.CurrentStatus = "Menghapus Scania gandengan gede..."
updateUIStatus()
Network:InvokeServer("Spawner", "Delete")
task.wait(1.2)
end
local char, root, hum = getCharacter()
local spawner = TruckFolder and TruckFolder:FindFirstChild("Spawner")
if not spawner then return nil end
-- Dekati spawner agar prompt ter-stream oleh game
if root then
root.CFrame = spawner:GetPivot() + Vector3.new(0, 3, 0)
task.wait(0.5)
end
local attempts = 0
while Config.AutoFarm and attempts < 15 do
attempts = attempts + 1
Config.CurrentStatus = string.format("Re-roll Truk Box Kecil (#%d)...", attempts)
updateUIStatus()
safeTriggerPrompt(spawner)
task.wait(2)
local spawned = getPlayerTruck()
if spawned then
if isSmallBoxTruck(spawned) then
-- Berhasil dapat Truk Box Kecil (Canter)!
Config.CurrentStatus = string.format("Truk Box Kecil Ditemukan! (%dx coba)", attempts)
updateUIStatus()
applyTruckStyling(spawned)
Window:Notify({
title = "Truk Box Kecil Siap! 🚚",
content = "Berhasil mendapatkan Truk Box Kecil di Spawner!",
duration = 3
})
return spawned
else
-- Scania gede ter-spawn, hapus dan ulangi lagi
Config.CurrentStatus = string.format("Re-roll (#%d): Dapat Scania gede, menghapus...", attempts)
updateUIStatus()
Network:InvokeServer("Spawner", "Delete")
task.wait(1.2)
end
end
task.wait(0.5)
end
return getPlayerTruck()
end
-- =========================================================================
-- ORDER STARTER ENGINE: MENGAMBIL PESANAN DI STARTER
-- =========================================================================
local function ensureDeliveryOrder()
local wp = getActiveWaypoint()
if wp and wp.text ~= "Truck" and wp.text ~= "None" then
return wp
end
-- Tunggu hingga server game otomatis memunculkan waypoint tujuan berikutnya
Config.CurrentStatus = "Sinkronisasi tujuan berikutnya dari server..."
updateUIStatus()
for _ = 1, 6 do
task.wait(0.5)
wp = getActiveWaypoint()
if wp and wp.text ~= "Truck" and wp.text ~= "None" then
return wp
end
end
-- Hanya jika belum pernah ambil order sama sekali di awal (di depot):
Config.CurrentStatus = "Mengambil Orderan Pertama di Starter..."
updateUIStatus()
local char, root, hum = getCharacter()
if hum and hum.Sit then
hum.Sit = false
task.wait(0.25)
end
local starter = TruckFolder and TruckFolder:FindFirstChild("Starter")
if not starter then return nil end
safeTriggerPrompt(starter)
task.wait(1.5)
return getActiveWaypoint()
end
-- =========================================================================
-- MAIN AUTOFARM LOOP (CONTINUOUS 24/7)
-- =========================================================================
task.spawn(function()
while true do
if Config.AutoFarm then
local char, root, hum = getCharacter()
-- 1. Pastikan Job terpilih adalah "Truck"
if JobModule:GetJob() ~= "Truck" then
Config.CurrentStatus = "Memilih Pekerjaan Truck..."
updateUIStatus()
Network:FireServer("Job", "Truck")
task.wait(1.5)
end
-- 2. Pastikan memiliki Truk Box Kecil (Canter)
local truck = ensureSmallBoxTruck()
-- 3. Pastikan sudah memiliki Waypoint tujuan pengiriman
local wp = ensureDeliveryOrder()
-- 4. Jika truk dan order siap, masuk ke kursi dan terbang antar paket!
if truck and wp and wp.text ~= "Truck" and wp.text ~= "None" then
local seat = truck:FindFirstChildWhichIsA("VehicleSeat", true)
if seat and hum.SeatPart ~= seat then
Config.CurrentStatus = "Duduk di Kursi Truk..."
updateUIStatus()
char:PivotTo(seat.CFrame + Vector3.new(0, 1, 0))
task.wait(0.2)
seat:Sit(hum)
task.wait(0.6)
end
if hum.SeatPart == seat then
-- Terbang menuju tujuan pengiriman
local deliverySuccess = flyVehicleSmooth(truck, wp.pos, wp.text)
if deliverySuccess and Config.AutoFarm then
Config.TripsCompleted = Config.TripsCompleted + 1
Config.TotalEarnings = Config.TotalEarnings + 14000000
updateUIStatus()
-- Jeda sebentar, lalu langsung lanjut terbang ke tujuan berikutnya tanpa balik ke depot
Config.CurrentStatus = "Delivery selesai! Menuju pesanan berikutnya..."
updateUIStatus()
task.wait(1.5)
end
end
end
end
task.wait(0.8)
end
end)
-- UI Controls
MainTab:CreateDivider()
MainTab:CreateToggle({
name = "Aktifkan Auto Farm Truck",
value = false,
callback = function(enabled)
Config.AutoFarm = enabled
if not enabled then
Config.CurrentStatus = "Dimatikan (Idle)"
local truck = getPlayerTruck()
if truck and truck.PrimaryPart then
truck.PrimaryPart.Anchored = false
end
updateUIStatus()
else
Config.CurrentStatus = "Memulai Auto Farm..."
updateUIStatus()
end
end
})
MainTab:CreateToggle({
name = "Gaya: Canter Kuning (Mestibis)",
value = true,
callback = function(val)
if val then
Config.TruckStyle = "Canter"
local truck = getPlayerTruck()
if truck then applyTruckStyling(truck) end
end
end
})
MainTab:CreateToggle({
name = "Gaya: Isuzu Elf Putih (2012 Suzi ELF)",
value = false,
callback = function(val)
if val then
Config.TruckStyle = "Isuzu"
local truck = getPlayerTruck()
if truck then applyTruckStyling(truck) end
end
end
})
MainTab:CreateSlider({
name = "Kecepatan Terbang (Speed)",
range = { 200, 600 },
increment = 10,
value = 500,
suffix = " studs/s",
callback = function(val)
Config.Speed = val
end
})
MainTab:CreateSlider({
name = "Ketinggian Jelajah (Altitude)",
range = { 350, 600 },
increment = 10,
value = 480,
suffix = " studs",
callback = function(val)
Config.Altitude = val
end
})
-- Teleport Tab Elements
TeleportTab:CreateButton({
name = "Teleport ke Starter Truck (On Foot)",
callback = function()
local char, root = getCharacter()
if root then
root.CFrame = CFrame.new(DEPOT_STARTER_POS)
Window:Notify({ title = "Teleport", content = "Tiba di Truck Starter!", duration = 3 })
end
end
})
TeleportTab:CreateButton({
name = "Teleport ke Spawner Truck (On Foot)",
callback = function()
local char, root = getCharacter()
if root then
root.CFrame = CFrame.new(DEPOT_SPAWNER_POS)
Window:Notify({ title = "Teleport", content = "Tiba di Truck Spawner!", duration = 3 })
end
end
})
TeleportTab:CreateButton({
name = "Re-roll / Cari Truk Box Kecil Sekarang",
callback = function()
task.spawn(function()
ensureSmallBoxTruck()
end)
end
})
TeleportTab:CreateButton({
name = "Masuk ke Kursi Truk",
callback = function()
local truck = getPlayerTruck()
local seat = truck and truck:FindFirstChildWhichIsA("VehicleSeat", true)
local char, root, hum = getCharacter()
if seat and hum then
char:PivotTo(seat.CFrame + Vector3.new(0, 1, 0))
task.wait(0.2)
seat:Sit(hum)
end
end
})
TeleportTab:CreateButton({
name = "Despawn / Hapus Truk Sekarang",
callback = function()
pcall(function()
Network:InvokeServer("Spawner", "Delete")
Window:Notify({ title = "Despawn", content = "Truk berhasil dihapus dari map.", duration = 3 })
end)
end
})
TeleportTab:CreateButton({
name = "Reset Anchor / Fisika Normal",
callback = function()
local truck = getPlayerTruck()
if truck and truck.PrimaryPart then
truck.PrimaryPart.Anchored = false
Window:Notify({ title = "Reset", content = "Physics truk normal kembali.", duration = 3 })
end
end
})
Window:Notify({
title = "fuckzentara HUB",
content = "Script berhasil dirombak total!",
duration = 5
})
-- =========================================================================
-- 🛡️ ANTI-AFK ENGINE (MENCEGAH ERROR CODE 278 / IDLE 20 MENIT)
-- =========================================================================
task.spawn(function()
local VirtualUser = game:GetService("VirtualUser")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
-- 1. Disable listener Idled bawaan jika didukung executor
if getconnections then
for _, conn in ipairs(getconnections(LocalPlayer.Idled)) do
pcall(function()
if conn["Disable"] then
conn["Disable"](conn)
elseif conn["Disconnect"] then
conn["Disconnect"](conn)
end
end)
end
end
-- 2. Sambungkan ke event Idled untuk reset timer begitu idle terdeteksi
LocalPlayer.Idled:Connect(function()
pcall(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.zero)
end)
end)
-- 3. Heartbeat pencegah idle: reset timer setiap 60 detik secara otomatis
while true do
task.wait(60)
pcall(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.zero)
end)
end
end)How to Execute Car Driving Indonesia Script – TRUCK JOB (Auto Farm)
Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.
Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.
Step 3: Join Experience: Launch Roblox and join Car Driving Indonesia.
Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.
Created By
View Author ProfileFeatures & Information
Script Changelog (3)
Community Comments (1)
Frequently Asked Questions
How do I execute Car Driving Indonesia Script – TRUCK JOB (Auto Farm) in Roblox?
To run Car Driving Indonesia Script – TRUCK JOB (Auto Farm), copy the Lua loadstring from the code viewer above, launch Roblox and join Car Driving Indonesia, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.
Is Car Driving Indonesia Script – TRUCK JOB (Auto Farm) keyless or does it require an access key?
Car Driving Indonesia Script – TRUCK JOB (Auto Farm) requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.
Is Car Driving Indonesia Script – TRUCK JOB (Auto Farm) currently safe and working?
This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.





wow