#include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; navcomputer_waitfor_navcard() { trig_pos = getstruct("sq_common_key", "targetname"); navcomputer_use_trig = spawn("trigger_radius_use", trig_pos.origin, 0, 48, 48); navcomputer_use_trig.cost = 100000; navcomputer_use_trig setcursorhint("HINT_NOICON"); navcomputer_use_trig sethintstring(&"ZOMBIE_NAVCARD_USE", " [Cost: " + navcomputer_use_trig.cost + "]"); navcomputer_use_trig triggerignoreteam(); while (true) { navcomputer_use_trig waittill("trigger", who); if (isplayer(who) && is_player_valid(who)) { if (who.score >= navcomputer_use_trig.cost) { who maps\mp\zombies\_zm_score::minus_to_player_score(navcomputer_use_trig.cost); navcomputer_use_trig sethintstring(&"ZOMBIE_NAVCARD_SUCCESS"); navcomputer_use_trig playsound("zmb_sq_navcard_success"); players = get_players(); foreach (player in players) { player freezecontrols(1); } level notify("end_game"); return; } else { navcomputer_use_trig playsound("zmb_sq_navcard_fail"); } } } } sq_give_player_all_perks() { perks = []; if (isDefined(level._random_perk_machine_perk_list)) { perks = array_randomize(level._random_perk_machine_perk_list); } else { machines = array_randomize(getentarray("zombie_vending", "targetname")); for (i = 0; i < machines.size; i++) { if (machines[i].script_noteworthy == "specialty_weapupgrade") continue; perks[perks.size] = machines[i].script_noteworthy; } } foreach (perk in perks) { if (isdefined(self.perk_purchased) && self.perk_purchased == perk) continue; if (self hasperk(perk) || self maps\mp\zombies\_zm_perks::has_perk_paused(perk)) continue; self maps\mp\zombies\_zm_perks::give_perk(perk, 0); wait 0.25; } } sq_complete_time_hud() { hud = newHudElem(); hud.alignx = "center"; hud.aligny = "top"; hud.horzalign = "user_center"; hud.vertalign = "user_top"; hud.y += 100; hud.fontscale = 1.4; hud.alpha = 0; hud.color = (1, 1, 1); hud.hidewheninmenu = 1; hud.foreground = 1; hud.label = &"Quest Complete! Time: "; hud endon("death"); hud thread scripts\zm\_zm_reimagined::destroy_on_intermission(); fade_time = 0.5; hud fadeOverTime(fade_time); hud.alpha = 1; time = int((getTime() - level.timer_hud_start_time) / 1000); hud thread scripts\zm\_zm_reimagined::set_time_frozen(time, "forever"); wait 10; hud fadeOverTime(fade_time); hud.alpha = 0; wait fade_time; hud destroy(); }