public Siren(Vehicle vehicle) { _vehicle = vehicle; Function.Call(Hash.DISABLE_VEHICLE_IMPACT_EXPLOSION_ACTIVATION, _vehicle, true); foreach (VCF.vcfroot vcfroot in VCF.ELSVehicle) { if (vcfroot.FileName == _vehicle.DisplayName) { _vcf = vcfroot; } } if (_vcf == null) { throw new Exception($"Their is no VCF file for this vehicle: {_vehicle.DisplayName}"); } _tones = new Tones { horn = new Tone(_vcf.SOUNDS.MainHorn.AudioString, _vehicle, ToneType.Horn), tone1 = new Tone(_vcf.SOUNDS.SrnTone1.AudioString, _vehicle, ToneType.SrnTon1), tone2 = new Tone(_vcf.SOUNDS.SrnTone2.AudioString, _vehicle, ToneType.SrnTon2), tone3 = new Tone(_vcf.SOUNDS.SrnTone3.AudioString, _vehicle, ToneType.SrnTon3), tone4 = new Tone(_vcf.SOUNDS.SrnTone4.AudioString, _vehicle, ToneType.SrnTon4) }; dual_siren = false; _mainSiren = new MainSiren(_tones); }
public Siren(Vehicle vehicle, VCF.vcfroot vcfroot, [Optional] IDictionary <string, object> data) { _vcf = vcfroot; _vehicle = vehicle; Function.Call(Hash.DISABLE_VEHICLE_IMPACT_EXPLOSION_ACTIVATION, _vehicle, true); #if DEBUG CitizenFX.Core.Debug.WriteLine(_vehicle.DisplayName); #endif _tones = new Tones { horn = new Tone(vcfroot.SOUNDS.MainHorn.AudioString, _vehicle, ToneType.Horn), tone1 = new Tone(vcfroot.SOUNDS.SrnTone1.AudioString, _vehicle, ToneType.SrnTon1), tone2 = new Tone(vcfroot.SOUNDS.SrnTone2.AudioString, _vehicle, ToneType.SrnTon2), tone3 = new Tone(vcfroot.SOUNDS.SrnTone3.AudioString, _vehicle, ToneType.SrnTon3), tone4 = new Tone(vcfroot.SOUNDS.SrnTone4.AudioString, _vehicle, ToneType.SrnTon4), panicAlarm = new Tone(vcfroot.SOUNDS.PanicMde.AudioString, _vehicle, ToneType.SrnPnic) }; dual_siren = false; _mainSiren = new MainSiren(ref _tones); if (data != null) { SetData(data); } }
public ELSVehicle(int handle, IDictionary <string, object> data) : base(handle) { _vehicle = new Vehicle(handle); ModelLoaded(); if (_vehicle.DisplayName == "CARNOTFOUND" || _vehicle.GetNetworkId() == 0) { throw new Exception("Vehicle creation failure."); } else if (VCF.ELSVehicle.Exists(item => item.Item2.FileName == _vehicle.DisplayName)) { _vcf = VCF.ELSVehicle.Find(item => item.Item2.FileName == _vehicle.DisplayName).Item2; } if (data.ContainsKey("Siren")) { _siren = new Siren.Siren(_vehicle, _vcf, (IDictionary <string, object>)data["Siren"]); } else { //_vehicle.SetExistOnAllMachines(true); #if DEBUG CitizenFX.Core.Debug.WriteLine(CitizenFX.Core.Native.API.IsEntityAMissionEntity(_vehicle.Handle).ToString()); CitizenFX.Core.Debug.WriteLine($"registering netid:{_vehicle.GetNetworkId()}\n" + $"Does entity belong to this script:{CitizenFX.Core.Native.API.DoesEntityBelongToThisScript(_vehicle.Handle, false)}"); #endif _siren = new Siren.Siren(_vehicle, _vcf); } #if DEBUG CitizenFX.Core.Debug.WriteLine($"created vehicle"); #endif }