mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-08 01:27:51 -05:00
1423 lines
31 KiB
Plaintext
1423 lines
31 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: _audio_vehicles.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 46
|
|
* Decompile Time: 557 ms
|
|
* Timestamp: 4/22/2024 2:03:53 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
vm_init()
|
|
{
|
|
if(!isdefined(level._audio))
|
|
{
|
|
level._audio = spawnstruct();
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh))
|
|
{
|
|
level._audio.veh = spawnstruct();
|
|
level._audio.veh.minrate = 0.1;
|
|
level._audio.veh.defrate = 0.5;
|
|
level._audio.veh.defsmooth = 0.1;
|
|
level._audio.veh.minpitch = 0.5;
|
|
level._audio.veh.maxpitch = 1.5;
|
|
level._audio.veh.fadein_time = 2;
|
|
level._audio.veh.callbacks = [];
|
|
level._audio.veh.print_speed = 0;
|
|
level._audio.veh.print_tilt = 0;
|
|
level._audio.veh.print_yaw = 0;
|
|
level._audio.veh.print_roll = 0;
|
|
level._audio.veh.print_altitude = 0;
|
|
level._audio.veh.print_throttle = 0;
|
|
level._audio.veh.presets = [];
|
|
level._audio.veh.maps = [];
|
|
level._audio.veh.instances = [];
|
|
level._audio.veh.ducked_instances = [];
|
|
level._audio.veh.duck_starts = [];
|
|
level._audio.veh.duck_stops = [];
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
vm_register_custom_callback(param_00,param_01)
|
|
{
|
|
level._audio.veh.callbacks[param_00] = param_01;
|
|
}
|
|
|
|
//Function Number: 3
|
|
vm_start_preset(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
wait(0.25);
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
vm_stop_preset_instance(param_00);
|
|
}
|
|
|
|
if(isdefined(param_04))
|
|
{
|
|
thread soundscripts\_audio::deprecated_aud_play_linked_sound(param_04,param_02,undefined,undefined,param_05);
|
|
}
|
|
|
|
level._audio.veh.instances[param_00] = [];
|
|
level._audio.veh.instances[param_00]["entity"] = param_02;
|
|
if(!isdefined(level._audio.veh.presets[param_01]))
|
|
{
|
|
var_06 = [];
|
|
var_06 = soundscripts\_audio_presets_vehicles::audio_presets_vehicles(param_01,var_06);
|
|
level._audio.veh.presets[param_01] = var_06;
|
|
}
|
|
|
|
level._audio.veh.instances[param_00]["entity"] = param_02;
|
|
foreach(var_13, var_08 in level._audio.veh.presets[param_01])
|
|
{
|
|
var_09 = spawnstruct();
|
|
var_09.instance_name = param_00;
|
|
var_09.vehicle = param_02;
|
|
switch(var_13)
|
|
{
|
|
case "tilt":
|
|
var_09.type = "tilt";
|
|
var_09.callback = ::vmx_get_tilt;
|
|
var_09.min = -45;
|
|
var_09.max = 45;
|
|
break;
|
|
|
|
case "yaw":
|
|
var_09.type = "yaw";
|
|
var_09.callback = ::vmx_get_yaw;
|
|
var_09.min = 0;
|
|
var_09.max = 360;
|
|
break;
|
|
|
|
case "roll":
|
|
var_09.type = "roll";
|
|
var_09.callback = ::vmx_get_roll;
|
|
var_09.min = -45;
|
|
var_09.max = 45;
|
|
break;
|
|
|
|
case "speed":
|
|
var_09.type = "speed";
|
|
var_09.callback = ::vmx_get_speed;
|
|
var_09.min = 0;
|
|
var_09.max = 100;
|
|
break;
|
|
|
|
case "altitude":
|
|
var_09.type = "altitude";
|
|
var_09.callback = ::vmx_get_altitude;
|
|
var_09.min = 0;
|
|
var_09.max = 100;
|
|
break;
|
|
|
|
case "start_stop":
|
|
var_09.type = "start_stop";
|
|
var_09.callback = ::vmx_get_throttle;
|
|
var_09.min = 0;
|
|
var_09.max = 1;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
var_09.smoothness = level._audio.veh.defsmooth;
|
|
var_09.smooth_up = undefined;
|
|
var_09.smooth_down = undefined;
|
|
var_09.updaterate = level._audio.veh.defrate;
|
|
var_09.alias_data = [];
|
|
var_09.fadein = 0.5;
|
|
if(isdefined(param_03))
|
|
{
|
|
var_09.fadein = param_03;
|
|
}
|
|
|
|
foreach(var_0B in var_08)
|
|
{
|
|
switch(var_0B[0])
|
|
{
|
|
case "updaterate":
|
|
var_09.updaterate = var_0B[1];
|
|
break;
|
|
|
|
case "smoothness":
|
|
var_09.smoothness = var_0B[1];
|
|
break;
|
|
|
|
case "smooth_up":
|
|
var_09.smooth_up = var_0B[1];
|
|
break;
|
|
|
|
case "smooth_down":
|
|
var_09.smooth_down = var_0B[1];
|
|
break;
|
|
|
|
case "heightmax":
|
|
var_09.heightmax = var_0B[1];
|
|
break;
|
|
|
|
case "callback":
|
|
var_0C = var_0B[1];
|
|
var_09.custom_callback = level._audio.veh.callbacks[var_0C];
|
|
break;
|
|
|
|
case "range":
|
|
var_09.min = min(var_0B[1],var_0B[2]);
|
|
var_09.max = max(var_0B[1],var_0B[2]);
|
|
break;
|
|
|
|
case "multiply_by_throttle":
|
|
var_09.multiply_by_throttle = 1;
|
|
break;
|
|
|
|
case "multiply_by_leftstick":
|
|
var_09.multiply_by_leftstick = 1;
|
|
break;
|
|
|
|
case "start":
|
|
var_09.start_alias_data = spawnstruct();
|
|
var_09.start_alias_data.name = var_0B[1];
|
|
for(var_0D = 2;var_0D < var_0B.size;var_0D++)
|
|
{
|
|
if(isarray(var_0B[var_0D]))
|
|
{
|
|
var_0E = var_0B[var_0D][0];
|
|
var_0F = var_0B[var_0D][1];
|
|
if(var_0E == "pitch")
|
|
{
|
|
var_09.start_alias_data.pitch_map_name = var_0F;
|
|
}
|
|
else if(var_0E == "volume")
|
|
{
|
|
var_09.start_alias_data.volume_map_name = var_0F;
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.maps[var_0F]))
|
|
{
|
|
var_10 = [];
|
|
var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10);
|
|
level._audio.veh.maps[var_0F] = var_10;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
level._audio.veh.duck_starts[param_00] = var_0B[var_0D];
|
|
}
|
|
break;
|
|
|
|
case "stop":
|
|
var_09.stop_alias_data = spawnstruct();
|
|
var_09.stop_alias_data.name = var_0B[1];
|
|
for(var_0D = 2;var_0D < var_0B.size;var_0D++)
|
|
{
|
|
if(isarray(var_0B[var_0D]))
|
|
{
|
|
var_0E = var_0B[var_0D][0];
|
|
var_0F = var_0B[var_0D][1];
|
|
if(var_0E == "pitch")
|
|
{
|
|
var_09.stop_alias_data.pitch_map_name = var_0F;
|
|
}
|
|
else if(var_0E == "volume")
|
|
{
|
|
var_09.stop_alias_data.volume_map_name = var_0F;
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.maps[var_0F]))
|
|
{
|
|
var_10 = [];
|
|
var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10);
|
|
level._audio.veh.maps[var_0F] = var_10;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
level._audio.veh.duck_stops[param_00] = var_0B[var_0D];
|
|
}
|
|
break;
|
|
|
|
case "throttle_input":
|
|
var_09.throttle_input = var_0B[1];
|
|
break;
|
|
|
|
case "on_threshold":
|
|
var_09.on_threshold = var_0B[1];
|
|
break;
|
|
|
|
case "off_threshold":
|
|
var_09.off_threshold = var_0B[1];
|
|
break;
|
|
|
|
case "oneshot_duck":
|
|
var_09.duck_amount = var_0B[1];
|
|
break;
|
|
|
|
case "oneshot_duck_time":
|
|
var_09.duck_time = var_0B[1];
|
|
break;
|
|
|
|
case "offset":
|
|
var_09.offset = var_0B[1];
|
|
break;
|
|
|
|
default:
|
|
var_11 = spawnstruct();
|
|
var_11.alias_name = var_0B[0];
|
|
for(var_0D = 1;var_0D < var_0B.size;var_0D++)
|
|
{
|
|
var_0F = var_0B[var_0D][1];
|
|
if(var_0B[var_0D][0] == "pitch")
|
|
{
|
|
var_11.pitch_map_name = var_0F;
|
|
}
|
|
else
|
|
{
|
|
var_11.vol_map_name = var_0F;
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.maps[var_0F]))
|
|
{
|
|
var_10 = [];
|
|
var_10 = soundscripts\_audio_presets_vehicles::audio_presets_vehicle_maps(var_0F,var_10);
|
|
level._audio.veh.maps[var_0F] = var_10;
|
|
}
|
|
}
|
|
|
|
var_09.alias_data[var_09.alias_data.size] = var_11;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_09.type == "start_stop")
|
|
{
|
|
thread vmx_do_start_stop_callback(var_09);
|
|
continue;
|
|
}
|
|
|
|
thread vmx_callback(var_09);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
vm_stop(param_00)
|
|
{
|
|
level notify("aud_veh_stop");
|
|
var_01 = 1;
|
|
if(isdefined(param_00))
|
|
{
|
|
var_01 = max(0.1,param_00);
|
|
}
|
|
|
|
foreach(var_03 in level._audio.veh.playing_presets)
|
|
{
|
|
if(var_03.size > 0)
|
|
{
|
|
foreach(var_05 in var_03)
|
|
{
|
|
thread soundscripts\_audio::aud_fade_out_and_delete(var_05,var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
level._audio.veh.playing_presets = [];
|
|
}
|
|
|
|
//Function Number: 5
|
|
vm_stop_preset_instance(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = max(0.01,param_01);
|
|
}
|
|
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
level notify("aud_veh_stop_" + param_00);
|
|
if(level._audio.veh.instances[param_00].size > 0)
|
|
{
|
|
foreach(var_05, var_04 in level._audio.veh.instances[param_00])
|
|
{
|
|
if(var_05 != "entity" && var_05 != "speed" && var_05 != "throttle")
|
|
{
|
|
var_04 scalevolume(0,var_02);
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(var_02 + 0.05);
|
|
if(level._audio.veh.instances[param_00].size > 0)
|
|
{
|
|
foreach(var_05, var_04 in level._audio.veh.instances[param_00])
|
|
{
|
|
if(var_05 != "entity" && var_05 != "speed" && var_05 != "throttle")
|
|
{
|
|
var_04 delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
level._audio.veh.instances[param_00] = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
vm_set_range(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(self.aud_overrides))
|
|
{
|
|
self.aud_overrides = [];
|
|
}
|
|
|
|
self.aud_overrides[param_00] = spawnstruct();
|
|
self.aud_overrides[param_00].min_range = param_01;
|
|
self.aud_overrides[param_00].max_range = param_02;
|
|
}
|
|
|
|
//Function Number: 7
|
|
vmx_init_oneshot_ents(param_00)
|
|
{
|
|
if(!isdefined(level._audio.veh.start_ents))
|
|
{
|
|
level._audio.veh.start_ents = [];
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.stop_ents))
|
|
{
|
|
level._audio.veh.stop_ents = [];
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.start_ent_count))
|
|
{
|
|
level._audio.veh.start_ent_count = [];
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.stop_ent_count))
|
|
{
|
|
level._audio.veh.stop_ent_count = [];
|
|
}
|
|
|
|
level._audio.veh.start_ents[param_00] = [];
|
|
level._audio.veh.start_ent_count[param_00] = 0;
|
|
level._audio.veh.stop_ents[param_00] = [];
|
|
level._audio.veh.stop_ent_count[param_00] = 0;
|
|
}
|
|
|
|
//Function Number: 8
|
|
vmx_get_need_to_duck(param_00)
|
|
{
|
|
var_01 = 0;
|
|
if(isdefined(level._audio.veh.duck_starts[param_00]) && level._audio.veh.duck_starts[param_00] && vmx_get_start_sound_playing(param_00))
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
|
|
if(isdefined(level._audio.veh.duck_stops[param_00]) && level._audio.veh.duck_stops[param_00] && vmx_get_stop_sound_playing(param_00))
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 9
|
|
vmx_get_start_sound_playing(param_00)
|
|
{
|
|
if(level._audio.veh.start_ents[param_00].size > 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 10
|
|
vmx_get_stop_sound_playing(param_00)
|
|
{
|
|
if(level._audio.veh.stop_ents[param_00].size > 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 11
|
|
vmx_scale_start_sound_pitch(param_00,param_01,param_02)
|
|
{
|
|
foreach(var_04 in level._audio.veh.start_ents[param_02])
|
|
{
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 setpitch(param_00,param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
vmx_scale_stop_sound_pitch(param_00,param_01,param_02)
|
|
{
|
|
foreach(var_04 in level._audio.veh.stop_ents[param_02])
|
|
{
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 setpitch(param_00,param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
vmx_scale_start_sound_volume(param_00,param_01,param_02)
|
|
{
|
|
foreach(var_04 in level._audio.veh.start_ents[param_02])
|
|
{
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 scalevolume(param_00,param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
vmx_scale_stop_sound_volume(param_00,param_01,param_02)
|
|
{
|
|
foreach(var_04 in level._audio.veh.stop_ents[param_02])
|
|
{
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 scalevolume(param_00,param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
vmx_play_start_sound(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = 0;
|
|
if(isdefined(param_03))
|
|
{
|
|
var_04 = param_03;
|
|
}
|
|
|
|
var_05 = spawn("script_origin",param_01.origin);
|
|
var_05 linkto(param_01,"tag_origin",(var_04,0,0),(0,0,0));
|
|
var_05.ref = level._audio.veh.start_ent_count[param_02];
|
|
var_05 playsound(param_00,"sounddone");
|
|
var_05 thread vmx_monitor_start_ent(param_02);
|
|
level._audio.veh.start_ents[param_02][var_05.ref] = var_05;
|
|
level._audio.veh.start_ent_count[param_02]++;
|
|
}
|
|
|
|
//Function Number: 16
|
|
vmx_play_stop_sound(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = 0;
|
|
if(isdefined(param_03))
|
|
{
|
|
var_04 = param_03;
|
|
}
|
|
|
|
var_05 = spawn("script_origin",param_01.origin);
|
|
var_05 linkto(param_01,"tag_origin",(var_04,0,0),(0,0,0));
|
|
var_05.ref = level._audio.veh.stop_ent_count[param_02];
|
|
var_05 playsound(param_00,"sounddone");
|
|
level._audio.veh.stop_ents[param_02][var_05.ref] = var_05;
|
|
level._audio.veh.stop_ent_count[param_02]++;
|
|
wait(0.05);
|
|
var_05 thread vmx_monitor_stop_ent(param_02);
|
|
}
|
|
|
|
//Function Number: 17
|
|
vmx_monitor_start_ent(param_00)
|
|
{
|
|
self endon("kill");
|
|
self waittill("sounddone");
|
|
level._audio.veh.start_ents[param_00][self.ref] = undefined;
|
|
if(isdefined(level._audio.veh.ducked_instances[param_00]))
|
|
{
|
|
level._audio.veh.ducked_instances[param_00] = undefined;
|
|
}
|
|
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 18
|
|
vmx_monitor_stop_ent(param_00)
|
|
{
|
|
self endon("kill");
|
|
self waittill("sounddone");
|
|
level._audio.veh.stop_ents[param_00][self.ref] = undefined;
|
|
if(isdefined(level._audio.veh.ducked_instances[param_00]))
|
|
{
|
|
level._audio.veh.ducked_instances[param_00] = undefined;
|
|
}
|
|
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 19
|
|
vmx_stop_stop_ent(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level._audio.veh.ducked_instances[param_02]))
|
|
{
|
|
level._audio.veh.ducked_instances[param_02] = undefined;
|
|
}
|
|
|
|
var_03 = 0.1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01;
|
|
}
|
|
|
|
level._audio.veh.stop_ents[param_02][param_00.ref] = undefined;
|
|
param_00 scalevolume(0,var_03 + 0.05);
|
|
param_00 notify("kill");
|
|
wait(var_03 + 0.05);
|
|
param_00 stopsounds();
|
|
wait(0.05);
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 20
|
|
vmx_stop_start_ent(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level._audio.veh.ducked_instances[param_02]))
|
|
{
|
|
level._audio.veh.ducked_instances[param_02] = undefined;
|
|
}
|
|
|
|
var_03 = 0.1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01;
|
|
}
|
|
|
|
level._audio.veh.start_ents[param_02][param_00.ref] = undefined;
|
|
param_00 scalevolume(0,var_03 + 0.05);
|
|
param_00 notify("kill");
|
|
wait(var_03 + 0.05);
|
|
param_00 stopsounds();
|
|
wait(0.05);
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 21
|
|
vmx_do_start_stop_callback(param_00)
|
|
{
|
|
var_01 = param_00.instance_name;
|
|
level endon("aud_veh_stop");
|
|
level endon("aud_veh_stop_" + var_01);
|
|
level._audio.veh.instances[var_01]["entity"] endon("death");
|
|
var_02 = 0;
|
|
var_03 = 0;
|
|
var_04 = -1;
|
|
var_05 = "off";
|
|
var_06 = param_00.smoothness;
|
|
var_07 = param_00.smooth_up;
|
|
var_08 = param_00.smooth_down;
|
|
var_09 = param_00.min;
|
|
var_0A = param_00.max;
|
|
var_0B = 0;
|
|
vmx_init_oneshot_ents(var_01);
|
|
var_0C = gettime();
|
|
for(;;)
|
|
{
|
|
var_0D = [[ param_00.callback ]](param_00);
|
|
var_0D = var_0D - param_00.min / param_00.max - param_00.min;
|
|
var_0D = clamp(var_0D,0,1);
|
|
var_0B = var_0D;
|
|
if(isdefined(var_07) && var_0D > var_02)
|
|
{
|
|
var_02 = var_02 + var_07 * var_0D - var_02;
|
|
}
|
|
else if(isdefined(var_08) && var_0D <= var_02)
|
|
{
|
|
var_02 = var_02 + var_08 * var_0D - var_02;
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_02 + var_06 * var_0D - var_02;
|
|
}
|
|
|
|
var_0E = var_02 - var_03;
|
|
var_03 = var_02;
|
|
var_0F = gettime();
|
|
var_10 = var_0F - var_0C;
|
|
var_11 = 0;
|
|
var_12 = 0;
|
|
if((var_0E >= param_00.on_threshold || var_0B >= 0.99) && var_05 == "off" && var_10 > 200)
|
|
{
|
|
var_0C = var_0F;
|
|
var_05 = "on";
|
|
var_11 = 1;
|
|
wait(0.05);
|
|
var_13 = level._audio.veh.instances[var_01]["entity"];
|
|
thread vmx_play_start_sound(param_00.start_alias_data.name,var_13,param_00.instance_name,param_00.offset);
|
|
if(isdefined(level._audio.veh.stop_ents[param_00.instance_name]))
|
|
{
|
|
var_14 = level._audio.veh.stop_ents[param_00.instance_name];
|
|
foreach(var_13 in var_14)
|
|
{
|
|
thread vmx_stop_stop_ent(var_13,undefined,param_00.instance_name);
|
|
}
|
|
}
|
|
}
|
|
else if((var_0E <= param_00.off_threshold || var_0B <= 0.01) && var_05 == "on" && var_10 > 200)
|
|
{
|
|
var_0C = var_0F;
|
|
var_05 = "off";
|
|
var_12 = 1;
|
|
wait(0.05);
|
|
var_13 = level._audio.veh.instances[var_01]["entity"];
|
|
thread vmx_play_stop_sound(param_00.stop_alias_data.name,var_13,param_00.instance_name,param_00.offset);
|
|
if(isdefined(level._audio.veh.start_ents[param_00.instance_name]))
|
|
{
|
|
var_17 = level._audio.veh.start_ents[param_00.instance_name];
|
|
foreach(var_13 in var_17)
|
|
{
|
|
thread vmx_stop_start_ent(var_13,undefined,param_00.instance_name);
|
|
}
|
|
}
|
|
}
|
|
|
|
var_1A = undefined;
|
|
var_1B = undefined;
|
|
if(vmx_get_start_sound_playing(param_00.instance_name))
|
|
{
|
|
if(var_11)
|
|
{
|
|
var_11 = 0;
|
|
if(isdefined(param_00.start_alias_data.pitch_map_name))
|
|
{
|
|
var_1A = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.start_alias_data.pitch_map_name]);
|
|
var_1A = level._audio.veh.minpitch + var_1A * level._audio.veh.maxpitch - level._audio.veh.minpitch;
|
|
vmx_scale_start_sound_pitch(var_1A,param_00.updaterate,param_00.instance_name);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_00.start_alias_data.vol_map_name))
|
|
{
|
|
var_1B = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.start_alias_data.vol_map_name]);
|
|
vmx_scale_start_sound_volume(var_1B,param_00.updaterate,param_00.instance_name);
|
|
}
|
|
}
|
|
|
|
if(vmx_get_stop_sound_playing(param_00.instance_name))
|
|
{
|
|
if(var_12)
|
|
{
|
|
var_12 = 0;
|
|
if(isdefined(param_00.stop_alias_data.pitch_map_name))
|
|
{
|
|
var_1A = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.stop_alias_data.pitch_map_name]);
|
|
var_1A = level._audio.veh.minpitch + var_1A * level._audio.veh.maxpitch - level._audio.veh.minpitch;
|
|
vmx_scale_stop_sound_pitch(var_1A,param_00.updaterate,param_00.instance_name);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_00.stop_alias_data.vol_map_name))
|
|
{
|
|
var_1B = soundscripts\_audio::deprecated_aud_map(var_02,level._audio.veh.maps[param_00.stop_alias_data.vol_map_name]);
|
|
vmx_scale_stop_sound_volume(var_1B,param_00.updaterate,param_00.instance_name);
|
|
}
|
|
}
|
|
|
|
var_04 = var_02;
|
|
wait(param_00.updaterate);
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
vm_disablethrottleupdate(param_00)
|
|
{
|
|
self.aud_engine_disable = 1;
|
|
if(isdefined(param_00))
|
|
{
|
|
self.aud_engine_throttle_amount = param_00;
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
vm_enablethrottleupdate()
|
|
{
|
|
self.aud_engine_disable = undefined;
|
|
}
|
|
|
|
//Function Number: 24
|
|
vmx_callback(param_00)
|
|
{
|
|
var_01 = param_00.instance_name;
|
|
level endon("aud_veh_stop");
|
|
level endon("aud_veh_stop_" + var_01);
|
|
var_02 = undefined;
|
|
var_03 = param_00.smoothness;
|
|
var_04 = param_00.smooth_up;
|
|
var_05 = param_00.smooth_down;
|
|
var_06 = param_00.min;
|
|
var_07 = param_00.max;
|
|
if(isdefined(param_00.heightmax))
|
|
{
|
|
var_08 = level._audio.veh.instances[var_01]["entity"];
|
|
param_00.init_height = var_08.origin[2];
|
|
}
|
|
|
|
var_09 = 1;
|
|
for(;;)
|
|
{
|
|
param_00.smoothness = var_03;
|
|
param_00.smooth_up = var_04;
|
|
param_00.smooth_down = var_05;
|
|
var_08 = level._audio.veh.instances[var_01]["entity"];
|
|
if(isdefined(var_08.aud_overrides) && isdefined(var_08.aud_overrides[param_00.type]) && isdefined(var_08.aud_overrides[param_00.type].min_range))
|
|
{
|
|
param_00.min = var_08.aud_overrides[param_00.type].min_range;
|
|
param_00.max = var_08.aud_overrides[param_00.type].max_range;
|
|
}
|
|
else
|
|
{
|
|
param_00.min = var_06;
|
|
param_00.max = var_07;
|
|
}
|
|
|
|
if(!isdefined(var_08))
|
|
{
|
|
vm_stop(param_00.instance_name);
|
|
return;
|
|
}
|
|
|
|
var_0A = 0;
|
|
var_0B = 0;
|
|
if(isdefined(var_08.aud_engine_disable))
|
|
{
|
|
var_0A = var_08.aud_engine_disable;
|
|
if(isdefined(var_08.aud_engine_throttle_amount))
|
|
{
|
|
var_0B = var_08.aud_engine_throttle_amount;
|
|
}
|
|
}
|
|
|
|
var_0C = [[ param_00.callback ]](param_00);
|
|
if(isdefined(param_00.multiply_by_throttle))
|
|
{
|
|
if(var_0A)
|
|
{
|
|
var_0D = var_0B;
|
|
}
|
|
else
|
|
{
|
|
var_0D = vmx_get_throttle(var_01);
|
|
}
|
|
|
|
if(level._audio.veh.print_throttle)
|
|
{
|
|
iprintln("throttle: " + var_0D);
|
|
}
|
|
|
|
var_0C = var_0C * var_0D;
|
|
}
|
|
|
|
var_0C = var_0C - param_00.min / param_00.max - param_00.min;
|
|
var_0C = clamp(var_0C,0,1);
|
|
if(isdefined(var_02))
|
|
{
|
|
if(isdefined(param_00.smooth_up) && var_0C > var_02)
|
|
{
|
|
var_02 = var_02 + param_00.smooth_up * var_0C - var_02;
|
|
}
|
|
else if(isdefined(param_00.smooth_down) && var_0C <= var_02)
|
|
{
|
|
var_02 = var_02 + param_00.smooth_down * var_0C - var_02;
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_02 + param_00.smoothness * var_0C - var_02;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_0C;
|
|
}
|
|
|
|
if(isdefined(param_00.custom_callback))
|
|
{
|
|
[[ param_00.custom_callback ]](var_08,var_02);
|
|
}
|
|
|
|
foreach(var_0F in param_00.alias_data)
|
|
{
|
|
thread vmx_update_sound(var_0F,param_00,var_02,var_01,var_09);
|
|
}
|
|
|
|
if(var_09)
|
|
{
|
|
var_09 = 0;
|
|
wait(param_00.fadein);
|
|
continue;
|
|
}
|
|
|
|
wait(param_00.updaterate);
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
vmx_update_sound(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = undefined;
|
|
var_06 = undefined;
|
|
if(isdefined(param_00.pitch_map_name))
|
|
{
|
|
var_05 = soundscripts\_audio::deprecated_aud_map(param_02,level._audio.veh.maps[param_00.pitch_map_name]);
|
|
var_05 = level._audio.veh.minpitch + var_05 * level._audio.veh.maxpitch - level._audio.veh.minpitch;
|
|
}
|
|
|
|
if(isdefined(param_00.vol_map_name))
|
|
{
|
|
var_06 = soundscripts\_audio::deprecated_aud_map(param_02,level._audio.veh.maps[param_00.vol_map_name]);
|
|
}
|
|
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
if(isdefined(level._audio.veh.ducked_instances[param_03]))
|
|
{
|
|
var_09 = level._audio.veh.ducked_instances[param_03];
|
|
var_0A = gettime();
|
|
var_0B = 2.5;
|
|
if(isdefined(param_01.duck_time))
|
|
{
|
|
var_0B = param_01.duck_time;
|
|
}
|
|
|
|
if(var_0A - var_09 < var_0B * 1000)
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
}
|
|
|
|
if(!var_07)
|
|
{
|
|
if(!isdefined(level._audio.veh.ducked_instances[param_03]) && vmx_get_need_to_duck(param_03))
|
|
{
|
|
var_07 = 1;
|
|
level._audio.veh.ducked_instances[param_03] = gettime();
|
|
}
|
|
}
|
|
|
|
if(var_07)
|
|
{
|
|
var_0C = 0.7;
|
|
if(isdefined(param_01.duck_amount))
|
|
{
|
|
var_0C = param_01.duck_amount;
|
|
}
|
|
|
|
var_06 = var_06 * var_0C;
|
|
}
|
|
|
|
if(isdefined(param_01.heightmax))
|
|
{
|
|
var_0D = param_01.vehicle.origin[2];
|
|
var_0E = var_0D - param_01.init_height;
|
|
if(var_0E > param_01.heightmax)
|
|
{
|
|
var_06 = 0;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(level._audio.veh.instances[param_03][param_00.alias_name]))
|
|
{
|
|
level._audio.veh.instances[param_03][param_00.alias_name] = spawn("script_origin",param_01.vehicle.origin);
|
|
var_0F = 0;
|
|
if(isdefined(param_01.offset))
|
|
{
|
|
var_0F = param_01.offset;
|
|
}
|
|
|
|
level._audio.veh.instances[param_03][param_00.alias_name] linkto(param_01.vehicle,"tag_origin",(var_0F,0,0),(0,0,0));
|
|
level._audio.veh.instances[param_03][param_00.alias_name] playloopsound(param_00.alias_name);
|
|
level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(0);
|
|
wait(0.05);
|
|
level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(var_06,param_01.fadein);
|
|
return;
|
|
}
|
|
|
|
if(isdefined(var_05))
|
|
{
|
|
level._audio.veh.instances[param_03][param_00.alias_name] setpitch(var_05,param_01.updaterate);
|
|
}
|
|
|
|
if(isdefined(var_06))
|
|
{
|
|
level._audio.veh.instances[param_03][param_00.alias_name] scalevolume(var_06,param_01.updaterate);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
vm_linkto_new_entity(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = "tag_origin";
|
|
if(isdefined(param_02))
|
|
{
|
|
var_04 = "tag_origin";
|
|
}
|
|
|
|
var_05 = 0;
|
|
if(isdefined(param_03))
|
|
{
|
|
var_05 = param_03;
|
|
}
|
|
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
foreach(var_08, var_07 in level._audio.veh.instances[param_00])
|
|
{
|
|
if(var_08 != "entity" && var_08 != "speed" && var_08 != "throttle")
|
|
{
|
|
var_07 unlink();
|
|
var_07 linkto(param_01,var_04,(var_05,0,0),(0,0,0));
|
|
}
|
|
}
|
|
|
|
level._audio.veh.instances[param_00]["entity"] = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
vm_set_speed_callback(param_00,param_01)
|
|
{
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
level._audio.veh.instances[param_00]["speed"] = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
vm_set_throttle_callback(param_00,param_01)
|
|
{
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
level._audio.veh.instances[param_00]["throttle"] = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
vm_set_start_stop_callback(param_00,param_01)
|
|
{
|
|
if(isdefined(level._audio.veh.instances[param_00]))
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
vmx_get_tilt(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
var_02 = var_01.angles[0];
|
|
if(level._audio.veh.print_tilt)
|
|
{
|
|
iprintln("tilt: " + var_02);
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 31
|
|
vmx_get_speed(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
var_02 = 0;
|
|
if(isdefined(level._audio.veh.instances[param_00.instance_name]["speed"]))
|
|
{
|
|
var_03 = level._audio.veh.instances[param_00.instance_name]["speed"];
|
|
var_02 = var_01 [[ var_03 ]]();
|
|
}
|
|
else
|
|
{
|
|
var_02 = param_00.vehicle vehicle_getspeed();
|
|
}
|
|
|
|
if(level._audio.veh.print_speed)
|
|
{
|
|
iprintln("speed: " + var_02);
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 32
|
|
vmx_get_yaw(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
var_02 = var_01.angles[1];
|
|
if(level._audio.veh.print_speed)
|
|
{
|
|
iprintln("yaw: " + var_02);
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 33
|
|
vmx_get_roll(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
var_02 = var_01.angles[2];
|
|
if(level._audio.veh.print_roll)
|
|
{
|
|
iprintln("roll: " + var_02);
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 34
|
|
vmx_get_altitude(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 35
|
|
vmx_get_throttle(param_00)
|
|
{
|
|
var_01 = level._audio.veh.instances[param_00.instance_name]["entity"];
|
|
var_02 = 0;
|
|
if(isdefined(level._audio.veh.instances[param_00.instance_name]["throttle"]))
|
|
{
|
|
var_03 = level._audio.veh.instances[param_00.instance_name]["speed"];
|
|
var_02 = var_01 [[ var_03 ]]();
|
|
}
|
|
else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "leftstick")
|
|
{
|
|
var_04 = level.player getnormalizedmovement();
|
|
var_05 = var_04[0];
|
|
var_02 = 0;
|
|
if(var_05 >= 0)
|
|
{
|
|
var_02 = var_05;
|
|
}
|
|
}
|
|
else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "leftstick_abs")
|
|
{
|
|
var_04 = level.player getnormalizedmovement();
|
|
var_05 = abs(var_04[0]);
|
|
var_06 = abs(var_04[1]);
|
|
var_02 = 2 * sqrt(var_05 * var_05 + var_06 * var_06);
|
|
var_02 = clamp(var_02,0,1);
|
|
}
|
|
else if(isdefined(param_00.throttle_input) && param_00.throttle_input == "attack")
|
|
{
|
|
if(level.player attackbuttonpressed())
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else
|
|
{
|
|
var_02 = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_01 vehicle_getthrottle();
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 36
|
|
vm_ground_vehicle_start(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self endon("death");
|
|
self.veh_aliases = spawnstruct();
|
|
self.veh_aliases.move_lo_lp = param_00;
|
|
self.veh_aliases.rolling_lp = param_01;
|
|
self.veh_aliases.idle_lp = param_02;
|
|
self.veh_aliases.engine_rev_lo_os = param_03;
|
|
self.veh_aliases.breaks_os = param_04;
|
|
thread vmx_monitor_explosion(param_05);
|
|
thread vmx_ground_vehicle_monitor_death();
|
|
thread vmx_cleanup_ents();
|
|
vmx_vehicle_engine();
|
|
}
|
|
|
|
//Function Number: 37
|
|
vmx_vehicle_engine()
|
|
{
|
|
self endon("death");
|
|
self.do_rev = 1;
|
|
self.ents_mixed_in = 0;
|
|
self.has_idle_played = 0;
|
|
self.has_move_played = 0;
|
|
self.has_roll_played = 0;
|
|
self.veh_mix_ents = spawnstruct();
|
|
self.veh_mix_ents.idle_ent = spawn("script_origin",self.origin);
|
|
self.veh_mix_ents.idle_ent linkto(self);
|
|
self.veh_mix_ents.move_ent = spawn("script_origin",self.origin);
|
|
self.veh_mix_ents.move_ent linkto(self);
|
|
self.veh_mix_ents.roll_ent = spawn("script_origin",self.origin);
|
|
self.veh_mix_ents.roll_ent linkto(self);
|
|
self.veh_mix_ents.one_shot = spawn("script_origin",self.origin);
|
|
self.veh_mix_ents.one_shot linkto(self);
|
|
for(;;)
|
|
{
|
|
var_00 = self vehicle_getspeed();
|
|
if(var_00 > 0.05)
|
|
{
|
|
self.do_rev = 1;
|
|
vmx_ground_speed_watch(var_00);
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
}
|
|
|
|
//Function Number: 38
|
|
vmx_ground_speed_watch(param_00)
|
|
{
|
|
self endon("death");
|
|
var_01 = 0.5;
|
|
var_02 = 1.5;
|
|
var_03 = 0;
|
|
for(;;)
|
|
{
|
|
var_04 = param_00;
|
|
wait(0.1);
|
|
var_05 = 0.5 + self vehicle_getspeed();
|
|
if(var_05 >= var_04)
|
|
{
|
|
if(isdefined(self.veh_aliases.idle_lp) && self.has_idle_played)
|
|
{
|
|
self.veh_mix_ents.idle_ent thread vmx_aud_ent_fade_out(0.5);
|
|
}
|
|
|
|
if(self.do_rev)
|
|
{
|
|
self.do_rev = 0;
|
|
if(isdefined(self.veh_aliases.engine_rev_lo_os))
|
|
{
|
|
self.veh_mix_ents.one_shot playsound(self.veh_aliases.engine_rev_lo_os);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(isdefined(self.veh_aliases.rolling_lp) && !self.has_roll_played)
|
|
{
|
|
self.has_roll_played = 1;
|
|
self.veh_mix_ents.roll_ent playloopsound(self.veh_aliases.rolling_lp);
|
|
}
|
|
|
|
if(isdefined(self.veh_aliases.move_lo_lp) && !self.has_move_played)
|
|
{
|
|
self.has_move_played = 1;
|
|
self.veh_mix_ents.move_ent playloopsound(self.veh_aliases.move_lo_lp);
|
|
}
|
|
|
|
if(!var_03)
|
|
{
|
|
if(isdefined(self.veh_aliases.move_lo_lp))
|
|
{
|
|
self.veh_mix_ents.move_ent thread vmx_aud_ent_fade_in(var_01);
|
|
}
|
|
|
|
if(isdefined(self.veh_aliases.rolling_lp))
|
|
{
|
|
self.veh_mix_ents.roll_ent thread vmx_aud_ent_fade_in(var_01);
|
|
}
|
|
|
|
var_03 = 1;
|
|
}
|
|
}
|
|
}
|
|
else if(var_05 < var_04)
|
|
{
|
|
if(isdefined(self.veh_aliases.idle_lp))
|
|
{
|
|
if(!self.has_idle_played)
|
|
{
|
|
self.has_idle_played = 1;
|
|
self.veh_mix_ents.idle_ent playloopsound(self.veh_aliases.idle_lp);
|
|
}
|
|
|
|
self.veh_mix_ents.idle_ent thread vmx_aud_ent_fade_in(0.5);
|
|
}
|
|
|
|
if(isdefined(self.veh_aliases.breaks_os))
|
|
{
|
|
self.veh_mix_ents.one_shot playsound(self.veh_aliases.breaks_os);
|
|
}
|
|
|
|
if(isdefined(self.veh_aliases.move_lo_lp))
|
|
{
|
|
self.veh_mix_ents.move_ent thread vmx_aud_ent_fade_out(0.5);
|
|
}
|
|
|
|
if(isdefined(self.veh_aliases.move_lo_lp))
|
|
{
|
|
self.veh_mix_ents.roll_ent thread vmx_aud_ent_fade_out(0.1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
wait(0.2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
vmx_aud_ent_fade_out(param_00)
|
|
{
|
|
self scalevolume(0,param_00);
|
|
}
|
|
|
|
//Function Number: 40
|
|
vmx_aud_ent_fade_in(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = param_01;
|
|
}
|
|
|
|
self scalevolume(0);
|
|
wait(0.05);
|
|
self scalevolume(var_02,param_00);
|
|
}
|
|
|
|
//Function Number: 41
|
|
vmx_cleanup_ents()
|
|
{
|
|
self waittill("cleanup_sound_ents");
|
|
self.veh_mix_ents.idle_ent stoploopsound();
|
|
self.veh_mix_ents.move_ent stoploopsound();
|
|
self.veh_mix_ents.roll_ent stoploopsound();
|
|
self.veh_mix_ents.one_shot stopsounds();
|
|
wait(0.05);
|
|
self.veh_mix_ents.idle_ent delete();
|
|
self.veh_mix_ents.move_ent delete();
|
|
self.veh_mix_ents.roll_ent delete();
|
|
self.veh_mix_ents.one_shot delete();
|
|
}
|
|
|
|
//Function Number: 42
|
|
vmx_ground_vehicle_monitor_death()
|
|
{
|
|
self endon("cleanup_sound_ents");
|
|
self waittill("death");
|
|
self notify("cleanup_sound_ents");
|
|
}
|
|
|
|
//Function Number: 43
|
|
vmx_monitor_explosion(param_00)
|
|
{
|
|
self endon("cleanup_sound_ents");
|
|
for(;;)
|
|
{
|
|
if(!isdefined(self))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(self.health < self.healthbuffer)
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
self notify("died");
|
|
if(isdefined(param_00))
|
|
{
|
|
common_scripts\utility::play_sound_in_space(param_00,self.origin);
|
|
}
|
|
|
|
self notify("ceanup_sound_ents");
|
|
}
|
|
|
|
//Function Number: 44
|
|
vm_aud_air_vehicle_flyby(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
var_06 = 0;
|
|
if(isdefined(param_03))
|
|
{
|
|
var_06 = param_03;
|
|
}
|
|
|
|
var_07 = 0;
|
|
if(isdefined(param_04))
|
|
{
|
|
var_07 = param_04;
|
|
}
|
|
|
|
while(isdefined(param_00))
|
|
{
|
|
if(var_07)
|
|
{
|
|
var_08 = distance(param_00.origin,level.player.origin);
|
|
}
|
|
else
|
|
{
|
|
var_08 = distance2d(param_00.origin,level.player.origin);
|
|
}
|
|
|
|
if(var_06)
|
|
{
|
|
iprintln("Distance: " + var_08);
|
|
}
|
|
|
|
if(var_08 < param_02)
|
|
{
|
|
var_09 = spawn("script_origin",param_00.origin);
|
|
var_09 linkto(param_00);
|
|
var_09 playsound(param_01,"sounddone");
|
|
param_00 notify("flyby_sound_played");
|
|
var_09 thread vmx_waittill_deathspin(param_00);
|
|
var_09 thread vmx_waittill_sounddone();
|
|
var_09 waittill("flyby_ent",var_0A);
|
|
if(var_0A == "deathspin")
|
|
{
|
|
if(isdefined(param_05))
|
|
{
|
|
thread common_scripts\utility::play_sound_in_space(param_05,var_09.origin);
|
|
}
|
|
|
|
var_09 scalevolume(0,0.3);
|
|
wait(0.4);
|
|
var_09 stopsounds();
|
|
wait(0.05);
|
|
var_09 delete();
|
|
return;
|
|
}
|
|
else if(var_0A == "sounddone")
|
|
{
|
|
wait(0.1);
|
|
var_09 delete();
|
|
return;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
vmx_waittill_deathspin(param_00)
|
|
{
|
|
self endon("flyby_ent");
|
|
param_00 waittill("deathspin");
|
|
self notify("flyby_ent","deathspin");
|
|
}
|
|
|
|
//Function Number: 46
|
|
vmx_waittill_sounddone()
|
|
{
|
|
self endon("flyby_ent");
|
|
self waittill("sounddone");
|
|
self notify("flyby_ent","sounddone");
|
|
} |