@@ -4439,11 +4439,23 @@ bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const
44394439 pModelSettings.SetDoorSound (varValue);
44404440 break ;
44414441 case eVehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID:
4442+ {
4443+ // Using SPC_ sound banks other than SPC_EA causes a crash
4444+ if (varValue > 410 )
4445+ throw std::invalid_argument (" Invalid engine-off-sound-bank-id value" );
4446+
44424447 pModelSettings.SetEngineOffSoundBankID (varValue);
44434448 break ;
4449+ }
44444450 case eVehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID:
4451+ {
4452+ // Using SPC_ sound banks other than SPC_EA causes a crash
4453+ if (varValue > 410 )
4454+ throw std::invalid_argument (" Invalid engine-on-sound-bank-id value" );
4455+
44454456 pModelSettings.SetEngineOnSoundBankID (varValue);
44464457 break ;
4458+ }
44474459 case eVehicleAudioSettingProperty::HORN_HIGH:
44484460 pModelSettings.SetHornHign (varValue);
44494461 break ;
@@ -4502,11 +4514,23 @@ bool CLuaVehicleDefs::SetVehicleAudioSetting(CClientVehicle* pVehicle, const eVe
45024514 pModelSettings.SetDoorSound (varValue);
45034515 break ;
45044516 case eVehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID:
4517+ {
4518+ // Using SPC_ sound banks other than SPC_EA causes a crash
4519+ if (varValue > 410 )
4520+ throw std::invalid_argument (" Invalid engine-off-sound-bank-id value" );
4521+
45054522 pModelSettings.SetEngineOffSoundBankID (varValue);
45064523 break ;
4524+ }
45074525 case eVehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID:
4526+ {
4527+ // Using SPC_ sound banks other than SPC_EA causes a crash
4528+ if (varValue > 410 )
4529+ throw std::invalid_argument (" Invalid engine-on-sound-bank-id value" );
4530+
45084531 pModelSettings.SetEngineOnSoundBankID (varValue);
45094532 break ;
4533+ }
45104534 case eVehicleAudioSettingProperty::HORN_HIGH:
45114535 pModelSettings.SetHornHign (varValue);
45124536 break ;
0 commit comments