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(); }