internal async void RunTickAsync() { try { if (Game.PlayerPed.IsSittingInELSVehicle() && (Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Driver) == Game.PlayerPed || Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Passenger) == Game.PlayerPed)) { if (vehicleList.MakeSureItExists(API.VehToNet(Game.PlayerPed.CurrentVehicle.Handle), vehicle: out ELSVehicle _currentVehicle)) { _currentVehicle?.RunTick(); vehicleList.RunExternalTick(_currentVehicle); Game.PlayerPed.CurrentVehicle.SetExistOnAllMachines(true); } else { makenetworked(Game.PlayerPed.CurrentVehicle); //var pos = Game.PlayerPed.CurrentVehicle.Position; //var rot = Game.PlayerPed.CurrentVehicle.Rotation; //var model = Game.PlayerPed.CurrentVehicle.Model; //Game.PlayerPed.CurrentVehicle.Delete(); //var veh = await World.CreateVehicle(model, pos, rot.Z); //Game.PlayerPed.SetIntoVehicle(veh,VehicleSeat.Driver); //vehicleList.Add(new ELSVehicle(Game.PlayerPed.CurrentVehicle.Handle)); } if (Game.PlayerPed.IsInVehicle() && (Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Driver) == Game.PlayerPed) && (VehicleClass.Boats != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Trains != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Planes != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Helicopters != Game.PlayerPed.CurrentVehicle.ClassType)) { makenetworked(Game.PlayerPed.CurrentVehicle); Indicator.RunAsync(Game.PlayerPed.CurrentVehicle); } #if DEBUG if (Game.IsControlJustPressed(0, Control.Cover)) { FullSync.FullSyncManager.SendDataBroadcast( _currentVehicle.GetData(), Game.Player.ServerId ); CitizenFX.Core.UI.Screen.ShowNotification("FullSync™ ran"); CitizenFX.Core.Debug.WriteLine("FullSync™ ran"); } Debug.DebugText(); #endif } else { vehicleList.RunExternalTick(); } } catch (Exception e) { CitizenFX.Core.Debug.WriteLine($"VehicleManager Error: {e.Message}"); } //TODO Chnage how I check for the panic alarm }
internal async void RunTickAsync() { try { if (Game.PlayerPed.IsSittingInELSVehicle() && (Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Driver) == Game.PlayerPed || Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Passenger) == Game.PlayerPed)) { if (vehicleList.ContainsKey(Game.PlayerPed.CurrentVehicle.GetNetworkId())) { Utils.DebugWriteLine("Vehicle is in the list running ticks"); ELSVehicle _currentVehicle = vehicleList[Game.PlayerPed.CurrentVehicle.GetNetworkId()]; _currentVehicle?.RunTick(); vehicleList.RunExternalTick(_currentVehicle); Game.PlayerPed.CurrentVehicle.SetExistOnAllMachines(true); } else { if (!vehicleList.VehRegAttempts.ContainsKey(Game.PlayerPed.CurrentVehicle.GetNetworkId()) || Game.GameTime - vehicleList.VehRegAttempts[Game.PlayerPed.CurrentVehicle.GetNetworkId()].Item2 >= 15000 && vehicleList.VehRegAttempts[Game.PlayerPed.CurrentVehicle.GetNetworkId()].Item1 < 5) { if (vehicleList.MakeSureItExists(API.VehToNet(Game.PlayerPed.CurrentVehicle.Handle), vehicle: out ELSVehicle _currentVehicle)) { _currentVehicle?.RunTick(); vehicleList.RunExternalTick(_currentVehicle); Game.PlayerPed.CurrentVehicle.SetExistOnAllMachines(true); } else { vehicleList.RunExternalTick(); } } else { vehicleList.RunExternalTick(); } } if (Game.PlayerPed.IsInVehicle() && (Game.PlayerPed.CurrentVehicle.GetPedOnSeat(VehicleSeat.Driver) == Game.PlayerPed) && (VehicleClass.Boats != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Trains != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Planes != Game.PlayerPed.CurrentVehicle.ClassType || VehicleClass.Helicopters != Game.PlayerPed.CurrentVehicle.ClassType)) { if (Game.PlayerPed.CurrentVehicle.GetNetworkId() == 0) { makenetworked(Game.PlayerPed.CurrentVehicle); } Indicator.RunAsync(Game.PlayerPed.CurrentVehicle); } #if DEBUG //if (Game.IsControlJustPressed(0, Control.Cover)) //{ // FullSync.FullSyncManager.SendDataBroadcast( // _currentVehicle.GetData(), // Game.Player.ServerId // ); // CitizenFX.Core.UI.Screen.ShowNotification("FullSync™ ran"); // CitizenFX.Core.Debug.WriteLine("FullSync™ ran"); //} //Debug.DebugText(); #endif } else { vehicleList.RunExternalTick(); } } catch (Exception e) { CitizenFX.Core.Debug.WriteLine($"VehicleManager Error: {e.Message} \n Stacktrace: {e.StackTrace}"); } //TODO Chnage how I check for the panic alarm }