#include maps\mp\zombies\_zm_audio; #include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; #include maps\mp\zombies\_zm_weapons; #include maps\mp\zombies\_zm_audio_announcer; #include maps\mp\zombies\_zm_laststand; #include maps\mp\_music; #include maps\mp\zombies\_zm_spawner; create_and_play_dialog(category, type, response, force_variant, override) { waittime = 0.25; if (!isdefined(self.zmbvoxid)) { return; } if (isdefined(self.dontspeak) && self.dontspeak) { return; } isresponse = 0; alias_suffix = undefined; index = undefined; prefix = undefined; if (!isdefined(level.vox.speaker[self.zmbvoxid].alias[category][type])) return; prefix = level.vox.speaker[self.zmbvoxid].prefix; alias_suffix = level.vox.speaker[self.zmbvoxid].alias[category][type]; if (self is_player()) { if (self.sessionstate != "playing") return; if (self maps\mp\zombies\_zm_laststand::player_is_in_laststand() && (type != "revive_down" || type != "revive_up")) return; index = maps\mp\zombies\_zm_weapons::get_player_index(self); prefix = prefix + index + "_"; } if (isdefined(response)) { if (isdefined(level.vox.speaker[self.zmbvoxid].response[category][type])) alias_suffix = response + level.vox.speaker[self.zmbvoxid].response[category][type]; isresponse = 1; } sound_to_play = self zmbvoxgetlinevariant(prefix, alias_suffix, force_variant, override); if (isdefined(sound_to_play)) { if (isdefined(level._audio_custom_player_playvox)) self thread [[level._audio_custom_player_playvox]](prefix, index, sound_to_play, waittime, category, type, override); else self thread do_player_or_npc_playvox(prefix, index, sound_to_play, waittime, category, type, override, isresponse); } }