local plr = game.Players.LocalPlayer local char = plr.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local RS = game:GetService("ReplicatedStorage") local zone = workspace.Garages.Garage local car for _, c in ipairs(workspace.CivCars:GetChildren()) do local o = c:FindFirstChild("Owner") if o and o.Value == plr.Name then car = c end end print("car:", car and car.Name) if not car then return end if not car.PrimaryPart then local body = car:FindFirstChild("Body") car.PrimaryPart = (body and body:FindFirstChild("#Weight", true)) or (body and body:FindFirstChildWhichIsA("Part", true)) or car:FindFirstChildWhichIsA("BasePart") end print("primary part:", car.PrimaryPart and car.PrimaryPart.Name) local seat = car:FindFirstChild("DriveSeat") if seat and hum and hum.SeatPart ~= seat then seat:Sit(hum) task.wait(0.5) end print("driving:", tostring(hum.SeatPart == seat)) -- park the car in the garage zone (player rides along) car:SetPrimaryPartCFrame(CFrame.new(zone.Position)) task.wait(0.7) print("car in zone:", (car.PrimaryPart.Position - zone.Position).Magnitude < 25, tostring(car.PrimaryPart.Position)) local res = RS.Garage:InvokeServer(Color3.fromRGB(194, 0, 0), "Body") print("invoke body red ->", tostring(res)) task.wait(0.8) local n = 0 for _, d in ipairs(car:GetDescendants()) do if d.Name == "Paint" or d.Name == "Paint2" then n += 1 if n <= 2 then print(" paint:", d.ClassName, tostring(d.Color or d.Color3)) end end end print("paint parts:", n)