public override void Update() { try { switch (m_BehavPath) { default: //Shoot each other and run #region default if (!m_HasEventStarted) { m_TimeBeforeEventTimer += Game.FrameTime; } if (m_TimeBeforeEventTimer >= Settings.ShootingWanderTime && !m_HasEventStarted) //Stop wander start shoot { m_HasEventStarted = true; ResourceManager.RemoveBlip(m_Blip); m_Blip = ResourceManager.CreatBlip(m_Peds[0].Position.Around(2), 20.0f); m_Blip.Alpha = 0.5f; m_Blip.Color = System.Drawing.Color.Yellow; for (int i = 0; i < m_Peds.Length; i++) { m_Peds[i].Inventory.GiveNewWeapon(WeaponHash.Pistol, 500, true); if (i == 0) { m_Peds[i].Tasks.FireWeaponAt(m_Peds[1], Random.Next(5000, 10000), FiringPattern.BurstFire); } else { m_Peds[i].Tasks.FireWeaponAt(m_Peds[0], Random.Next(5000, 10000), FiringPattern.BurstFire); } } GameFiber.StartNew(delegate { GameFiber.Sleep(15000); m_Pursuit = Functions.CreatePursuit(); foreach (Ped p in m_Peds) { if (p.Exists()) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; } } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); GameFiber.Hibernate(); }); } if (m_HasEventStarted) { m_TimeoutTimer += Game.FrameTime; if (m_TimeoutTimer >= m_TimeoutTime && Game.LocalPlayer.Character.DistanceTo(m_Peds[0].Position) > 50 && AllPedsDead()) { End(); } } break; #endregion case 1: //Shoot at cop and run #region 1 if (!m_HasEventStarted) { m_TimeBeforeEventTimer += Game.FrameTime; } if (m_TimeBeforeEventTimer >= Settings.ShootingWanderTime && !m_HasEventStarted) //Stop wander start shoot { m_HasEventStarted = true; ResourceManager.RemoveBlip(m_Blip); m_Blip = ResourceManager.CreatBlip(m_Peds[0].Position.Around(2), 20.0f); m_Blip.Alpha = 0.5f; m_Blip.Color = System.Drawing.Color.Yellow; for (int i = 0; i < m_Peds.Length; i++) { m_Peds[i].Inventory.GiveNewWeapon(WeaponHash.Pistol, 12, true); m_Peds[i].Tasks.FireWeaponAt(Game.LocalPlayer.Character, Random.Next(5000, 10000), FiringPattern.BurstFirePistol); } GameFiber.StartNew(delegate { GameFiber.Sleep(15000); m_Pursuit = Functions.CreatePursuit(); foreach (Ped p in m_Peds) { if (p.Exists()) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; } } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); GameFiber.Hibernate(); }); } if (m_HasEventStarted) { m_TimeoutTimer += Game.FrameTime; if (m_TimeoutTimer >= m_TimeoutTime && Game.LocalPlayer.Character.DistanceTo(m_Peds[0].Position) > 50 && AllPedsDead()) { End(); } } #endregion break; case 2: //Run #region 2 if (!m_HasEventStarted) { m_TimeBeforeEventTimer += Game.FrameTime; } if (m_TimeBeforeEventTimer >= Settings.ShootingWanderTime && !m_HasEventStarted && Game.LocalPlayer.Character.DistanceTo(m_Peds[0].Position) < 50) //Stop wander start shoot { m_HasEventStarted = true; ResourceManager.RemoveBlip(m_Blip); m_Blip = ResourceManager.CreatBlip(m_Peds[0].Position.Around(2), 20.0f); m_Blip.Alpha = 0.5f; m_Blip.Color = System.Drawing.Color.Yellow; for (int i = 0; i < m_Peds.Length; i++) { m_Peds[i].Inventory.GiveNewWeapon(WeaponHash.AssaultRifle, 12, true); } m_Pursuit = Functions.CreatePursuit(); foreach (Ped p in m_Peds) { if (p.Exists()) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; } } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); GameFiber.Hibernate(); } if (m_HasEventStarted) { m_TimeoutTimer += Game.FrameTime; if (m_TimeoutTimer >= m_TimeoutTime && Game.LocalPlayer.Character.DistanceTo(m_Peds[0].Position) > 50 && AllPedsDead()) { End(); } } #endregion break; } if (Game.LocalPlayer.Character.DistanceTo(m_Peds[0]) > 400) { End(); } } catch (Exception e) { Game.LogTrivial("[ee] ERROR: " + e); Game.DisplayNotification("Epic events encounterd an error, please file a bug report with your ragepluginhook.log"); End(); } }
public override void Update() { try { base.Update(); int distance = 30; if (Game.LocalPlayer.LastVehicle.Exists()) { distance = Game.LocalPlayer.LastVehicle.IsSirenOn ? 30 : 20; } switch (m_BehavPath) { //TODO: Change distance on light on. default: //Run on too close if (!m_InPursuit && Game.LocalPlayer.Character.DistanceTo(Location.DrugDealerLocation[m_Location][0].Posistion) < distance) { m_InPursuit = true; m_Pursuit = Functions.CreatePursuit(); foreach (Ped p in m_Peds) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); } break; case 1: //Run and shoot if (!m_InPursuit && Game.LocalPlayer.Character.DistanceTo(Location.DrugDealerLocation[m_Location][0].Posistion) < distance) { m_Pursuit = Functions.CreatePursuit(); for (int i = 0; i < 2; i++) { Functions.AddPedToPursuit(m_Pursuit, m_Peds[i]); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(m_Peds[i]); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); Functions.PlayScannerAudioUsingPosition("OFFICERS_REPORT CRIME_RESIST_ARREST IN_OR_ON_POSITION", Game.LocalPlayer.Character.Position); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "Show me in purstuit of 4 individuals, possibly armed."); Functions.PlayScannerAudioUsingPosition("ASSISTANCE_REQUIRED IN_OR_ON_POSITION", Game.LocalPlayer.Character.Position); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "Copy that, sending backup!"); for (int i = 2; i < 4; i++) { m_Peds[i].DropsCurrentWeaponOnDeath = true; m_Peds[i].Inventory.GiveNewWeapon(WeaponHash.Pistol, 50, true); m_Peds[i].Tasks.FireWeaponAt(Game.LocalPlayer.Character, int.MaxValue, FiringPattern.BurstFirePistol); } m_InPursuit = true; } break; case 2: //Dont do anything break; } } catch (Exception e) { Game.LogTrivial("[ee] ERROR: " + e); Game.DisplayNotification("Epic events encounterd an error, please file a bug report with your ragepluginhook.log"); End(); } }
public override void Update() { try { base.Update(); foreach (Vehicle v in m_Vehicles) { v.AlarmTimeLeft = TimeSpan.FromHours(1) + TimeSpan.FromMilliseconds(Random.Next(0, 500)); } if (Game.LocalPlayer.LastVehicle.Exists()) { m_Distance = Game.LocalPlayer.LastVehicle.IsSirenOn ? 30 : 20; } if (m_PedsFrozen && Game.IsKeyDownRightNow(System.Windows.Forms.Keys.E) && Game.LocalPlayer.Character.DistanceTo(Location.HomlessLocations[m_Location][0].Posistion) < 10) { m_PedsFrozen = false; foreach (Ped p in m_Peds) { p.IsPositionFrozen = false; p.Tasks.ClearImmediately(); } } if (Game.LocalPlayer.Character.Position.DistanceTo(Location.HomlessLocations[m_Location][0].Posistion) > 100) { End(); } switch (m_BehavPath) { default: //Run if (!m_InPursuit && Game.LocalPlayer.Character.DistanceTo(Location.HomlessLocations[m_Location][0].Posistion) < m_Distance) { m_InPursuit = true; m_Pursuit = Functions.CreatePursuit(); m_Peds[2].IsPositionFrozen = false; foreach (Ped p in m_Peds) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; attri.CanUseCars = false; } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); } break; case 1: //Stay break; case 2: //Some will run if (!m_InPursuit && Game.LocalPlayer.Character.DistanceTo(Location.HomlessLocations[m_Location][0].Posistion) < m_Distance) { m_InPursuit = true; m_Pursuit = Functions.CreatePursuit(); foreach (Ped p in m_Peds) { if (Random.Next(0, 4) == 2) { Functions.AddPedToPursuit(m_Pursuit, p); PedPursuitAttributes attri = Functions.GetPedPursuitAttributes(p); attri.HandlingAbility = (float)Random.NextDouble() + 0.5f; attri.CanUseCars = false; } } Functions.SetPursuitCopsCanJoin(m_Pursuit, true); Functions.SetPursuitTacticsEnabled(m_Pursuit, true); Functions.SetPursuitIsActiveForPlayer(m_Pursuit, true); } break; } } catch (Exception e) { Game.LogTrivial("[ee] ERROR: " + e); Game.DisplayNotification("Epic events encounterd an error, please file a bug report with your ragepluginhook.log"); End(); } }