API ReferenceGE Extensionscareermodules
Vehicle Deletion Service
M.dependencies = {'career_career'}
Dependencies
M.dependencies = {'career_career'}Deferred vehicle deletion system for career mode. Flags vehicles for removal when the camera is far enough away and looking away, preventing visible pop-out.
Public API
| Function | Signature | Returns | Description |
|---|---|---|---|
M.flagForDeletion | (vehId, callback) | nil | Marks a vehicle for deferred deletion; callback fires on delete |
M.clearFlags | (vehId) | nil | Removes deletion flag from a vehicle |
M.deleteFlaggedVehicles | () | nil | Immediately deletes all flagged vehicles |
Hooks (Lifecycle)
| Hook | Purpose |
|---|---|
M.onExtensionLoaded | Checks career is active |
M.onAnyMissionChanged | Deletes flagged vehicles when a mission starts |
M.onClientStartMission | Clears all flags on mission load |
M.onVehicleDestroyed | Clears flags for destroyed vehicles |
Dependencies
| Module | Purpose |
|---|---|
career_career | Career active check |
Deletion Conditions
A flagged vehicle is deleted when both conditions are met:
- Camera distance > 100m from the vehicle
- Camera forward direction dot product with camera-to-vehicle vector is < 0 (looking away)
The onUpdate hook is dynamically registered/unregistered based on whether any vehicles are flagged, avoiding per-frame cost when idle.
Usage Examples
-- Flag a vehicle for deletion with a callback
career_modules_vehicleDeletionService.flagForDeletion(vehId, function()
log("I", "cleanup", "Vehicle deleted out of sight")
end)
-- Cancel scheduled deletion
career_modules_vehicleDeletionService.clearFlags(vehId)
-- Force-delete all flagged vehicles immediately
career_modules_vehicleDeletionService.deleteFlaggedVehicles()Additional Exports
Values/Properties
| Export | Description |
|---|---|
M.onUpdate | Value: nil |
M.onUpdate | Value: onUpdate |