public override bool OnCalloutAccepted() { /* Archival * 2020/6/30 09:23 - Add logging to flags * 2020/6/30 09:28 - Add line number logging to locate error */ Game.LogTrivial("[Dangerous Driver/HotCallouts] Accepted Instance > Dangerous Driver"); Game.LogTrivialDebug("LINE NUMBER: 52 / Used with source repository if pushed."); suspectCar = new Vehicle(spawn); suspectCar.IsPersistent = true; Game.LogTrivial("[Dangerous Driver/HotCallouts] Spawned suspectCar (" + suspectCar.Model.Name + ") and set to Persistent"); Game.LogTrivialDebug("LINE NUMBER: 56 / Used with source repository if pushed."); suspect = suspectCar.CreateRandomDriver(); suspect.IsPersistent = true; suspect.BlockPermanentEvents = true; Game.LogTrivial($"[Dangerous Driver/HotCallouts] Spawned suspect ({suspect.Model.Name}) and set to Persistent & Block Events"); Game.LogTrivialDebug("LINE NUMBER: 63 / Used with source repository if pushed."); blip = suspect.AttachBlip(); blip.IsFriendly = false; blip.IsRouteEnabled = true; blip.Name = "Reckless Driver"; Game.LogTrivial("[Dangerous Driver/HotCallouts] Spawned blip and renamed to Reckless Driver"); Game.LogTrivialDebug("LINE NUMBER: 70 / Used with source repository if pushed."); situations = MathHelper.GetRandomInteger(0, 3); string message; string audioMessage; switch (situations) { default: case 0: Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 0: Emergency with 15f speed"); suspect.Tasks.CruiseWithVehicle(15f, VehicleDrivingFlags.Emergency); message = "driving all over the road, but with normal speed"; audioMessage = "CRIME_RECKLESS_DRIVER"; break; case 1: Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 1: Emergency with 30f speed"); suspect.Tasks.CruiseWithVehicle(30f, VehicleDrivingFlags.Emergency); message = "driving all over the road and overspeed"; audioMessage = "CRIME_SPEEDING_FELONY"; break; case 2: Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 2: Normal with 45f speed"); suspect.Tasks.CruiseWithVehicle(45f, VehicleDrivingFlags.Normal); message = "overspeeding"; audioMessage = "CRIME_SPEEDING_FELONY"; break; case 3: Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 3: Alcohol intoxication"); if (Integreate.TrafficPolicer) { Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 3 Created: Traffic Policer Exists"); suspect.Tasks.CruiseWithVehicle(50f, VehicleDrivingFlags.Emergency); Traffic_Policer.API.Functions.SetPedAlcoholLevel(suspect, Traffic_Policer.Impairment_Tests.AlcoholLevels.OverLimit); audioMessage = "CRIME_RECKLESS_DRIVER"; message = "driving under the influence of alcohol"; break; } else { Game.LogTrivial("[Dangerous Driver/HotCallouts] Flag 3 Aborted: Traffic Policer does not exists"); Game.LogTrivial("[Dangerous Driver/HotCallouts] Creating Flag 2"); goto case 2; } } ScannerHelper.ReportEvent(audioMessage); ScannerHelper.DisplayDispatchNote("We received a 911 report of a vehicle " + message + ". Respond with Code 3."); Game.LogTrivial("[Dangerous Driver/HotCallouts] Done > Dangerous Driver"); return(base.OnCalloutAccepted()); }