public static Vehicle GetNearbyVehicle() { Vehicle[] nearbyVehicles = PedsManager.LocalPlayer().GetNearbyVehicles(1); //Get one nearby vehicle if (nearbyVehicles.Length == 0) { return(null); } return(nearbyVehicles[0]); }
public AbstractAmbientVehicleEvent GetRandomOffenceEvent() { if (false == this.Timer.CanCreateEvent()) { Logger.LogTrivial("Can't create event: TIMER"); return(null); } if (false == this.CanCreateAnEvent()) { Logger.LogTrivial("Can't create event: To many | Callout running | In pursuit | Is performing pullover"); return(null); } if (Tools.HavingChance(10, 100)) { Logger.LogTrivial("Can't create event: Bad Chance"); GameFiber.Sleep(3000); return(null); } this.HandleCleanUsedVehicles(); AbstractAmbientVehicleEvent offenceEvent = null; int loopSecurity = 3; int loopCounter = 0; while (null == offenceEvent && loopCounter < loopSecurity) { Vehicle[] vehicles = VehicleManager.Instance.GetNearbyVehicles(10); foreach (Vehicle vehicle in vehicles) { if (vehicle.Exists()) { if (vehicle.HasDriver && vehicle.Driver.Exists() && false == vehicle.IsPoliceVehicle && false == vehicle.HasSiren && vehicle.Driver != PedsManager.LocalPlayer() && false == vehicle.IsBoat && false == vehicle.IsBike && false == vehicle.IsBicycle && false == this.PlateAlreadyUsed.Contains(vehicle.LicensePlate)) { this.PlateAlreadyUsed.Add(vehicle.LicensePlate); offenceEvent = this.GenerateRandomOffenceInstance(vehicle); this.Timer.HandleTimer(); break; //Bad but have no choice in Foreach ;) } } } loopSecurity++; GameFiber.Sleep(4000); } this.CurrentsEvents.Add(offenceEvent); return(offenceEvent); }
public static float Distance(Vector3 position) { return(Vector3.Distance(PedsManager.LocalPlayer().Position, position)); }