private void StartScenario()
        {
            _scenario = new ScenarioHelper(DetectivePed, ScenarioHelper.Scenario.CODE_HUMAN_POLICE_INVESTIGATE);
            _scenario.StartLooped();

            GameFiber.Sleep(1500);
            var sw = new Stopwatch();

            sw.Start();
            var ran = Fiskey111Common.Rand.RandomNumber(10, 25);

            while (sw.Elapsed.Seconds < ran)
            {
                GameFiber.Yield();
            }
            _scenario.Stop();

            DetectivePed.Tasks.GoToOffsetFromEntity(Game.LocalPlayer.Character, 3f, 10f, 4f);
            while (DetectivePed.Position.DistanceTo(Game.LocalPlayer.Character) > 3.5f)
            {
                GameFiber.Yield();
            }

            "Scenario ended".AddLog();

            _processHost.SwapProcesses(StartScenario, AwaitPlayerTalk);
        }
        private void AwaitFinish()
        {
            while (!Conversation.HasEnded)
            {
                GameFiber.Yield();
            }

            _scenario = new ScenarioHelper(DetectivePed, ScenarioHelper.Scenario.CODE_HUMAN_POLICE_INVESTIGATE);
            _scenario.StartLooped();

            while (Game.LocalPlayer.Character.Position.DistanceTo(DetectivePed) < 30f)
            {
                GameFiber.Yield();
            }

            this.End();
        }