-
Notifications
You must be signed in to change notification settings - Fork 3
Cargo Deliveries
Cargo deliveries are long-distance dispatcher orders that reuse the normal pickup and destination routing pipeline while replacing passenger-specific behavior with physical vehicle mass and package damage.
The mixed dispatcher pool targets 10–12 total offers and normally reserves 5–7 positions for deliveries. A normal passenger order is kept at the start of the generation plan so a difficult long-distance graph search cannot block the first visible card.
| Property | Value |
|---|---|
| Minimum route distance | 2,000 m |
| Maximum route distance | 25,000 m |
| Minimum cargo weight | 2 kg |
| Maximum cargo weight | 250 kg |
| Route attempts | 28 |
| Diversity attempts | 3 |
| Base fare multiplier | 0.82 |
Deliveries use the same semantic roadside points and graph-derived fallbacks as passenger work. If the requested endpoint separation cannot be achieved, diversity validation relaxes after bounded attempts so sparse maps can still produce work.
delivery.generateWeight() uses a power distribution with exponent 1.55, which keeps light and medium packages common while still allowing very heavy cargo.
The pre-weight delivery rate is 82% of the equivalent passenger base fare. Cargo above 15 kg then receives a linear premium:
premium rate = clamp((weightKg - 15) / (250 - 15), 0, 1) × 1.50
delivery fare = passenger base fare × 0.82 × (1 + premium rate)
Examples:
| Weight | Premium |
|---|---|
| 15 kg or less | 0% |
| 50 kg | 22.34% |
| 100 kg | 54.26% |
| 150 kg | 86.17% |
| 200 kg | 118.09% |
| 250 kg | 150% |
The weight premium is part of baseFare. The driver-rating bonus is applied afterward. Package damage reduces the resulting estimated fare at completion.
When loading completes, the GE extension sends the selected mass to:
lua/vehicle/extensions/taxiDriverCargo.lua
The lazy-loaded Vehicle Lua extension creates and maintains a cargo mass node coupled to the active vehicle. The additional mass affects acceleration, braking, handling, and energy consumption through normal BeamNG physics. It unloads after the mass is cleared; Vehicle Config temporarily removes the mass and reapplies it after the replacement vehicle VM settles.
During loading and unloading, TaxiDriver also attempts to open and close a compatible trunk, tailgate, or cargo-door trigger. This is best-effort because trigger names vary by vehicle; the loader and delivery lifecycle never depend on successful animation.
Mass is cleared when the delivery finishes or is cancelled, when the vehicle is reset, when the player goes offline, on mission end, during deserialization, and when either extension unloads.
searching
→ toPickup route to cargo
→ boarding cargo loading loader
→ toDestination physical mass active
→ alighting cargo unloading loader
→ complete payout and delivery rating
→ searching
Deliveries do not use passenger chat, Calmness, pickup lateness, speeding penalties, harsh-manoeuvre penalties, passenger stress, scheduled stops, or passenger fuel-stop dissatisfaction.
Only confirmed vehicle-damage increases can damage cargo. An impact episode accumulates its vehicle damage delta and maps it to 1–35% package damage using an exponential severity curve.
severity = 1 - exp(-vehicleDamageDelta / 4500)
impact damage = 1 + (35 - 1) × severity
Repeated telemetry samples from the same impact update one event instead of creating duplicate charges. Package damage is cumulative and capped at 100%.
final payout = estimated fare × (1 - cargoDamagePercent / 100)
Damage below 5% preserves a five-star result. At and above the threshold, the result falls proportionally toward one star:
rating = clamp(5 - cargoDamagePercent / 100 × 4, 1, 5)
The review is stored in the same persistent history as passenger rides with a delivery outcome marker.
Offers and active trips expose:
isDelivery
cargoWeightKg
cargoWeightBonusPercent
cargoWeightBonusAmount
cargoDamagePercent
finalFare
rideRating
deliveryOnboard
The dispatcher card, active trip dashboard, minimized dashboard, loading screens, event history, completion screen, offline confirmation, and profile review list all have delivery-specific presentation.
TaxiDriver Reloaded documentation · Version 4.0.3 · BeamNG.drive 0.39
- Installation and Quick Start
- Gameplay and Ride Lifecycle
- Order Generation and Routing
- Passengers, Fares and Ratings
- Cargo Deliveries
- Realistic Refueling
- Driver Profile and Persistence
- Settings, Localization and Audio
- Navigation and Map Controls
- External Web UI
- Driver UI Design
- AI Driver Engine 0.39
- AI Driver and Recovery
- Fleet Operations
- Troubleshooting and Compatibility