//-------------------------------------------------------- // // This file contains all the scripted lessons used by // the game instructor. // // // PRIORITY LEVELS // // SURVIVOR // 200 challenge mode explanations (decreasing below this) // 150 awaiting closet rescue // 145 survival time goal messages // 145 Get to the chopper, Finale start // 140 pounced, choking, ridden // 137 incapacitated by witch // 135 incapacitated, hanging from ledge // 133 Finale is starting, disturbance triggered // 132 Smoker pulling you // 131 avoid acid goo // 130 IT (puked on), shove back infected // 127 attacked from behind // 125 revive interrupted (hold still) // 120 help pounced, help choking // 115 Tank! // 110 help incapacitated, help ledge hanger, witch spooked // 100 help IT (puked on) friend // 97 enter safe room, close safe room door, use minigun // 95 friendly fire // 94 notify stay together // 93 presumed combat // 91 given item ( pills, adrenaline ) // 88 heal self, eat pills // 88 player is slow, use adrenaline // 88 rescue from closet // 86 heal other // 86 use ammo for self // 84 heal other (non-urgent) // 84 give ammo to other (non-urgent) // 83 give pills // 83 give adrenaline // 82 give pills (non-urgent) // 82 give adrenaline (non-urgent) // 80 finale is going // 78 rifle zoom // 77 pistol ammo, grenade limit // 76 adrenaline, defibrillator, ammoupgrade usage // 75 scroll through inventory // 70 pick up a primary weapon (or upgrade) // 65 pick up a backpack slot item // 60 pick up a pills slot item // 59 pick up a grenade slot item // 58 pick up ammo/chainsaw // 57 pick up melee // 55,56 pick up primary weapon for ammo // 53 pick up a 2nd pistol/magnum // 50 open/close door // 45 reload // // NOTE: Zero priority lessons are NOT affected by , but NEVER affect priority // 00 notice panic button, notice finale radio, explain disturbance, open/close door, failed to take pills // // INFECTED // 150 awaiting spawn // 140 killed // 130 ghost mode // 120 pouncing, choking // 110 puked on someone // 100 killed // 90 failed special (missed tongue) // 80 victim available for special (pounce, tounge) // 70 navigation tip (climb, breakable wall) // 60 passive ability tip (leap, swipe) // // // INSTANCE TYPES // // 0 = multiple lessons of same type can be open at once // 1 = only one of each lesson type can be open at once // 2 = replace lesson of the same type // 3 = only one instance will display at a time (but all instances will be open) // // // FLAGS (use these to build an integer) // //#define LOCATOR_ICON_FX_NONE 0x00000000 //#define LOCATOR_ICON_FX_PULSE_SLOW 0x00000001 //#define LOCATOR_ICON_FX_PULSE_FAST 0x00000002 //#define LOCATOR_ICON_FX_PULSE_URGENT 0x00000004 // // // CAPTION COLOR - supply a string in the format "rrr,ggg,bbb" ex. "255,255,255" for white // //-------------------------------------------------------- "instructor_lessons" { "version number" { "priority" "0" "success_limit" "4" // increase this number to force a reset counts for everyone } "Serverside Hint" { "priority" "0" "instance_type" "2" //instance name is stored in string1 "timeout" "0" "onscreen_icon" "icon_none" "offscreen_icon" "icon_none" "caption" "No Caption Specified" "caption_color" "255,255,255" "icon_offset" "0" "range" "0" "flags" "0" "binding" "" "allow_nodraw_target" "1" "no_offscreen" "0" "force_caption" "0" "open" { "instructor_server_hint_create" { "flags set" "int hint_flags" "flags has bit" "int 8" "icon_target set" "player local_player" "string1 set" "string hint_name" "timeout set" "int hint_timeout" "onscreen_icon set" "string hint_icon_onscreen" "offscreen_icon set" "string hint_icon_offscreen" "caption set" "string hint_caption" "caption_color set" "string hint_color" "icon_offset set" "float hint_icon_offset" "range set" "float hint_range" "binding set" "string hint_binding" "allow_nodraw_target set" "bool hint_allow_nodraw_target" "no_offscreen set" "bool hint_nooffscreen" "force_caption set" "bool hint_forcecaption" } "instructor_server_hint_create" { "flags set" "int hint_flags" "flags !has bit" "int 8" "icon_target set" "entity hint_target" "string1 set" "string hint_name" "timeout set" "int hint_timeout" "onscreen_icon set" "string hint_icon_onscreen" "offscreen_icon set" "string hint_icon_offscreen" "caption set" "string hint_caption" "caption_color set" "string hint_color" "icon_offset set" "float hint_icon_offset" "range set" "float hint_range" "binding set" "string hint_binding" "allow_nodraw_target set" "bool hint_allow_nodraw_target" "no_offscreen set" "bool hint_nooffscreen" "force_caption set" "bool hint_forcecaption" } } "close" { "instructor_server_hint_stop" { "string1 is" "string hint_name" } } } /////////////////// /////////////////// //// SURVIVAL! //// /////////////////// /////////////////// //-------------------------------------------------------- // You have beaten your best time! //-------------------------------------------------------- "Beat Player Record Time" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_player_record" "onscreen_icon" "icon_player_record" "open" { "survival_goal_reached" { "local_player is" "player id" "string1 set" "string goalname" "string1 is" "string player_record" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // You beat the team record! //-------------------------------------------------------- "Beat Team Record Time" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_team_record" "onscreen_icon" "icon_player_record" "open" { "survival_goal_reached" { "string1 set" "string goalname" "string1 is" "string team_record" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // You beat the world record! //-------------------------------------------------------- "Beat World Record Time" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_world_record" "onscreen_icon" "icon_world_record" "open" { "survival_goal_reached" { "string1 set" "string goalname" "string1 is" "string world_record" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // You earned a bronze medal! //-------------------------------------------------------- "Earned Bronze Medal" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_earned_bronze_medal" "onscreen_icon" "icon_bronze_medal" "open" { "survival_goal_reached" { "local_player is" "player userid" "string1 set" "string goalname" "string1 is" "string medal" "integer1 set" "int id" "integer1 is" "int 0" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // You earned a silver medal! //-------------------------------------------------------- "Earned Silver Medal" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_earned_silver_medal" "onscreen_icon" "icon_silver_medal" "open" { "survival_goal_reached" { "local_player is" "player userid" "string1 set" "string goalname" "string1 is" "string medal" "integer1 set" "int id" "integer1 is" "int 1" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // You earned a gold medal! //-------------------------------------------------------- "Earned Gold Medal" { "team" "2" "priority" "145" "timeout" "10.0" "can_open_when_dead" "1" "allow_nodraw_target" "1" "caption" "#L4D_Instructor_earned_gold_medal" "onscreen_icon" "icon_gold_medal" "open" { "survival_goal_reached" { "local_player is" "player userid" "string1 set" "string goalname" "string1 is" "string medal" "integer1 set" "int id" "integer1 is" "int 2" "icon_target set" "player local_player" } } } /////////////////// /////////////////// //// SCAVENGE! //// /////////////////// /////////////////// //-------------------------------------------------------- // Explain where to put the scavenge mode items //-------------------------------------------------------- "Explain Scavenge Goal Survivor" { "team" "2" "priority" "0" "display_limit" "10" "show_when_occluded" "1" "timeout" "15.0" "caption" "#L4D_Instructor_explain_scavenge_goal_survivor" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_scavenge_goal" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- // Explain that if you leave the start area, the round will begin //-------------------------------------------------------- "Explain Scavenge Survivor Leave Area" { "team" "2" "priority" "0" "instance_type" "1" "timeout" "10.0" "caption" "#L4D_Instructor_exaplin_scavenge_leave_area" "onscreen_icon" "icon_alert" "offscreen_icon" "icon_alert" "start_sound" "" "open" { "explain_scavenge_leave_area" { //"local_player is" "player userid" "entity1 set" "entity subject" "icon_target set" "player local_player" } } "close" { } "update" { "entity_roundstart_killed" { "entity1 is" "entity NULL" "void close" "void" } } } //-------------------------------------------------------- // Explain what to do as the infected team //-------------------------------------------------------- "Explain Scavenge Goal Infected" { "team" "3" "priority" "0" "display_limit" "8" "caption" "#L4D_Instructor_explain_scavenge_goal_infected" "onscreen_icon" "icon_alert_red" "start_sound" "" "open" { "scavenge_round_start" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Entered overtime in a scavenge round //-------------------------------------------------------- "Begin Scavenge Overtime Survivor" { "team" "2" "priority" "0" "instance_type" "1" "timeout" "10.0" "caption" "#L4D_Instructor_begin_scavenge_overtime_survivor" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "begin_scavenge_overtime" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Entered overtime in a scavenge round //-------------------------------------------------------- "Begin Scavenge Overtime Infected" { "team" "3" "priority" "0" "instance_type" "1" "timeout" "10.0" "caption" "#L4D_Instructor_begin_scavenge_overtime_infected" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "begin_scavenge_overtime" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Entered overtime in a scavenge round //-------------------------------------------------------- "Scavenge Score Tied" { "priority" "0" "instance_type" "1" "timeout" "10.0" "caption" "#L4D_Instructor_scavenge_score_tied" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "Instructor.ImportantLessonStart" "open" { "scavenge_score_tied" { "icon_target set" "player local_player" } } "close" { "round_end" { } } } //-------------------------------------------------------- // Explain where to put the scavenge mode items //-------------------------------------------------------- "Explain Gascan Pour Blocked" { "team" "2" "priority" "0" "instance_type" "1" "timeout" "10.0" "caption" "#L4D_Instructor_explain_gascan_pour_blocked" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "Instructor.ImportantLessonStart" "open" { "gascan_pour_blocked" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "use_target" { "integer1 set" "int targetid" "integer1 is" "int 0" } } } //-------------------------------------------------------- // Indicate that unattended gas cans can be spit on //-------------------------------------------------------- "Explain Gascan Vulnerable" { "priority" "97" "instance_type" "1" "timeout" "10.0" "display_limit" "6" "onscreen_icon" "icon_tip" "caption" "#L4D_Instructor_explain_scavenge_vulnerable_cans" "range" "400.0" "icon_offset" "8.0" "force_caption" "1" "group" "item_glows" "open" { "weapon_drop" { "string1 set" "string item" "string1 is" "string gascan" "string1 set" "convar mp_gamemode" "string1 is" "string scavenge" "icon_target set" "entity propid" } "weapon_drop" { "string1 set" "string item" "string1 is" "string gascan" "string1 set" "convar mp_gamemode" "string1 is" "string teamscavenge" "icon_target set" "entity propid" } } "onopen" { "Long Range For Infected" { "local_player team is" "int 3" "range set" "float 1200.0f" } } } /////////////////// /////////////////// //// SURVIVOR! //// /////////////////// /////////////////// //-------------------------------------------------------- // This survivor has entered the safe room. Tell them // about shutting the door! //-------------------------------------------------------- "Explain Close Safe Room" { "team" "2" "priority" "97" "instance_type" "1" "display_limit" "6" "success_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_close_safe_room" "onscreen_icon" "icon_door" "range" "600.0" "start_sound" "Instructor.ImportantLessonStart" "open" { "player_entered_checkpoint" { "local_player is" "player userid" "string2 set" "string doorname" "string2 is" "string checkpoint_entrance" "icon_target set" "entity door" } } "close" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "success" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_door" } "Selected Item" { "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" } } } //-------------------------------------------------------- // This survivor can see the safe room door. Urge them in! //-------------------------------------------------------- "Explain Enter Safe Room" { "team" "2" "priority" "97" "instance_type" "1" "display_limit" "4" "caption" "#L4D_Instructor_explain_enter_safe_room" "onscreen_icon" "icon_door" "range" "600.0" "lock_duration" "5" "show_when_occluded" "0" "group" "item_glows" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_entrance" "icon_target set" "entity subject" } } "close" { "player_entered_checkpoint" { "local_player is" "player userid" } } } //-------------------------------------------------------- // They tried to leave the safe room while others are // loading. Show them what for! //-------------------------------------------------------- "Explain Wait To Exit Safe Room" { "team" "2" "priority" "0" "instance_type" "1" "caption" "#L4D_Instructor_explain_wait_to_exit_safe_room" "onscreen_icon" "icon_alert" "timeout" "8.0" "open" { "waiting_checkpoint_door_used" { "local_player is" "player userid" "entity1 set" "entity entindex" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // VERSUS: They tried to leave the safe room. // This means teams aren't ready so the match shouldn't start yet. //-------------------------------------------------------- "Explain Wait To Exit Safe Room Versus" { "team" "2" "priority" "0" "instance_type" "1" "caption" "#L4D_Instructor_explain_wait_to_push_button" "onscreen_icon" "icon_alert" "timeout" "8.0" "open" { "waiting_door_used_versus" { "local_player is" "player userid" "entity1 set" "entity entindex" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // They tried to push a button that needs others to gather // first. Show them what for! //-------------------------------------------------------- "Explain Wait To Push Button" { "team" "2" "priority" "0" "instance_type" "1" "caption" "#L4D_Instructor_explain_wait_to_push_button" "onscreen_icon" "icon_alert" "timeout" "8.0" "open" { "waiting_checkpoint_button_used" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "success_checkpoint_button_used" { } } } //-------------------------------------------------------- // Explain the pre rescue radio //-------------------------------------------------------- "Explain Pre Radio" { "team" "2" "priority" "0" "binding" "+use" "caption" "#L4D_Instructor_explain_pre_radio" "onscreen_icon" "icon_button" "start_sound" "" "open" { "explain_pre_radio" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "started_pre_radio" { } } } //-------------------------------------------------------- // Explain the rescue radio //-------------------------------------------------------- "Explain Radio" { "team" "2" "priority" "0" "binding" "+use" "caption" "#L4D_Instructor_explain_radio" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_radio" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_radio" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain the gas truck //-------------------------------------------------------- "Explain Gas Truck" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_gas_truck" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_gas_truck" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_gas_truck" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // The chopper has arrived - get on it! //-------------------------------------------------------- "Board Chopper" { "team" "2" "priority" "145" "timeout" "10.0" "caption" "#L4D_Instructor_board_chopper" "onscreen_icon" "icon_alert" "open" { "finale_vehicle_ready" { "icon_target set" "player local_player" } } "close" { "finale_vehicle_leaving" { } } } //-------------------------------------------------------- // The chopper is coming! //-------------------------------------------------------- "Explain Finale Start" { "team" "2" "priority" "145" "timeout" "8.0" "caption" "#L4D_Instructor_survive_rescue" "onscreen_icon" "icon_alert" "range" "600.0" "open" { "finale_start" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Hide minor lessons during finale //-------------------------------------------------------- "Finale Priority Bumper" { "team" "2" "priority" "80" "no_icon_target" "1" "start_sound" "" "open" { "finale_start" { } } "close" { "finale_win" { } } } //-------------------------------------------------------- // Explain that disturbances (car alarm) attract horde //-------------------------------------------------------- "Explain Panic Disturbance" { "team" "2" "priority" "0" "instance_type" "2" "display_limit" "2" "caption" "#L4D_Instructor_explain_panic_disturbance" "onscreen_icon" "icon_no" "show_when_occluded" "0" "no_offscreen" "1" "range" "750" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "explain_disturbance" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } } //-------------------------------------------------------- // Explain that a car alarm was tripped (and who did it) //-------------------------------------------------------- "Explain Panic Disturbance Triggered" { "team" "2" "priority" "0" "instance_type" "1" "onscreen_icon" "icon_alert_red" "timeout" "8" "start_sound" "" "open" { "create_panic_event" { "entity1 set" "player userid" "entity1 !is" "entity null" "entity1 !is" "player local_player" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_explain_panic_disturbance_triggered" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "create_panic_event" { "entity1 set" "player userid" "entity1 is" "entity local_player" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_explain_panic_disturbance_triggered2" } } } //-------------------------------------------------------- // Explain that a witch was spooked (and who did it) //-------------------------------------------------------- "Explain Witch Spooked" { "team" "2" "priority" "0" "instance_type" "1" "onscreen_icon" "icon_alert_red" "timeout" "8" "can_timeout_while_inactive" "1" "start_sound" "" "open" { "witch_harasser_set" { "integer1 set" "bool first" "integer1 !is" "bool 0" "entity1 set" "player userid" "entity1 !is" "entity null" "entity1 !is" "player local_player" "entity1 team is" "int 2" "entity2 set" "entity witchid" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_explain_witch_spooked" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "witch_harasser_set" { "integer1 set" "bool first" "integer1 !is" "bool 0" "entity1 set" "player userid" "entity1 is" "entity local_player" "entity2 set" "entity witchid" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_explain_witch_spooked2" } } "close" { "player_death" { "entity2 is" "entity entityid" } } } //-------------------------------------------------------- // Explain what the panic button does //-------------------------------------------------------- "Explain Panic Button" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_panic_button" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_panic_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the elevator button does //-------------------------------------------------------- "Explain Elevator Button" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_elevator_button" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_elevator_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_elevator_button" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the lift button does //-------------------------------------------------------- "Explain Lift Button" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_lift_button" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_lift_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_lift_button" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the train lever does //-------------------------------------------------------- "Explain Train Lever" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_train_lever" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_train_lever" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_train_lever" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the gas can panic does //-------------------------------------------------------- "Explain Gas Can Panic" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_gas_can_panic" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_gas_can_panic" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_gas_can_panic" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the van panic does //-------------------------------------------------------- "Explain Van Panic" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_van_panic" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_van_panic" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_van_panic" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the crane does //-------------------------------------------------------- "Explain Crane" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_crane" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_crane" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_crane" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain how to provoke crazy church guy //-------------------------------------------------------- "Explain Church Door" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_church_door" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_church_door" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_church_door" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the emergency door does //-------------------------------------------------------- "Explain Emergency Door" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_emergency_door" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_emergency_door" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_emergency_door" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain what the bridge does //-------------------------------------------------------- "Explain Bridge" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_bridge" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_bridge" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_bridge" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain how to lower forklift //-------------------------------------------------------- "Explain Mainstreet" { "team" "2" "priority" "0" "display_limit" "10" "binding" "+use" "caption" "#L4D_Instructor_explain_mainstreet" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_mainstreet" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "create_panic_event" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_mainstreet" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Explain how to scroll through inventory //-------------------------------------------------------- "Explain Inventory" { "team" "2" "priority" "75" "instance_type" "1" "display_limit" "6" "success_limit" "2" "gamepad_binding" "lastinv;slot3;slot4;slot5" "binding" "+invnext;+invprev" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_explain_inventory" "timeout" "8.0" "can_timeout_while_inactive" "1" "update_interval" "0.25" "integer1" "2" "open" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 !is" "string pumpshotgun" "string1 !is" "string shotgun_chrome" "string1 !is" "string autoshotgun" "string1 !is" "string shotgun_spas" "string1 !is" "string smg" "string1 !is" "string smg_silenced" "string1 !is" "string rifle" "string1 !is" "string rifle_desert" "string1 !is" "string rifle_ak47" "string1 !is" "string hunting_rifle" "string1 !is" "string sniper_military" "string1 !is" "string grenade_launcher" "icon_target set" "player local_player" } } "update" { "Wait 2 Updates" { "integer1 !less than" "int 1" "integer1 subtract" "int 1" } "New Selection" { "integer1 less than" "int 0" "icon_target get active weapon" "int 2" "entity1 !is" "entity entity2" "void success" "void" "void close" "void" } "Original Selection" { "integer1 !less than" "int 0" "integer1 subtract" "int 1" "icon_target get active weapon" "int 1" } } } //-------------------------------------------------------- // Explain how to zoom with the hunting rifle //-------------------------------------------------------- "Explain Rifle Zoom" { "team" "2" "priority" "78" "instance_type" "1" "display_limit" "5" "success_limit" "2" "binding" "+zoom" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_explain_rifle_zoom" "timeout" "8.0" "open" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" "icon_target set" "player local_player" } } "close" { "weapon_zoom" { "local_player is" "player userid" } } "success" { "weapon_zoom" { "local_player is" "player userid" } } "update" { "Base" { "visible set" "bool 1" } "Sniper rifle not selected" { "local_player !weapon is" "string weapon_hunting_rifle" "local_player !weapon is" "string weapon_sniper_miliary" "visible set" "bool 0" } } } //-------------------------------------------------------- // Indicate that ammo is available //-------------------------------------------------------- "Explain Ammo Resupply" { "team" "2" "priority" "58" "instance_type" "3" "display_limit" "4" "binding" "+use" "caption" "#L4D_Instructor_explain_ammo_resupply_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string ammo" "icon_target set" "entity subject" "visible set" "bool 0" } } "close" { "ammo_pickup" { "local_player is" "player userid" } } "update" { "Base Visible" { "visible set" "bool 1" } "Don't Need Ammo" { "local_player weapon ammo full" "int 0" "visible set" "bool 0" } "Selected other item" { "visible is" "bool 1" "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Base Icon" { "visible is" "bool 1" "onscreen_icon set" "string icon_interact" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_ammo_resupply_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_ammo_resupply" } } } //-------------------------------------------------------- // Indicate that they should swap for any weapon to fix ammo problems //-------------------------------------------------------- "Explain Need Primary Ammo" { "team" "2" "priority" "55" "instance_type" "3" "display_limit" "4" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D2_Instructor_explain_replace_ammo_get" "icon_offset" "8.0" "range" "400.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string smg" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_smg" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string smg_silenced" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_smg_silenced" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string rifle" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_rifle" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string rifle_desert" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_rifle_desert" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string rifle_ak47" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_rifle_ak47" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string pumpshotgun" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_pumpshotgun" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string shotgun_chrome" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_shotgun_chrome" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string autoshotgun" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_autoshotgun" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string shotgun_spas" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_shotgun_spas" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string hunting_rifle" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_hunting_rifle" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string sniper_military" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_sniper_military" } "weapon_spawn_visible" { "local_player is" "player userid" "local_player weapon ammo low" "int 0" "string1 set" "string weaponname" "string1 is" "string grenade_launcher" "icon_target set" "entity subject" "caption_param set" "string #L4D_Instructor_explain_grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D2_Instructor_explain_replace_ammo_get" "void present complete" "void" "caption set" "string #L4D2_Instructor_explain_replace_ammo" } "Close if they found ammo" { "local_player !weapon ammo low" "int 0" "void close" "void" } } } //-------------------------------------------------------- // Indicate that a first aid kit is available //-------------------------------------------------------- "Explain First Aid Kit" { "team" "2" "priority" "65" "instance_type" "3" "display_limit" "12" // Try hard to get the message across. High display limit, low success limit. "success_limit" "3" "binding" "+use" "caption" "#L4D_Instructor_explain_first_aid_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string first_aid_kit" "local_player !weapon has" "string weapon_first_aid_kit" "local_player !weapon has" "string weapon_upgradepack_incendiary" "local_player !weapon has" "string weapon_upgradepack_explosive" "local_player !weapon has" "string weapon_defibrillator" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_first_aid_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_first_aid" } } } //-------------------------------------------------------- // Indicate that a defibrillator is available //-------------------------------------------------------- "Explain Defibrillator" { "team" "2" "priority" "65" "instance_type" "3" "display_limit" "12" // Try hard to get the message across. High display limit, low success limit. "success_limit" "3" "binding" "+use" "caption" "#L4D_Instructor_explain_defibrillator_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string defibrillator" "local_player !weapon has" "string weapon_first_aid_kit" "local_player !weapon has" "string weapon_upgradepack_incendiary" "local_player !weapon has" "string weapon_upgradepack_explosive" "local_player !weapon has" "string weapon_defibrillator" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_defibrillator_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_defibrillator" } } } //-------------------------------------------------------- // Indicate that an upgradepack_incendiary is available //-------------------------------------------------------- "Explain UpgradePack_Incendiary" { "team" "2" "priority" "65" "instance_type" "3" "display_limit" "12" // Try hard to get the message across. High display limit, low success limit. "success_limit" "3" "binding" "+use" "caption" "#L4D_Instructor_explain_upgradepack_incendiary_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string upgradepack_incendiary" "local_player !weapon has" "string weapon_first_aid_kit" "local_player !weapon has" "string weapon_upgradepack_incendiary" "local_player !weapon has" "string weapon_upgradepack_explosive" "local_player !weapon has" "string weapon_defibrillator" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_upgradepack_incendiary_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_upgradepack_incendiary" } } } //-------------------------------------------------------- // Indicate that an upgradepack_incendiary is available //-------------------------------------------------------- "Explain UpgradePack_Explosive" { "team" "2" "priority" "65" "instance_type" "3" "display_limit" "12" // Try hard to get the message across. High display limit, low success limit. "success_limit" "3" "binding" "+use" "caption" "#L4D_Instructor_explain_upgradepack_explosive_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string upgradepack_explosive" "local_player !weapon has" "string weapon_first_aid_kit" "local_player !weapon has" "string weapon_upgradepack_incendiary" "local_player !weapon has" "string weapon_upgradepack_explosive" "local_player !weapon has" "string weapon_defibrillator" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_upgradepack_explosive_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_upgradepack_explosive" } } } //-------------------------------------------------------- // Indicate that a second pistol is available //-------------------------------------------------------- "Explain 2nd Pistol" { "team" "2" "priority" "53" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_2nd_pistol_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol" "local_player !weapon has" "string weapon_melee" "local_player !weapon has" "string weapon_chainsaw" "local_player !weapon has" "string weapon_pistol_magnum" "icon_target set" "entity subject" } "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol" "local_player weapon has" "string weapon_melee" "icon_target set" "entity subject" "caption set" "string #L4D_Instructor_explain_trade_melee_for_pistol" } "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol" "local_player weapon has" "string weapon_chainsaw" "icon_target set" "entity subject" "caption set" "string #L4D_Instructor_explain_trade_melee_for_pistol" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string melee" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string chainsaw" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol_magnum" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present (no melee)" { "visible is" "bool 1" "local_player !weapon has" "string weapon_melee" "local_player !weapon has" "string weapon_chainsaw" "caption set" "string #L4D_Instructor_explain_2nd_pistol_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_2nd_pistol" } "Set Caption After Present (melee)" { "visible is" "bool 1" "local_player weapon has" "string weapon_melee" "caption set" "string #L4D_Instructor_explain_trade_melee_for_pistol" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_pistol" } "Set Caption After Present (chainsaw)" { "visible is" "bool 1" "local_player weapon has" "string weapon_chainsaw" "caption set" "string #L4D_Instructor_explain_trade_melee_for_pistol" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_pistol" } } } //-------------------------------------------------------- // Indicate that a Molotov Cocktail is available //-------------------------------------------------------- "Explain Molotov Cocktail" { "team" "2" "priority" "59" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_molotov_get" "range" "360.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string molotov" "local_player !weapon has" "string weapon_vomitjar" "local_player !weapon has" "string weapon_molotov" "local_player !weapon has" "string weapon_pipe_bomb" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string vomitjar" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pipe_bomb" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string molotov" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_molotov_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_molotov" } } } //-------------------------------------------------------- // Indicate that a Pipe Bomb is available //-------------------------------------------------------- "Explain Pipe Bomb" { "team" "2" "priority" "59" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_pipebomb_get" "range" "360.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pipe_bomb" "local_player !weapon has" "string weapon_vomitjar" "local_player !weapon has" "string weapon_molotov" "local_player !weapon has" "string weapon_pipe_bomb" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string vomitjar" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pipe_bomb" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string molotov" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_pipebomb_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_pipebomb" } } } //-------------------------------------------------------- // Indicate that a Vomit Jar is available //-------------------------------------------------------- "Explain Vomit Jar" { "team" "2" "priority" "59" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_vomitjar_get" "range" "360.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string vomitjar" "local_player !weapon has" "string weapon_vomitjar" "local_player !weapon has" "string weapon_molotov" "local_player !weapon has" "string weapon_pipe_bomb" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string vomitjar" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pipe_bomb" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string molotov" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_vomitjar_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_vomitjar" } } } //-------------------------------------------------------- // Indicate that a Melee Weapon is available //-------------------------------------------------------- "Explain Melee Weapon" { "team" "2" "priority" "57" "instance_type" "3" "display_limit" "4" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_melee_get" "range" "360.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string melee" "local_player !weapon has" "string weapon_melee" "local_player !weapon has" "string weapon_chainsaw" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string melee" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string chainsaw" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol_magnum" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_melee_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_melee" } } } //-------------------------------------------------------- // Indicate that a Chainsaw is available //-------------------------------------------------------- "Explain Chainsaw" { "team" "2" "priority" "58" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_chainsaw_get" "range" "360.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string chainsaw" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string melee" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string chainsaw" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol_magnum" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_chainsaw_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_chainsaw" } } } //-------------------------------------------------------- // Indicate that an auto shotgun is available //-------------------------------------------------------- "Explain Autoshotgun" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_autoshotgun_get" "icon_offset" "8.0" "range" "400.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string autoshotgun" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_autoshotgun_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_autoshotgun" } } } //-------------------------------------------------------- // Indicate that an assault rifle is available //-------------------------------------------------------- "Explain Assault Rifle" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_rifle_get" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string rifle" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_rifle_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_rifle" } } } //-------------------------------------------------------- // Indicate that a hunting rifle is available //-------------------------------------------------------- "Explain Hunting Rifle" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_hunting_rifle_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string hunting_rifle" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_hunting_rifle_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_hunting_rifle" } } } //-------------------------------------------------------- // Indicate that an smg is available //-------------------------------------------------------- "Explain SMG" { "team" "2" "priority" "70" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_smg_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string smg" "local_player !weapon has" "string weapon_smg" "local_player !weapon has" "string weapon_smg_silenced" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_pumpshotgun" "local_player !weapon has" "string weapon_shotgun_chrome" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "local_player !weapon has" "string weapon_grenade_launcher" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg_silenced" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pumpshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_chrome" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_smg_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_smg" } } } //-------------------------------------------------------- // Indicate that a pumpshotgun is available //-------------------------------------------------------- "Explain Pumpshotgun" { "team" "2" "priority" "70" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_pumpshotgun_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pumpshotgun" "local_player !weapon has" "string weapon_pumpshotgun" "local_player !weapon has" "string weapon_shotgun_chrome" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_smg" "local_player !weapon has" "string weapon_smg_silenced" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "local_player !weapon has" "string weapon_grenade_launcher" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg_silenced" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pumpshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_chrome" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_pumpshotgun_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_pumpshotgun" } } } //-------------------------------------------------------- // Indicate that a silenced smg is available //-------------------------------------------------------- "Explain Silenced SMG" { "team" "2" "priority" "70" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_smg_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string smg_silenced" "local_player !weapon has" "string weapon_smg" "local_player !weapon has" "string weapon_smg_silenced" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_pumpshotgun" "local_player !weapon has" "string weapon_shotgun_chrome" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "local_player !weapon has" "string weapon_grenade_launcher" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg_silenced" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pumpshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_chrome" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_smg_silenced_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_smg_silenced" } } } //-------------------------------------------------------- // Indicate that a shotgun_chrome is available //-------------------------------------------------------- "Explain shotgun_chrome" { "team" "2" "priority" "70" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_shotgun_chrome_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string shotgun_chrome" "local_player !weapon has" "string weapon_smg" "local_player !weapon has" "string weapon_smg_silenced" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_spas" "local_player !weapon has" "string weapon_pumpshotgun" "local_player !weapon has" "string weapon_shotgun_chrome" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "local_player !weapon has" "string weapon_grenade_launcher" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string smg_silenced" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pumpshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_chrome" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_shotgun_chrome_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_shotgun_chrome" } } } //-------------------------------------------------------- // Indicate that a desert assault rifle is available //-------------------------------------------------------- "Explain Desert Assault Rifle" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_rifle_desert_get" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string rifle_desert" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_rifle_desert_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_rifle_desert" } } } //-------------------------------------------------------- // Indicate that an AK-47 rifle is available //-------------------------------------------------------- "Explain AK-47 Rifle" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_rifle_ak47_get" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string rifle_ak47" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_rifle_ak47_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_rifle_ak47" } } } //-------------------------------------------------------- // Indicate that an shotgun SPAS is available //-------------------------------------------------------- "Explain Shotgun SPAS" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_shotgun_spas_get" "icon_offset" "8.0" "range" "400.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string shotgun_spas" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_hunting_rifle" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string hunting_rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_shotgun_spas_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_shotgun_spas" } } } //-------------------------------------------------------- // Indicate that a military sniper rifle is available //-------------------------------------------------------- "Explain Sniper Military" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_sniper_military_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "400.0" "icon_offset" "8.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string sniper_military" "local_player !weapon has" "string weapon_autoshotgun" "local_player !weapon has" "string weapon_shotgun_spas" "local_player !weapon has" "string weapon_rifle" "local_player !weapon has" "string weapon_rifle_desert" "local_player !weapon has" "string weapon_rifle_ak47" "local_player !weapon has" "string weapon_sniper_military" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string autoshotgun" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string shotgun_spas" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_desert" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string rifle_ak47" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string sniper_military" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_sniper_military_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_sniper_military" } } } //-------------------------------------------------------- // Indicate that a grenade launcher is available //-------------------------------------------------------- "Explain Grenade Launcher" { "team" "2" "priority" "71" "instance_type" "3" "display_limit" "2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "caption" "#L4D_Instructor_explain_grenade_launcher_get" "icon_offset" "8.0" "range" "400.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string grenade_launcher" "local_player !weapon has" "string weapon_grenade_launcher" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string grenade_launcher" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_grenade_launcher_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_grenade_launcher" } } } //-------------------------------------------------------- // Indicate the availability of nearby pain pills //-------------------------------------------------------- "Explain Pills" { "team" "2" "priority" "60" "instance_type" "3" "display_limit" "8" "success_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_pills_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pain_pills" "local_player !weapon has" "string weapon_pain_pills" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_pills_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_pills" } } } //-------------------------------------------------------- // Indicate the availability of nearby adrenaline //-------------------------------------------------------- "Explain Adrenaline" { "team" "2" "priority" "60" "instance_type" "3" "display_limit" "8" "success_limit" "2" "binding" "+use" "caption" "#L4D_Instructor_explain_adrenaline_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "8.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string adrenaline" "local_player !weapon has" "string weapon_adrenaline" "icon_target set" "entity subject" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } } "success" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D_Instructor_explain_adrenaline_get" "void present complete" "void" "caption set" "string #L4D_Instructor_explain_adrenaline" } } } //-------------------------------------------------------- // Explain how to manually reload your weapon //-------------------------------------------------------- "Explain Reload" { "team" "2" "priority" "45" "instance_type" "1" "display_limit" "5" "success_limit" "2" "binding" "+reload" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_explain_reload" "timeout" "15.0" "can_timeout_while_inactive" "1" "open" { "weapon_fire_at_40" // only happens at 40 { "local_player is" "player userid" "local_player !weapon ammo empty" "int 0" "icon_target set" "player local_player" } } "close" { "weapon_reload" { "local_player is" "player userid" "integer1 set" "bool manual" "integer1 is" "bool 1" } } "success" { "weapon_reload" { "local_player is" "player userid" "integer1 set" "bool manual" "integer1 is" "bool 1" } "weapon_fire_at_40" // only happens at 40 { "local_player is" "player userid" "local_player !weapon ammo empty" "int 0" "visible set" "bool 1" "visible is" "bool 0" // Don't actually mark success, just changing visible flag } } "update" { "Got ammo somehow or selected different" { "local_player !clip percentage less than" "float 41.0" "visible set" "bool 0" } "Out of ammo" { "local_player weapon ammo empty" "int 0" "void close" "void" } } } //-------------------------------------------------------- // Explain that pistols have infinte ammo //-------------------------------------------------------- "Explain Pistol Ammo" { "team" "2" "priority" "77" "instance_type" "1" "display_limit" "2" "onscreen_icon" "icon_tip" "caption" "#L4D_Instructor_explain_pistol_ammo" "timeout" "6.0" "can_timeout_while_inactive" "1" "open" { "weapon_reload" { "local_player is" "player userid" "local_player weapon is" "string weapon_pistol" "icon_target set" "player local_player" } "weapon_reload" { "local_player is" "player userid" "local_player weapon is" "string weapon_pistol_magnum" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Explain that you can only carry one grenade //-------------------------------------------------------- "Explain Grenade Limit" { "team" "2" "priority" "77" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_tip" "caption" "#L4D_Instructor_explain_grenade_limit" "timeout" "6.0" "can_timeout_while_inactive" "1" "open" { "item_pickup" { "local_player is" "player userid" "local_player has weapon in slot" "int 2" "local_player !weapon ammo empty" "int 2" "string1 set" "string item" "string1 is" "string molotov" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "local_player has weapon in slot" "int 2" "local_player !weapon ammo empty" "int 2" "string1 set" "string item" "string1 is" "string pipe_bomb" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "local_player has weapon in slot" "int 2" "local_player !weapon ammo empty" "int 2" "string1 set" "string item" "string1 is" "string vomitjar" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Explain that shooting a friend is bad. //-------------------------------------------------------- "Explain Friendly Fire Attacker" { "team" "2" "priority" "95" "instance_type" "2" "onscreen_icon" "icon_no" "caption" "#L4D_Instructor_explain_friendly_fire" "caption_param" "use_name" "icon_offset" "12.0" "timeout" "5.0" "can_timeout_while_inactive" "1" "no_offscreen" "1" "open" { "friendly_fire" { "local_player is" "player attacker" "local_player !is" "player victim" "local_player is" "player guilty" "integer1 set" "int type" "integer1 !has bit" "int 3" // ignore DMG_BURN "integer1 !has bit" "int 6" // ignore DMG_BLAST "integer1 !has bit" "int 21" // DMG_MELEE is not set "integer1 !has bit" "int 26" // DMG_CHAINSAW is not set "icon_target set" "player victim" "caption set" "string #L4D_Instructor_explain_friendly_fire" } "friendly_fire" // Melee { "local_player is" "player attacker" "local_player !is" "player victim" "local_player is" "player guilty" "integer1 set" "int type" "integer1 !has bit" "int 3" // ignore DMG_BURN "integer1 !has bit" "int 6" // ignore DMG_BLAST "integer1 !has bit" "int 26" // DMG_CHAINSAW is not set "integer1 has bit" "int 21" // DMG_MELEE is set "icon_target set" "player victim" "caption set" "string #L4D_Instructor_explain_friendly_fire_melee" } "friendly_fire" // Chainsaw { "local_player is" "player attacker" "local_player !is" "player victim" "local_player is" "player guilty" "integer1 set" "int type" "integer1 !has bit" "int 3" // ignore DMG_BURN "integer1 !has bit" "int 6" // ignore DMG_BLAST "integer1 !has bit" "int 21" // DMG_MELEE is not set "integer1 has bit" "int 26" // DMG_CHAINSAW is set "icon_target set" "player victim" "caption set" "string #L4D_Instructor_explain_friendly_fire_melee" } } } //-------------------------------------------------------- // Explain that running through gunfire is bad. //-------------------------------------------------------- "Explain Friendly Fire Reckless" { "team" "2" "priority" "95" "instance_type" "2" "display_limit" "4" "onscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_explain_reckless" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "friendly_fire" { "local_player !is" "player attacker" "local_player is" "player victim" "local_player is" "player guilty" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Indicate that a survivor is in a closet awaiting // rescue //-------------------------------------------------------- "Explain Rescue" { "team" "2" "priority" "88" "instance_type" "2" "success_limit" "2" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_explain_rescue" "icon_offset" "32.0" "force_caption" "1" "timeout" "10" "can_timeout_while_inactive" "1" "open" { "survivor_call_for_help" { "local_player !is" "player userid" "entity1 set" "entity subject" "icon_target set" "entity subject" } } "close" { "survivor_rescued" { } } "success" { "survivor_rescued" { "local_player is" "player rescuer" } } } //-------------------------------------------------------- // Tell this survivor who let them out of the rescue // closet //-------------------------------------------------------- "RescuedBy" { "team" "2" "priority" "99" "instance_type" "2" "success_limit" "0" "onscreen_icon" "icon_shield" "no_offscreen" "1" "caption" "#L4D_Instructor_rescued_by" "caption_param" "use_name" "caption_color" "56,148,194" "icon_offset" "32.0" "timeout" "6" "can_timeout_while_inactive" "1" "can_open_when_dead" "1" "open" { "survivor_rescued" { "local_player is" "player victim" "icon_target set" "player rescuer" "icon_target team is" "int 2" } } "close" { "player_death" { "icon_target is" "player userid" } } } //-------------------------------------------------------- "RescuedOther" { "team" "2" "priority" "99" "instance_type" "2" "success_limit" "0" "onscreen_icon" "icon_shield" "caption" "#L4D_Instructor_rescued_other" "caption_color" "56,148,194" "timeout" "6" "can_timeout_while_inactive" "1" "open" { "survivor_rescued" { "local_player is" "player rescuer" "icon_target set" "player local_player" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "player_death" { "icon_target is" "player userid" } } } //-------------------------------------------------------- // How to open/close a door //-------------------------------------------------------- "Explain Use Door" { "team" "2" "priority" "0" "instance_type" "2" "fixed_instances_max" "3" "success_limit" "3" "binding" "+use" "onscreen_icon" "use_binding" "offscreen_icon" "icon_door" "no_offscreen" "1" "show_when_occluded" "0" "caption" "#L4D_Instructor_explain_use_door" "range" "150.0" "start_sound" "" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating" "icon_target set" "entity subject" "visible set" "bool 0" } } "success" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "close" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "update" { "Base" { "visible set" "bool 0" } "Player has it as use target" { "local_player use target is" "entity icon_target" "visible set" "bool 1" } } } //-------------------------------------------------------- // How to open/close a saferoom door //-------------------------------------------------------- "Explain Use Saferoom Door" { "team" "2" "priority" "73" "instance_type" "2" "fixed_instances_max" "3" "success_limit" "3" "binding" "+use" "onscreen_icon" "use_binding" "offscreen_icon" "icon_door" "no_offscreen" "1" "show_when_occluded" "0" "caption" "#L4D_Instructor_explain_use_door" "range" "150.0" "start_sound" "" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_exit" "icon_target set" "entity subject" "visible set" "bool 0" } } "success" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "close" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "update" { "Base" { "visible set" "bool 0" } "Player has it as use target" { "local_player use target is" "entity icon_target" "visible set" "bool 1" } } } //-------------------------------------------------------- // How to pickup a physics prop //-------------------------------------------------------- "Explain Pickup Item" { "team" "2" "priority" "100" "instance_type" "1" "display_limit" "10" "success_limit" "3" "binding" "+use" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_explain_pickup_item" "icon_offset" "0.0" "range" "200" "start_sound" "" "open" { "use_target" { "integer1 set" "bool isprop" "integer1 is" "int 1" "string1 set" "string classname" "string1 is" "string C_PhysicsProp" "icon_target set" "entity targetid" "icon_target !modelname is" "string w_models\Weapons\w_cola.mdl" } } "success" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } } "close" { "player_use" { "local_player is" "player userid" "icon_target is" "entity targetid" } "use_target" { "integer1 set" "int targetid" "integer1 is" "int 0" } } } //-------------------------------------------------------- // Notify this player that they are waiting for another // survivor to rescue them. //-------------------------------------------------------- "Notify Awaiting Rescue" { "team" "2" "priority" "150" "instance_type" "2" "can_open_when_dead" "1" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_awaiting_rescue" "timeout" "10" "can_timeout_while_inactive" "1" "start_sound" "" "open" { "survivor_call_for_help" { "local_player is" "player userid" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "survivor_rescued" { } } } //-------------------------------------------------------- // Notify this player that if they go down again they'll // die //-------------------------------------------------------- "Notify Last Life" { "team" "2" "priority" "150" "instance_type" "2" "display_limit" "5" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_last_life" "caption_color" "255,255,0" "timeout" "10" "can_timeout_while_inactive" "1" "start_sound" "" "open" { "revive_success" { "local_player is" "player subject" "integer1 set" "bool lastlife" "integer1 is" "bool 1" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Remind this Survivor that staying together is crucial to // survival. This is a general-purpose hint, not something // specifically displayed when the group is separated. //-------------------------------------------------------- "Notify Stay Together" { "team" "2" "priority" "94" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_tip" "caption" "#L4D_Instructor_notify_stay_together" "timeout" "8.0" "open" { "player_left_start_area" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Remind this Survivor that crouching improves accuracy // This is a general-purpose hint. //-------------------------------------------------------- "Notify Crouch Accuracy" { "team" "2" "priority" "94" "instance_type" "1" "prereq" "Notify Stay Together" "display_limit" "2" "onscreen_icon" "use_binding" "binding" "+duck" "caption" "#L4D_Instructor_notify_crouch_accuracy" "timeout" "8.0" "open" { "player_left_start_area" { "local_player is" "player userid" "local_player !weapon is" "string weapon_melee" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Remind this Survivor that crouching improves accuracy // This is a general-purpose hint. //-------------------------------------------------------- "Notify Crouch Tactic" { "team" "2" "priority" "94" "instance_type" "1" "prereq" "Notify Crouch Accuracy" "display_limit" "2" "onscreen_icon" "use_binding" "binding" "+duck" "caption" "#L4D_Instructor_notify_crouch_tactic" "timeout" "8.0" "open" { "player_left_start_area" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Notify this survivor that they should shove back nearby // infected. //-------------------------------------------------------- "Notify Shove Infected" { "team" "2" "priority" "130" "instance_type" "2" "display_limit" "10" "success_limit" "3" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_shove_infected" "timeout" "8.0" "open" { "player_hurt" { "local_player is" "player userid" "entity1 set" "entity attackerentid" "entity1 classname is" "string class C_Infected" "local_player get angular distance" "entity entity1" "distance less than" "float 80.0" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "entity1 set" "entity attackerentid" "entity1 classname is" "string class C_Infected" "local_player get angular distance" "entity entity1" "distance less than" "float 80.0" "icon_target set" "player local_player" } } "close" { "entity_shoved" { "entity1 is" "entity entityid" } "player_incapacitated" { "local_player is" "player userid" } } "success" { "player_shoved" { "entity1 is" "player userid" "local_player is" "player attacker" } "entity_shoved" { "entity1 is" "entity entityid" "local_player is" "player attacker" } } "update" { "He's far away now" { "local_player get distance" "entity entity1" "distance !less than" "float 250.0" "void close" "void" } "He vanished somehow" { "entity1 is" "entity NULL" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they are being attacked from // behind. //-------------------------------------------------------- "Notify Infected Behind" { "team" "2" "priority" "127" "instance_type" "2" "display_limit" "10" [$X360] "display_limit" "6" [$WIN32] "success_limit" "3" "binding" "+lookspin" [$X360] "onscreen_icon" "use_binding" [$X360] "onscreen_icon" "icon_alert_red" [$WIN32] "caption" "#L4D_Instructor_notify_infected_behind" "timeout" "8.0" "group" "survivor_glows" "open" { "player_hurt" { "local_player is" "player userid" "entity1 set" "entity attackerentid" "entity1 classname is" "string class C_Infected" "local_player get angular distance" "entity entity1" "distance !less than" "float 120.0" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "entity1 set" "entity attackerentid" "entity1 classname is" "string class C_Infected" "local_player get angular distance" "entity entity1" "distance !less than" "float 120.0" "icon_target set" "player local_player" } } "close" { "entity_shoved" { "entity1 is" "entity entityid" } "player_incapacitated" { "local_player is" "player userid" } } "success" { "player_shoved" { "entity1 is" "player userid" "local_player is" "player attacker" } "entity_shoved" { "entity1 is" "entity entityid" "local_player is" "player attacker" } } "update" { "Now facing attacker" { "local_player get angular distance" "entity entity1" "distance less than" "float 60.0" "void success" "void" "void close" "void" } "He's far away now" { "local_player get distance" "entity entity1" "distance !less than" "float 250.0" "void close" "void" } "He vanished somehow" { "entity1 is" "entity NULL" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they should shove back boomers //-------------------------------------------------------- "Notify Shove Boomer" { "team" "2" "priority" "130" "instance_type" "2" "display_limit" "10" "success_limit" "3" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_shove_boomer" "icon_offset" "12.0" "range" "180.0" "group" "survivor_glows" "open" { "boomer_near" { "local_player is" "player victim" "icon_target set" "player userid" } } "close" { "player_death" { "icon_target is" "entity entityid" } "player_death" { "icon_target is" "player userid" } "entity_shoved" { "icon_target is" "entity entityid" } "player_shoved" { "icon_target is" "player userid" } "player_now_it" { "local_player is" "player userid" "integer1 set" "bool by_boomer" "integer1 is" "bool 1" } } "success" { "player_shoved" { "icon_target is" "player userid" "local_player is" "player attacker" } "entity_shoved" { "icon_target is" "entity entityid" "local_player is" "player attacker" } } "update" { "Boomer Changed Class Somehow" { "icon_target !weapon is" "string weapon_boomer_claw" "void close" "void" } } } //-------------------------------------------------------- // Notify the player that they were given an item //-------------------------------------------------------- "Notify Given Item" { "team" "2" "priority" "91" "instance_type" "1" "timeout" "8" "can_timeout_while_inactive" "1" "open" { "weapon_given" { "local_player is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS "icon_target set" "player local_player" "onscreen_icon set" "string icon_painpills" "caption set" "string #L4D_Instructor_notify_given_item_pain_pills" "entity1 set" "player giver" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "weapon_given" { "local_player is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE "icon_target set" "player local_player" "onscreen_icon set" "string icon_adrenaline" "caption set" "string #L4D_Instructor_notify_given_item_adrenaline" "entity1 set" "player giver" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "pills_used" { "local_player is" "player userid" } "adrenaline_used" { "local_player is" "player userid" } "weapon_given" { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "weapon_given" { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } } } //-------------------------------------------------------- // Notify the player that they failed to use pills because // their health is already full //-------------------------------------------------------- "Notify Failed To Use Pills" { "team" "2" "priority" "0" "instance_type" "2" "onscreen_icon" "icon_painpills" "caption" "#L4D_Instructor_notify_failed_to_use_pills" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "pills_used_fail" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "pills_used" { "local_player is" "player userid" } "weapon_given" { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } } } //-------------------------------------------------------- // Notify the player that they failed to use defib because: // the target is alive or incapped //-------------------------------------------------------- "Notify Failed To Use Defibrillator" { "team" "2" "priority" "0" "instance_type" "2" "onscreen_icon" "icon_defibrillator" "caption" "#L4D_Instructor_notify_failed_to_use_defibrillator" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "defibrillator_used_fail" { "local_player is" "player userid" "local_player !is" "player subject" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_notify_failed_to_use_defibrillator" "entity1 set" "player subject" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "defibrillator_used" { "local_player is" "player userid" } } "update" { "Selected Different Weapon" { "local_player !weapon is" "string weapon_defibrillator" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they should heal themself. //-------------------------------------------------------- "Notify Heal Self" { "team" "2" "priority" "88" "instance_type" "1" "display_limit" "8" "success_limit" "4" "gamepad_binding" "slot4" "binding" "+invnext;+invprev" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_heal_self" "lock_duration" "5" "group" "item_glows" "integer1" "1" "integer2" "0" "open" { "player_hurt" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" "local_player health less than" "int 45" "icon_target set" "player local_player" } "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_exit" "local_player health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "icon_target set" "player local_player" } "revive_success" { "local_player is" "player subject" "local_player health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "icon_target set" "player local_player" } } "close" { "heal_begin" // getting healed { "local_player is" "player subject" "visible set" "bool 0" "integer1 set" "int 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "local_player is" "player subject" "visible set" "bool 1" "integer1 set" "int 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" { "local_player is" "player subject" } "heal_success" { "local_player is" "player userid" } "pills_used" { "local_player is" "player userid" } // pick up another backpack item "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "heal_success" { "local_player is" "player userid" "local_player is" "player subject" } } "update" { "Base Setting" { "gamepad_binding set" "string slot4" "binding set" "string +invnext;+invprev" "caption set" "string #L4D_Instructor_notify_heal_self" "local_player !weapon is" "string weapon_first_aid_kit" "integer2 set" "int 0" } "Wants To Be Visible Unless Healing Other" { "integer1 is" "int 1" // Should be visible "visible set" "bool 1" "local_player get use target" "int 2" "entity2 team is" "int 2" "entity2 health less than" "int 70" "entity2 !weapon has" "string weapon_first_aid_kit" "local_player weapon is" "string weapon_first_aid_kit" "visible set" "bool 0" } "Selected First Aid Kit" { "local_player weapon is" "string weapon_first_aid_kit" "gamepad_binding set" "string +attack" "binding set" "string +attack" "caption set" "string #L4D_Instructor_notify_heal_self_hold" "integer2 is" "int 0" "void lock" "void" "integer2 set" "int 1" } "Got Healthy Somehow" { "local_player !health less than" "int 45" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they should eat some pills //-------------------------------------------------------- "Notify Pill Self" { "team" "2" "priority" "88" "instance_type" "1" "display_limit" "8" "success_limit" "4" "gamepad_binding" "slot5" "binding" "+invnext;+invprev" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_pill_self" "timeout" "20.0" "can_timeout_while_inactive" "1" "integer1" "1" "open" { "player_hurt" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_pain_pills" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_pain_pills" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "local_player !weapon has" "string weapon_first_aid_kit" "string1 set" "string item" "string1 is" "string pain_pills" "local_player health less than" "int 45" "icon_target set" "player local_player" } "revive_success" { "local_player is" "player subject" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_pain_pills" "icon_target set" "player local_player" } } "close" { "heal_begin" // getting healed { "local_player is" "player subject" "visible set" "bool 0" "integer1 set" "int 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "local_player is" "player subject" "visible set" "bool 1" "integer1 set" "int 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" { "local_player is" "player subject" } "pills_used" { "local_player is" "player userid" } "weapon_given" // Gave away the pills { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "item_pickup" // Picked up a health kit { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // Picked up adrenaline { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } } "success" { "pills_used" { "local_player is" "player userid" } } "update" { "Base Setting" { "gamepad_binding set" "string slot5" "binding set" "string +invnext;+invprev" } "Wants To Be Visible Unless Giving to Other" { "integer1 is" "int 1" // Should be visible "visible set" "bool 1" "local_player get use target" "int 2" "entity2 team is" "int 2" "entity2 !weapon has" "string weapon_pain_pills" "entity2 !weapon has" "string weapon_adrenaline" "local_player weapon is" "string weapon_pain_pills" "visible set" "bool 0" } "Selected Pills" { "local_player weapon is" "string weapon_pain_pills" "gamepad_binding set" "string +attack" "binding set" "string +attack" } "Got Healthy Somehow" { "local_player !health less than" "int 45" "void close" "void" } } } "Notify Adrenaline Usage" { "team" "2" "priority" "76" "instance_type" "1" "display_limit" "4" "onscreen_icon" "icon_adrenaline" "caption" "#L4D_Instructor_adrenaline_usage" "timeout" "8.0" "can_timeout_while_inactive" "1" "open" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" "icon_target set" "player local_player" } } "close" { "adrenaline_used" { "local_player is" "player userid" } "weapon_given" // Gave away the adrenaline { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } // picked up pills "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } } } //-------------------------------------------------------- // Notify this survivor that they should use adrenaline, same rules as pills for now //-------------------------------------------------------- "Notify Adrenaline Self" { "team" "2" "priority" "88" "instance_type" "1" "display_limit" "8" "success_limit" "4" "gamepad_binding" "slot5" "binding" "+invnext;+invprev" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_adrenaline_self" "timeout" "20.0" "can_timeout_while_inactive" "1" "integer1" "1" "open" { "player_hurt" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_adrenaline" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_adrenaline" "icon_target set" "player local_player" } "item_pickup" { "local_player is" "player userid" "local_player !weapon has" "string weapon_first_aid_kit" "string1 set" "string item" "string1 is" "string adrenaline" "local_player health less than" "int 45" "icon_target set" "player local_player" } "revive_success" { "local_player is" "player subject" "local_player health less than" "int 45" "local_player !weapon has" "string weapon_first_aid_kit" "local_player weapon has" "string weapon_adrenaline" "icon_target set" "player local_player" } } "close" { "heal_begin" // getting healed { "local_player is" "player subject" "visible set" "bool 0" "integer1 set" "int 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "local_player is" "player subject" "visible set" "bool 1" "integer1 set" "int 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" { "local_player is" "player subject" } "adrenaline_used" { "local_player is" "player userid" } "weapon_given" // Gave away the adrenaline { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "item_pickup" // Picked up a health kit { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // Picked up adrenaline { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } } "success" { "adrenaline_used" { "local_player is" "player userid" } } "update" { "Base Setting" { "gamepad_binding set" "string slot5" "binding set" "string +invnext;+invprev" } "Wants To Be Visible Unless Giving to Other" { "integer1 is" "int 1" // Should be visible "visible set" "bool 1" "local_player get use target" "int 2" "entity2 team is" "int 2" "entity2 !weapon has" "string weapon_pain_pills" "entity2 !weapon has" "string weapon_adrenaline" "local_player weapon is" "string weapon_adrenaline" "visible set" "bool 0" } "Selected Adrenaline" { "local_player weapon is" "string weapon_adrenaline" "gamepad_binding set" "string +attack" "binding set" "string +attack" } "Got Healthy Somehow" { "local_player !health less than" "int 45" "void close" "void" } } } "Notify Defibrillator Usage" { "team" "2" "priority" "76" "instance_type" "1" "display_limit" "4" "onscreen_icon" "icon_defibrillator" "caption" "#L4D_Instructor_defibrillator_usage" "timeout" "8.0" "can_timeout_while_inactive" "1" "open" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" "icon_target set" "player local_player" } } "close" { "defibrillator_used" { "local_player is" "player userid" } // picked up another backpack slot item "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } } "Notify UpgradePack Usage" { "team" "2" "priority" "76" "instance_type" "1" "display_limit" "4" "onscreen_icon" "icon_incendiary_ammo" "caption" "#L4D_Instructor_upgradepack_usage" "timeout" "8.0" "can_timeout_while_inactive" "1" "open" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" "icon_target set" "player local_player" "onscreen_icon set" "string icon_incendiary_ammo" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" "icon_target set" "player local_player" "onscreen_icon set" "string icon_explosive_ammo" } } "close" { // picked up another backpack slot item "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } } "success" { "upgrade_pack_used" { "local_player is" "player userid" } } } //-------------------------------------------------------- // They tried to use upgraded ammo piles multiple times //-------------------------------------------------------- "Notify failed to use upgrade ammo" { "team" "2" "priority" "0" "instance_type" "2" "onscreen_icon" "icon_incendiary_ammo" "caption" "#L4D_Instructor_notify_failed_to_use_upgrade_ammo_pile" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "upgrade_item_already_used" { "local_player is" "player userid" "string1 set" "string upgradeclass" "string1 is" "string upgrade_ammo_incendiary" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_notify_failed_to_use_incendiary_ammo_pile" "onscreen_icon set" "string icon_incendiary_ammo" } "upgrade_item_already_used" { "local_player is" "player userid" "string1 set" "string upgradeclass" "string1 is" "string upgrade_ammo_explosive" "icon_target set" "player local_player" "caption set" "string #L4D_Instructor_notify_failed_to_use_explosive_ammo_pile" "onscreen_icon set" "string icon_explosive_ammo" } } } //-------------------------------------------------------- // Notify this survivor that they should heal someone else. //-------------------------------------------------------- "Notify Heal Other" { "team" "2" "priority" "86" "instance_type" "1" "display_limit" "12" "success_limit" "4" "onscreen_icon" "icon_medkit" "caption" "#L4D_Instructor_notify_heal_other" "caption_param" "use_name" "range" "700.0" "icon_offset" "12.0" "no_offscreen" "1" "update_interval" "0.25" "group" "survivor_glows" "open" { "player_hurt" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_first_aid_kit" "icon_target set" "player userid" } "player_hurt_concise" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_first_aid_kit" "icon_target set" "player userid" } "entity_visible" { "local_player !is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_exit" "entity1 set" "player userid" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_first_aid_kit" "icon_target set" "player userid" } "revive_success" { "local_player !is" "player subject" "entity1 set" "player subject" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_first_aid_kit" "icon_target set" "player subject" } } "close" { "heal_begin" // healing someone with our kit { "local_player is" "player userid" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "local_player is" "player userid" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_begin" // other is getting healed by someone { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "heal_success" // I healed someone (no more kit) { "local_player is" "player userid" } "pills_used" // other used pills { "entity1 is" "player userid" } "player_death" { "entity1 is" "player userid" } "item_pickup" // other picked up a health kit { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // we picked up a defibrillator { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" // we picked up upgrade pack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" // we picked up upgrade pack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "heal_success" { "local_player is" "player userid" "entity1 is" "player subject" } } "update" { "Default" { "onscreen_icon set" "string icon_medkit" "caption set" "string #L4D_Instructor_notify_heal_other" } "Select Health Kit Near" { "local_player !weapon is" "string weapon_first_aid_kit" "local_player use target is" "player entity1" "gamepad_binding set" "string slot4" "binding set" "string +invnext;+invprev" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_heal_other_near_select" } "Use Health Kit Near" { "local_player weapon is" "string weapon_first_aid_kit" "local_player use target is" "player entity1" "gamepad_binding set" "string +attack2" "binding set" "string +attack2" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_heal_other_near" } "Use Health Kit Far" { "local_player weapon is" "string weapon_first_aid_kit" "local_player !use target is" "player entity1" "onscreen_icon set" "string icon_alert" "caption set" "string #L4D_Instructor_notify_heal_other_far" } "Got Healthy Somehow" { "icon_target !health less than" "int 45" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they should heal someone else. //-------------------------------------------------------- "Notify Use Defibrillator" { "team" "2" "priority" "86" "instance_type" "1" "display_limit" "12" "success_limit" "4" "onscreen_icon" "icon_defibrillator" "caption" "#L4D_Instructor_notify_use_defibrillator" "range" "700.0" "icon_offset" "12.0" "no_offscreen" "0" "update_interval" "0.25" "group" "survivor_glows" "open" { "dead_survivor_visible" { "local_player is" "player userid" "local_player weapon has" "string weapon_defibrillator" "icon_target set" "entity subject" "entity1 set" "player deadplayer" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "defibrillator_begin" // healing someone with our kit { "local_player is" "player userid" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "defibrillator_interrupted" { "local_player is" "player userid" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "defibrillator_begin" // other is getting revived by someone ( they may be defib'ing someone else - bug ) { "local_player !is" "player userid" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "defibrillator_used" // I healed someone (no more kit) { "local_player is" "player userid" } "item_pickup" // we picked up a health kit { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // we picked up upgradepack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" // we picked up upgradepack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } // Lesson will close if the survivor_death_model goes away } "success" { "defibrillator_used" { "local_player is" "player userid" } } "update" { "Base Setting" { "gamepad_binding set" "string slot4" "binding set" "string +invnext;+invprev" "caption set" "string #L4D_Instructor_notify_use_defibrillator" "local_player !weapon is" "string weapon_defibrillator" "integer2 set" "int 0" } "Selected Defibrillator" { "local_player weapon is" "string weapon_defibrillator" "gamepad_binding set" "string +attack2" "binding set" "string +attack2" "caption set" "string #L4D_Instructor_notify_use_defibrillator_hold" "integer2 is" "int 0" "void lock" "void" "integer2 set" "int 1" } } } //-------------------------------------------------------- // Notify this survivor that they can heal other near-by. //-------------------------------------------------------- "Notify Heal Other (non-urgent)" { "team" "2" "priority" "84" "instance_type" "1" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_heal_other_near" "caption_param" "use_name" "icon_offset" "12.0" "no_offscreen" "1" "group" "survivor_glows" "open" { "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "entity1 health less than" "int 70" "entity1 !health less than" "int 1" "local_player weapon is" "string weapon_first_aid_kit" "string1 set" "string classname" "string1 is" "string C_SurvivorBot" "icon_target set" "entity targetid" } "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "entity1 health less than" "int 70" "entity1 !health less than" "int 1" "local_player weapon is" "string weapon_first_aid_kit" "string1 set" "string classname" "string1 is" "string C_TerrorPlayer" "icon_target set" "entity targetid" } } "close" { "heal_begin" // other is getting healed by someone { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "heal_success" // I healed someone (no more kit) { "local_player is" "player userid" } "pills_used" // other used pills { "entity1 is" "player userid" } "player_death" { "entity1 is" "player userid" } "item_pickup" // other picked up a health kit { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // we picked up a defibrillator { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string defibrillator" } "item_pickup" // we picked up an upgradepack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_incendiary" } "item_pickup" // we picked up an upgradepack { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string upgradepack_explosive" } } "success" { "heal_success" { "local_player is" "player userid" "entity1 is" "player subject" } } "update" { "Not Looking At Him Anymore" { "local_player !use target is" "player icon_target" "void close" "void" } "Selected Different Weapon" { "local_player !weapon is" "string weapon_first_aid_kit" "void close" "void" } "Got Healthy Somehow" { "icon_target !health less than" "int 70" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they can give pills to another player. //-------------------------------------------------------- "Notify Give Pills" { "team" "2" "priority" "83" "instance_type" "1" "display_limit" "8" "success_limit" "4" "group" "survivor_glows" "onscreen_icon" "icon_painpills" "caption" "#L4D_Instructor_notify_give_pills" "caption_param" "use_name" "range" "700.0" "icon_offset" "12.0" "no_offscreen" "1" "update_interval" "0.25" "timeout" "20.0" "can_timeout_while_inactive" "1" "open" { "player_hurt" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_pain_pills" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player userid" } "player_hurt_concise" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_pain_pills" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player userid" } "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_exit" "entity1 set" "player userid" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_pain_pills" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_adrenaline" "entity1 !weapon has" "string weapon_first_aid_kit" "icon_target set" "player userid" } "revive_success" { "local_player !is" "player subject" "entity1 set" "player subject" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_pain_pills" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player subject" } } "close" { "heal_begin" // other is getting healed { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "weapon_given" // other was given pills { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "weapon_given" // other was given adrenaline { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "weapon_given" // I gave my pills away { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "item_pickup" // other picked up pills { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // other picked up adrenaline { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "item_pickup" // we picked up adrenaline { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "item_pickup" // other picked up a health kit { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // we picked up a health kit { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "pills_used" // other used pills { "entity1 is" "player userid" } "adrenaline_used" // other used adrenaline { "entity1 is" "player userid" } "pills_used" // I used my pills { "local_player is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "weapon_given" { "entity1 is" "player userid" "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } } "update" { "Default" { "onscreen_icon set" "string icon_painpills" "caption set" "string #L4D_Instructor_notify_give_pills" } "Select Pain Pills Near" { "local_player !weapon is" "string weapon_pain_pills" "local_player use target is" "player entity1" "gamepad_binding set" "string slot5" "binding set" "string +invnext;+invprev" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_give_pills_near_select" } "Use Pain Pills Near" { "local_player weapon is" "string weapon_pain_pills" "local_player use target is" "player entity1" "gamepad_binding set" "string +attack2" "binding set" "string +attack2" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_give_pills_near" } "Use Pain Pills Far" { "local_player weapon is" "string weapon_pain_pills" "local_player !use target is" "player entity1" "onscreen_icon set" "string icon_alert" "caption set" "string #L4D_Instructor_notify_give_pills_far" } "Got Healthy Somehow" { "icon_target !health less than" "int 45" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they can give pills to // other nearby player. //-------------------------------------------------------- "Notify Give Pills (non-urgent)" { "team" "2" "priority" "82" "instance_type" "1" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_give_pills_near" "caption_param" "use_name" "icon_offset" "12.0" "no_offscreen" "1" "group" "survivor_glows" "open" { "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "local_player weapon is" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_adrenaline" "string1 set" "string classname" "string1 is" "string C_SurvivorBot" "icon_target set" "entity targetid" } "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "local_player weapon is" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_adrenaline" "string1 set" "string classname" "string1 is" "string C_TerrorPlayer" "icon_target set" "entity targetid" } } "close" { "heal_begin" // other is getting healed { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "weapon_given" // other was given pills { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "weapon_given" // other was given adrenaline { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "weapon_given" // I gave away my pills { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "item_pickup" // other picked up pills { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // other picked up adrenaline { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "item_pickup" // we picked up adrenaline { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "pills_used" // I used my pills { "local_player is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "weapon_given" { "entity1 is" "player userid" "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } } "update" { "Not Looking At Him Anymore" { "local_player !use target is" "player icon_target" "void close" "void" } "Selected Different Weapon" { "local_player !weapon is" "string weapon_pain_pills" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they can give adrenaline to another player. //-------------------------------------------------------- "Notify Give Adrenaline" { "team" "2" "priority" "83" "instance_type" "1" "display_limit" "8" "success_limit" "4" "onscreen_icon" "icon_adrenaline" "caption" "#L4D_Instructor_notify_give_adrenaline" "caption_param" "use_name" "range" "700.0" "icon_offset" "12.0" "no_offscreen" "1" "update_interval" "0.25" "group" "survivor_glows" "timeout" "20.0" "can_timeout_while_inactive" "1" "open" { "player_hurt" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_adrenaline" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player userid" } "player_hurt_concise" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_adrenaline" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player userid" } "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_door_rotating_checkpoint" "string2 set" "string entityname" "string2 is" "string checkpoint_exit" "entity1 set" "player userid" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_adrenaline" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player userid" } "revive_success" { "local_player !is" "player subject" "entity1 set" "player subject" "entity1 team is" "int 2" "entity1 health less than" "int 45" "local_player weapon has" "string weapon_adrenaline" "local_player !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_pain_pills" "entity1 !weapon has" "string weapon_first_aid_kit" "entity1 !weapon has" "string weapon_adrenaline" "icon_target set" "player subject" } } "close" { "heal_begin" // other is getting healed { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "weapon_given" // other was given adrenaline { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "weapon_given" // other was given pills { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "weapon_given" // gave my adrenaline away { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "item_pickup" // other picked up pills { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // we picked up a pills { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // other picked up adrenaline { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "item_pickup" // other picked up a health kit { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "item_pickup" // we picked up a health kit { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string first_aid_kit" } "pills_used" // other used pills { "entity1 is" "player userid" } "adrenaline_used" // other used adrenaline { "entity1 is" "player userid" } "adrenaline_used" // I used my adrenaline { "local_player is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "weapon_given" { "entity1 is" "player userid" "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } } "update" { "Default" { "onscreen_icon set" "string icon_adrenaline" "caption set" "string #L4D_Instructor_notify_give_adrenaline" } "Select Adrenaline Near" { "local_player !weapon is" "string weapon_adrenaline" "local_player use target is" "player entity1" "gamepad_binding set" "string slot5" "binding set" "string +invnext;+invprev" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_give_adrenaline_near_select" } "Use Adrenaline Near" { "local_player weapon is" "string weapon_adrenaline" "local_player use target is" "player entity1" "gamepad_binding set" "string +attack2" "binding set" "string +attack2" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_notify_give_adrenaline_near" } "Use Adrenaline Far" { "local_player weapon is" "string weapon_adrenaline" "local_player !use target is" "player entity1" "onscreen_icon set" "string icon_alert" "caption set" "string #L4D_Instructor_notify_give_adrenaline_far" } "Got Healthy Somehow" { "icon_target !health less than" "int 45" "void close" "void" } } } //-------------------------------------------------------- // Notify this survivor that they can give pills to // other nearby player. //-------------------------------------------------------- "Notify Give Adrenaline (non-urgent)" { "team" "2" "priority" "82" "instance_type" "1" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_notify_give_adrenaline_near" "caption_param" "use_name" "icon_offset" "12.0" "no_offscreen" "1" "group" "survivor_glows" "open" { "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "local_player weapon is" "string weapon_adrenaline" "entity1 !weapon has" "string weapon_adrenaline" "entity1 !weapon has" "string weapon_pain_pills" "string1 set" "string classname" "string1 is" "string C_SurvivorBot" "icon_target set" "entity targetid" } "use_target" { "entity1 set" "entity targetid" "entity1 team is" "int 2" "local_player weapon is" "string weapon_adrenaline" "entity1 !weapon has" "string weapon_adrenaline" "entity1 !weapon has" "string weapon_pain_pills" "string1 set" "string classname" "string1 is" "string C_TerrorPlayer" "icon_target set" "entity targetid" } } "close" { "heal_begin" // other is getting healed { "entity1 is" "player subject" "visible set" "bool 0" "visible is" "bool 1" // Make invisible, but DON'T actually close } "heal_interrupted" { "entity1 is" "player subject" "visible set" "bool 1" "visible is" "bool 0" // Make visible, but DON'T actually close } "heal_success" // other got healed { "entity1 is" "player subject" } "weapon_given" // other got adrenaline { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "weapon_given" // other got pills { "entity1 is" "player userid" "integer1 set" "int weapon" "integer1 is" "int 15" // CSWeaponID WEAPON_PAIN_PILLS } "weapon_given" // I gave away adrenaline { "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } "item_pickup" // other picked up pills { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // we picked up pills { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string pain_pills" } "item_pickup" // other picked up adrenaline { "entity1 is" "player userid" "string1 set" "string item" "string1 is" "string adrenaline" } "adrenaline_used" // I used my adrenaline { "local_player is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "weapon_given" { "entity1 is" "player userid" "local_player is" "player giver" "integer1 set" "int weapon" "integer1 is" "int 23" // CSWeaponID WEAPON_ADRENALINE } } "update" { "Not Looking At Him Anymore" { "local_player !use target is" "player icon_target" "void close" "void" } "Selected Different Weapon" { "local_player !weapon is" "string weapon_adrenaline" "void close" "void" } } } //-------------------------------------------------------- // Explain how pill temp health works //-------------------------------------------------------- "Explain Pill Temp Health" { "team" "2" "priority" "91" "instance_type" "1" "display_limit" "2" "onscreen_icon" "icon_equip_pills" "caption" "#L4D_Instructor_explain_pill_temp_health" "timeout" "8" "can_timeout_while_inactive" "1" "open" { "pills_used" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Notify this survivor that they are hanging from a ledge // and helpless until another survivor assists them. //-------------------------------------------------------- "Notify Ledge" { "team" "2" "priority" "135" "display_limit" "8" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_ledge" "open" { "player_ledge_grab" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "revive_success" { "local_player is" "player subject" } "player_ledge_release" { "local_player is" "player userid" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is hanging from a ledge // and needs assistance //-------------------------------------------------------- "Help Ledge" { "team" "2" "priority" "120" "success_limit" "2" "binding" "+use" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_ledge" "caption_param" "use_name" "icon_offset" "50" "group" "survivor_glows" "open" { "player_ledge_grab" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "icon_target set" "player userid" } "revive_end" { "local_player !is" "player subject" "entity1 set" "player subject" "integer1 set" "bool ledge_hang" "integer1 !is" "int 0" "icon_target set" "player subject" } } "close" { "player_death" { "entity1 is" "player userid" } "revive_begin" { "entity1 is" "player subject" } "revive_success" { "entity1 is" "player subject" } "player_ledge_release" { "entity1 is" "player userid" } } "success" { "revive_success" { "local_player is" "player userid" "entity1 is" "player subject" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_alert_red" } "Selected Survivor" { "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" } } } //-------------------------------------------------------- // Notify this survivor that they are dead, killed by a // witch and will have a chance to respawn //-------------------------------------------------------- "Notify Dead By Witch" { "team" "2" "priority" "150" "instance_type" "1" "display_limit" "2" "can_open_when_dead" "1" "onscreen_icon" "icon_tip" "caption" "#L4D_Instructor_notify_dead_by_witch1" "timout" "30" "can_timeout_while_inactive" "1" "integer2" "1" "float1" "1.5" "start_sound" "" "group" "survivor_glows" "open" { "player_death" { "local_player is" "player userid" "entity2 set" "entity attackerentid" "entity2 classname is" "string class C_Witch" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "survivor_call_for_help" { "local_player team is" "int 2" "local_player is" "player userid" } "defibrillator_used" { "local_player is" "player subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_dead_by_witch1" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_dead_by_witch2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Notify this survivor that they are incapacitated from // injury and helpless until another survivor assists // them. //-------------------------------------------------------- "Notify Incapacitated" { "team" "2" "priority" "135" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_incapacitated" "caption_color" "255,255,0" "start_sound" "" "open" { "player_incapacitated" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "revive_success" { "local_player is" "player subject" } "player_death" { "local_player is" "player userid" } } } //-------------------------------------------------------- // Notify this survivor that they are incapacitated from // a witch attack and helpless until another survivor // assists them //-------------------------------------------------------- "Notify Incapacitated By Witch" { "team" "2" "priority" "137" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_incapacitated_by_witch" "caption_color" "255,255,0" "start_sound" "" "open" { "player_incapacitated" { "local_player is" "player userid" "entity1 set" "entity attackerentid" "entity1 classname is" "string class C_Witch" "icon_target set" "player local_player" } } "close" { "revive_success" { "local_player is" "player subject" } "player_death" { "local_player is" "player userid" } } } //-------------------------------------------------------- // Explain why a revive attempt was interrupted //-------------------------------------------------------- "Revive Interrupted" { "team" "2" "priority" "125" "instance_type" "1" "display_limit" "8" "binding" "+use" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_revive_end" "timeout" "8.0" "can_timeout_while_inactive" "1" "open" { "revive_end" { "local_player is" "player userid" "icon_target set" "player local_player" "entity1 set" "player subject" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "revive_begin" { "local_player is" "player userid" } "player_death" { "entity1 is" "player userid" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is incapacitated and // requires assistance //-------------------------------------------------------- "Help Incapacitated" { "team" "2" "priority" "110" "success_limit" "2" "binding" "+use" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_incapacitated" "caption_param" "use_name" "integer2" "1" "float1" "1.0" "group" "survivor_glows" "open" { "player_incapacitated" { "local_player !is" "player userid" "entity1 set" "player userid" "entity1 team is" "int 2" "icon_target set" "player userid" } "revive_end" { "local_player !is" "player subject" "entity1 set" "player subject" "integer1 set" "bool ledge_hang" "integer1 is" "int 0" "icon_target set" "player subject" } } "close" { "player_death" { "icon_target is" "player userid" } "revive_begin" { "icon_target is" "player subject" } "revive_success" { "icon_target is" "player subject" } "defibrillator_used" { "icon_target is" "player subject" } } "success" { "revive_success" { "entity1 is" "player subject" "local_player is" "player userid" } } "update" { "Base Settings" { "onscreen_icon set" "string icon_alert_red" "icon_offset set" "float 12.0" } "Don't Use Heath Kit" { "local_player weapon is" "string weapon_first_aid_kit" "local_player use target is" "entity icon_target" "onscreen_icon set" "string icon_noMedKit" } "Change to caption 1" { "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_help_incapacitated" "float1 set" "float 1.0" } "Set Icon One" { "local_player !weapon is" "string weapon_first_aid_kit" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "icon_offset set" "float 0.0" } } } //-------------------------------------------------------- // Notify this survivor that they have been vomited upon // by a boomer and they are now "IT" //-------------------------------------------------------- "Notify IT Vomit" { "team" "2" "priority" "130" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_it1_vomit" "timeout" "20.0f" // Saftey "bump_with_timeout_when_learned" "1" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "player_now_it" { "local_player is" "player userid" "integer1 set" "bool by_boomer" "integer1 is" "int 1" "integer1 set" "bool exploded" "integer1 is" "int 0" "icon_target set" "player local_player" "float1 set" "float 1.5" "integer2 set" "int 1" } } "close" { "player_no_longer_it" { "local_player is" "player userid" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it1_vomit" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Notify this survivor that they have been exploded upon // by a boomer and they are now "IT" //-------------------------------------------------------- "Notify IT Splatter" { "team" "2" "priority" "130" "display_limit" "3" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_it1_splatter" "timeout" "20.0f" // Saftey "bump_with_timeout_when_learned" "1" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "player_now_it" { "local_player is" "player userid" "integer1 set" "bool exploded" "integer1 is" "int 1" "icon_target set" "player local_player" "float1 set" "float 1.5" "integer2 set" "int 1" } } "close" { "player_no_longer_it" { "local_player is" "player userid" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1 splatter" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it1_splatter" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Notify this infected that they have been hit with a // vomit jar and they are now "IT" //-------------------------------------------------------- "Notify IT Vomit Jar" { "team" "3" "priority" "130" "instance_type" "1" "display_limit" "3" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_it1_jar" "timeout" "20.0f" // Saftey "bump_with_timeout_when_learned" "1" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "player_now_it" { "local_player is" "player userid" "icon_target set" "player local_player" "float1 set" "float 1.5" "integer2 set" "int 1" } } "close" { "player_no_longer_it" { "local_player is" "player userid" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it1_jar" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_notify_it2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Notify this surivor that a Hunter is presently pinning // them to the ground and that they are waiting for // another survivor to assist them by attacking the // hunter. //-------------------------------------------------------- "Notify Pounced" { "team" "2" "priority" "140" "display_limit" "8" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_pounced" "caption_color" "255,255,0" "flags" "2" "start_sound" "" "open" { "lunge_pounce" { "local_player is" "player victim" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "pounce_end" { "icon_target is" "player victim" } "player_death" { "entity1 is" "player userid" } } } //-------------------------------------------------------- // Notify this surivor that they are hanging from a Smoker // tongue and that they are waiting for another survivor // to assist them. //-------------------------------------------------------- "Notify Choked" { "team" "2" "priority" "140" "display_limit" "8" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_choked" "caption_color" "255,255,0" "start_sound" "" "open" { "choke_start" { "local_player is" "player victim" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "choke_end" { "icon_target is" "player victim" } "player_death" { "entity1 is" "player userid" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is being vomited upon // by a boomer and are now "IT" //-------------------------------------------------------- "Help IT" { "team" "2" "priority" "100" "instance_type" "2" "display_limit" "3" "onscreen_icon" "icon_shield" "caption" "#L4D_Instructor_help_it" "caption_param" "use_name" "icon_offset" "12.0" "range" "700.0" "timeout" "20.0f" // Saftey "bump_with_timeout_when_learned" "1" "group" "survivor_glows" "open" { "player_now_it" { "local_player !is" "player userid" "integer1 set" "bool by_boomer" "integer1 is" "int 1" "icon_target set" "player userid" } } "close" { "player_no_longer_it" { "icon_target is" "player userid" } } "Update" { "Default Settings" { "icon_offset set" "float 12.0" } "Far Icon Height" { "local_player get distance" "entity icon_target" "distance !less than" "float 350.0" "icon_offset set" "float 72.0" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is being choked by // a Smoker and requires assistance //-------------------------------------------------------- "Help Choked" { "team" "2" "priority" "120" "display_limit" "10" "success_limit" "4" "binding" "+attack2" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_choked" "caption_param" "use_name" "icon_offset" "72.0" "group" "survivor_glows" "open" { "choke_start" { "local_player !is" "player victim" "entity1 set" "player userid" "entity2 set" "player victim" "icon_target set" "player victim" } } "close" { "choke_end" { "entity2 is" "player victim" } "player_death" { "entity1 is" "player userid" } "player_death" { "entity2 is" "player userid" } } "success" { "choke_stopped" { "entity2 is" "player victim" "local_player is" "player userid" } } "update" { "Base Present State" { "integer1 set" "int 0" "void present complete" "void" "integer1 set" "int 1" // Set to 1 once the present has completed } "Base Setting" { "integer1 is" "int 1" "icon_target set" "player entity2" "onscreen_icon set" "string icon_alert_red" "caption set" "string #L4D_Instructor_help_choked" "icon_offset set" "float 12.0" } "Near Victim" { "integer1 is" "int 1" "local_player get distance" "entity entity2" "distance less than" "float 110.0" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_help_choked_near" } "Very Far Victim" { "integer1 is" "int 1" "local_player get distance" "entity entity2" "distance !less than" "float 500.0" "local_player !weapon is" "string weapon_first_aid_kit" "local_player !weapon is" "string weapon_pain_pills" "local_player !weapon is" "string weapon_molotov" "local_player !weapon is" "string weapon_pipe_bomb" "local_player !weapon is" "string weapon_vomitjar" "local_player !weapon is" "string weapon_adrenaline" "local_player !weapon is" "string weapon_upgradepack_incendiary" "local_player !weapon is" "string weapon_upgradepack_explosive" "local_player !weapon is" "string weapon_defibrillator" "local_player !weapon is" "string weapon_melee" "icon_target set" "player entity1" "onscreen_icon set" "string icon_laser_sight" "caption set" "string #L4D_Instructor_help_choked_far" } "Far Victim" { "integer1 is" "int 1" "local_player get distance" "entity entity2" "distance !less than" "float 350.0" "icon_offset set" "float 72.0" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is being attacked by // a Hunter and requires assistance //-------------------------------------------------------- "Help Pounced" { "team" "2" "priority" "120" "display_limit" "10" "success_limit" "4" "binding" "+attack2" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_pounced" "icon_offset" "12.0" "group" "survivor_glows" "open" { "lunge_pounce" { "local_player !is" "player victim" "icon_target set" "player userid" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "pounce_end" { "entity1 is" "player victim" } "player_death" { "icon_target is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "pounce_stopped" { "entity1 is" "player victim" "local_player is" "player userid" } } "update" { "Base Present State" { "integer1 set" "int 0" "void present complete" "void" "integer1 set" "int 1" // Set to 1 once the present has completed } "Base Caption" { "integer1 is" "int 1" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_help_pounced_near" // Always use the shove message } "Far Hunter" { "integer1 is" "int 1" "local_player get distance" "entity entity1" "distance !less than" "float 400.0" "local_player !weapon is" "string weapon_pumpshotgun" "local_player !weapon is" "string weapon_shotgun_chrome" "local_player !weapon is" "string weapon_autoshotgun" "local_player !weapon is" "string weapon_shotgun_spas" "local_player !weapon is" "string weapon_first_aid_kit" "local_player !weapon is" "string weapon_pain_pills" "local_player !weapon is" "string weapon_molotov" "local_player !weapon is" "string weapon_pipe_bomb" "local_player !weapon is" "string weapon_vomitjar" "local_player !weapon is" "string weapon_adrenaline" "local_player !weapon is" "string weapon_upgradepack_incendiary" "local_player !weapon is" "string weapon_upgradepack_explosive" "local_player !weapon is" "string weapon_defibrillator" "local_player !weapon is" "string weapon_melee" "onscreen_icon set" "string icon_laser_sight" "caption set" "string #L4D_Instructor_help_pounced_far" } "Hunter Changed Class Somehow" { "icon_target !weapon is" "string weapon_hunter_claw" "void close" "void" } } } //-------------------------------------------------------- // This player was pounced by a Hunter or choked by a Smoker // and another player saved them. Point out who the savior is //-------------------------------------------------------- "SavedBy" { "team" "2" "priority" "99" "instance_type" "1" "onscreen_icon" "icon_shield" "no_offscreen" "1" "caption" "#L4D_Instructor_saved_by" "caption_param" "use_name" "caption_color" "56,148,194" "icon_offset" "12.0" "timeout" "6" "can_timeout_while_inactive" "1" "open" { "pounce_stopped" { "local_player is" "player victim" "local_player !is" "player userid" "icon_target set" "player userid" "icon_target team is" "int 2" } "choke_stopped" { "local_player is" "player victim" "local_player !is" "player userid" "icon_target set" "player userid" "icon_target team is" "int 2" } "jockey_ride_end" { "local_player is" "player victim" "local_player !is" "player rescuer" "icon_target set" "player rescuer" "icon_target team is" "int 2" } "charger_pummel_end" { "local_player is" "player victim" "local_player !is" "player rescuer" "icon_target set" "player rescuer" "icon_target team is" "int 2" } } "close" { "player_death" { "icon_target is" "player userid" } } } //-------------------------------------------------------- // This player just saved another player from a // Hunter or Smoker //-------------------------------------------------------- "SavedOther" { "team" "2" "priority" "99" "onscreen_icon" "icon_shield" "caption" "#L4D_Instructor_saved_other" "caption_color" "56,148,194" "timeout" "6" "can_timeout_while_inactive" "1" "open" { "pounce_stopped" { "local_player is" "player userid" "local_player !is" "player victim" "icon_target set" "player local_player" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "choke_stopped" { "local_player is" "player userid" "local_player !is" "player victim" "icon_target set" "player local_player" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "jockey_ride_end" { "local_player is" "player rescuer" "local_player !is" "player victim" "icon_target set" "player local_player" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } "charger_pummel_end" { "local_player is" "player rescuer" "local_player !is" "player victim" "icon_target set" "player local_player" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "player_death" { "icon_target is" "player userid" } } } //-------------------------------------------------------- // Explain that a tank is near and needs to be killed! //-------------------------------------------------------- "Tank Bumper" { "team" "2" "priority" "115" "range" "1000.0" "no_icon_target" "1" "start_sound" "" "open" { "tank_spawn" { "entity1 set" "entity tankid" } } "close" { "player_death" { "entity1 is" "player userid" } "player_death" { "entity1 is" "entity entityid" } } } //-------------------------------------------------------- // Smoker latched on to you, so don't show "help other" // lessons. //-------------------------------------------------------- "Smoker Pull Bumper" { "team" "2" "priority" "132" "no_icon_target" "1" "timeout" "30.0" // Saftey "can_timeout_while_inactive" "1" "start_sound" "" "open" { "tongue_grab" { "local_player is" "player victim" "entity1 set" "entity userid" } } "close" { "player_death" { "entity1 is" "player userid" } "tongue_release" { "local_player is" "player victim" } } } //-------------------------------------------------------- // Round is over, so don't show any lessons //-------------------------------------------------------- "Round End Bumper" { "team" "2" "priority" "200" "no_icon_target" "1" "start_sound" "" "open" { "round_end" { } } } //-------------------------------------------------------- // Invisibly change the priority to hide low priority // items while in presumed combat. //-------------------------------------------------------- "Survivor Priority Bumper" { "team" "2" "priority" "93" "instance_type" "2" "timeout" "4.0" "can_timeout_while_inactive" "1" "no_icon_target" "1" "start_sound" "" "open" { // Nearby thing shoved "entity_shoved" { "entity1 set" "entity entityid" "entity1 team is" "int 3" "local_player get distance" "entity entity1" "distance less than" "float 300.0" } // Nearby enemy shoved "player_shoved" { "entity1 set" "player userid" "entity1 team is" "int 3" "local_player get distance" "entity entity1" "distance less than" "float 300.0" } // Self hurt an enemy player "player_hurt" { "entity1 set" "player attacker" "entity1 is" "player local_player" "entity2 set" "player userid" "entity2 team is" "int 3" } // Self hurt an infected "infected_hurt" { "entity1 set" "player attacker" "entity1 is" "player local_player" } // Friend hurt a nearby enemy "player_hurt" { "entity1 set" "player attacker" "entity1 team is" "int 2" "entity1 !is" "player local_player" "entity2 set" "player userid" "entity2 team is" "int 3" "local_player get distance" "entity entity2" "distance less than" "float 300.0" } // Friend hurt a nearby infected "infected_hurt" { "entity1 set" "player attacker" "entity1 team is" "int 2" "entity1 !is" "player local_player" "entity2 set" "entity entityid" "local_player get distance" "entity entity2" "distance less than" "float 300.0" } // Nearby friend (or self) hurt by a player (not hurt by you) "player_hurt" { "entity1 set" "player userid" "entity1 team is" "int 2" "local_player !is" "player attacker" "local_player get distance" "entity entity1" "distance less than" "float 300.0" } // Nearby friend (or self) hurt by a thing "player_hurt" { "entity1 set" "player userid" "entity1 team is" "int 2" "entity2 set" "entity attackerentid" "integer1 set" "int type" "integer1 !has bit" "int 17" // ignore DMG_POISON (incapacitate time damage) "local_player get distance" "entity entity1" "distance less than" "float 300.0" } // Nearby friend (or self) hurt by a thing "player_hurt_concise" { "entity1 set" "player userid" "entity1 team is" "int 2" "entity2 set" "entity attackerentid" "integer1 set" "int type" "integer1 !has bit" "int 17" // ignore DMG_POISON (incapacitate time damage) "local_player get distance" "entity entity1" "distance less than" "float 300.0" } } } /////////////////// /////////////////// //// INFECTED! //// /////////////////// /////////////////// // 150 awaiting spawn // 140 killed // 130 ghost mode // 120 pouncing, choking // 110 puked on someone // 100 killed // 90 failed special (missed tongue) // 80 victim available for special (pounce, tongue) // 70 navigation tip (climb, breakable wall) // 60 ability tip (vomit, throw) // 55 secondary attack tip (claws) "Boomer Vomit" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_boomer_vomit" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_boomer_claw" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_vomit" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_vomit" } } } "Boomer Claw" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_boomer_claw" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_boomer_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Charger Charge" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_charger_charge" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_charger_claw" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_charge" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_charge" } } } "Charger Claw" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_charger_claw" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_charger_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Hunter Claw" { "team" "3" "priority" "55" "success_limit" "2" "instance_type" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_hunter_claw" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_hunter_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Hunter Lunge" { "team" "3" "priority" "60" "instance_type" "2" "success_limit" "5" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_hunter_lunge" "open" { "pounce_fail" { "icon_target set" "player local_player" "local_player is" "player userid" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_lunge" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_lunge" } } } "Smoker Tongue Fail" { "team" "3" "priority" "90" "display_limit" "3" "timeout" "5.0" "onscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_notify_choked_miss" "instance_type" "2" "open" { "ability_use" { "local_player is" "player userid" "local_player weapon is" "string weapon_smoker_claw" "icon_target set" "player local_player" "integer1 set" "int context" "integer1 is" "int 0" } } } "Smoker Tongue" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_smoker_tongue" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_smoker_claw" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_tongue" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_tongue" } } } "Smoker Claw" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_smoker_claw" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_smoker_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Spitter Spit" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_spitter_goo" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_spitter_claw" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_spit" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_spit" } } } "Spitter Claw" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_spitter_claw" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_spitter_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Jockey Leap" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_jockey_jump" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_jockey_claw" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_spit" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_spit" } } } "Jockey Claw" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_jockey_claw" "instance_type" "2" "open" { "player_spawn" { "local_player is" "player userid" "local_player weapon is" "string weapon_jockey_claw" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Tongue Break Bent" { "team" "3" "priority" "90" "instance_type" "2" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_tongue_break_bent" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "tongue_broke_bent" { "local_player is" "player userid" "icon_target set" "player local_player" } "choke_stopped" { "local_player is" "player smoker" "integer1 set" "int release_type" "integer1 is" "int 2" "caption set" "string #L4D_Instructor_tongue_break_shove" "icon_target set" "player local_player" } "tongue_pull_stopped" { "local_player is" "player smoker" "integer1 set" "int release_type" "integer1 is" "int 2" "caption set" "string #L4D_Instructor_tongue_break_shove" "icon_target set" "player local_player" } "choke_stopped" { "local_player is" "player smoker" "integer1 set" "int release_type" "integer1 is" "int 4" "caption set" "string #L4D_Instructor_tongue_break_shot" "icon_target set" "player local_player" } "tongue_pull_stopped" { "local_player is" "player smoker" "integer1 set" "int release_type" "integer1 is" "int 4" "caption set" "string #L4D_Instructor_tongue_break_shot" "icon_target set" "player local_player" } } } "Tank Claw" { "team" "3" "priority" "60" "success_limit" "2" "binding" "+attack2" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_tank_claw" "instance_type" "2" "open" { "spawned_as_tank" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "weapon_fire" { "local_player is" "player userid" } } "success" { "weapon_fire" { "local_player is" "player userid" } } } "Tank Rock" { "team" "3" "priority" "55" "success_limit" "2" "binding" "+attack" "onscreen_icon" "use_binding" "caption" "#L4D_Instructor_tank_rock" "instance_type" "2" "open" { "spawned_as_tank" { "local_player is" "player userid" "icon_target set" "player local_player" } } "close" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_throw" } } "success" { "ability_use" { "local_player is" "player userid" "string1 set" "string ability" "string1 is" "string ability_throw" } } } "Safe room door" { "team" "3" "priority" "60" "instance_type" "2" "display_limit" "3" "onscreen_icon" "icon_alert" "timeout" "5.0" "can_timeout_while_inactive" "1" "caption" "#L4D_Instructor_break_checkpoint_door" "open" { "hit_safe_room" { "icon_target set" "player local_player" "local_player is" "player userid" } } } //------------------------------------------------------------------- //------------------------------------------------------------------- // L4D2 Instructor messages //------------------------------------------------------------------- //------------------------------------------------------------------- //-------------------------------------------------------- // Notify the survivor that they are not helpless to the jockey //-------------------------------------------------------- "Notify Ride victim" { "team" "2" "priority" "140" "display_limit" "8" "onscreen_icon" "icon_tip" "caption" "#L4D2_Instructor_notify_ridden" "caption_color" "255,255,0" "flags" "2" "start_sound" "" "open" { "jockey_ride" { "local_player is" "player victim" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "jockey_ride_end" { "icon_target is" "player victim" } "player_death" { "entity1 is" "player userid" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is being attacked by // a Jockey and requires assistance //-------------------------------------------------------- "Help Jockey Ridden" { "team" "2" "priority" "120" "display_limit" "10" "success_limit" "4" "binding" "+attack2" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_jockey_ridden" "icon_offset" "12.0" "group" "survivor_glows" "open" { "jockey_ride" { "local_player !is" "player victim" "icon_target set" "player userid" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "jockey_ride_end" { "entity1 is" "player victim" } "player_death" { "icon_target is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "jockey_ride_end" { "entity1 is" "player victim" "local_player is" "player rescuer" } } "update" { "Base Present State" { "integer1 set" "int 0" "void present complete" "void" "integer1 set" "int 1" // Set to 1 once the present has completed } "Base Caption" { "integer1 is" "int 1" "onscreen_icon set" "string use_binding" "caption set" "string #L4D_Instructor_help_jockey_ridden_near" // Always use the shove message } "Far Jockey" { "integer1 is" "int 1" "local_player get distance" "entity entity1" "distance !less than" "float 150.0" "local_player !weapon is" "string weapon_first_aid_kit" "local_player !weapon is" "string weapon_pain_pills" "local_player !weapon is" "string weapon_molotov" "local_player !weapon is" "string weapon_pipe_bomb" "local_player !weapon is" "string weapon_vomitjar" "local_player !weapon is" "string weapon_adrenaline" "local_player !weapon is" "string weapon_upgradepack_incendiary" "local_player !weapon is" "string weapon_upgradepack_explosive" "local_player !weapon is" "string weapon_defibrillator" "local_player !weapon is" "string weapon_melee" "onscreen_icon set" "string icon_laser_sight" "caption set" "string #L4D_Instructor_help_jockey_ridden_far" } "Hunter Changed Class Somehow" { "icon_target !weapon is" "string weapon_jockey_claw" "void close" "void" } } } "Notify Ride attacker" { "team" "3" "priority" "140" "display_limit" "8" "onscreen_icon" "icon_tip" "caption" "#L4D2_Instructor_notify_riding_survivor" "caption_color" "255,255,0" "flags" "2" "start_sound" "" "open" { "jockey_ride" { "local_player is" "player userid" "entity1 set" "player victim" "icon_target set" "player local_player" } } "close" { "jockey_ride_end" { "icon_target is" "player userid" } "player_death" { "entity1 is" "player victim" } } } //-------------------------------------------------------- // Notify this surivor that a Charger is presently pinning // them to the ground and that they are waiting for // another survivor to assist them by attacking the // charger. //-------------------------------------------------------- "Notify Charger Pummeled" { "team" "2" "priority" "140" "display_limit" "8" "onscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_charger_pummeled" "caption_color" "255,255,0" "flags" "2" "start_sound" "" "open" { "charger_pummel_start" { "local_player is" "player victim" "entity1 set" "player userid" "icon_target set" "player local_player" } } "close" { "charger_pummel_end" { "local_player is" "player victim" } "player_death" { "entity1 is" "player userid" } } } //-------------------------------------------------------- // Indicate that a fellow survivor is being attacked by // a Charger and requires assistance //-------------------------------------------------------- "Help Charger Pummeled" { "team" "2" "priority" "120" "display_limit" "10" "success_limit" "4" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "caption" "#L4D_Instructor_help_charger_pummeled" "icon_offset" "12.0" "group" "survivor_glows" "open" { "charger_pummel_start" { "local_player !is" "player victim" "icon_target set" "player userid" "entity1 set" "player victim" "entity1 get player display name" "int 1" "caption_param set" "string string1" } } "close" { "charger_pummel_end" { "entity1 is" "player victim" } "player_death" { "icon_target is" "player userid" } "player_death" { "entity1 is" "player userid" } } "success" { "charger_pummel_end" { "entity1 is" "player victim" "local_player is" "player rescuer" } } "update" { "Base Present State" { "integer1 set" "int 0" "void present complete" "void" "integer1 set" "int 1" // Set to 1 once the present has completed } "Base Caption" { "integer1 is" "int 1" "onscreen_icon set" "string icon_alert_red" "caption set" "string #L4D_Instructor_help_charger_pummeled_kill" // Always use the kill message } "Has Weapon" { "integer1 is" "int 1" "local_player !weapon is" "string weapon_first_aid_kit" "local_player !weapon is" "string weapon_pain_pills" "local_player !weapon is" "string weapon_molotov" "local_player !weapon is" "string weapon_pipe_bomb" "local_player !weapon is" "string weapon_vomitjar" "local_player !weapon is" "string weapon_adrenaline" "local_player !weapon is" "string weapon_upgradepack_incendiary" "local_player !weapon is" "string weapon_upgradepack_explosive" "local_player !weapon is" "string weapon_defibrillator" "onscreen_icon set" "string icon_laser_sight" } "Charger Changed Class Somehow" { "icon_target !weapon is" "string weapon_charger_claw" "void close" "void" } } } "Notify entered spit" { "team" "2" "priority" "131" "instance_type" "1" "display_limit" "8" "onscreen_icon" "icon_alert_red" "caption" "#L4D2_Instructor_notify_entered_spit" "caption_color" "255,255,0" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "entered_spit" { "local_player is" "player userid" "icon_target set" "player local_player" } } } "temp c4m1" { "team" "2" "priority" "150" "instance_type" "1" "onscreen_icon" "icon_info" "caption" "#L4D2_Instructor_temp_msg_c4m1" "caption_color" "0,255,0" "timeout" "8.0" "open" { "temp_c4m1_getgas" { "icon_target set" "player local_player" } } } "temp c4m3" { "team" "2" "priority" "150" "instance_type" "1" "onscreen_icon" "icon_info" "caption" "#L4D2_Instructor_temp_msg_c4m3" "caption_color" "0,255,0" "timeout" "8.0" "open" { "temp_c4m3_return_to_boat" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Explain the drawbridge button //-------------------------------------------------------- "Explain Pre Drawbridge" { "team" "2" "priority" "0" "binding" "+use" "caption" "#L4D2_Instructor_explain_pre_drawbridge" "onscreen_icon" "icon_button" "start_sound" "" "open" { "explain_pre_drawbridge" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "started_pre_radio" { } } } "Explain Drawbridge" { "team" "2" "priority" "0" "binding" "+use" "caption" "#L4D2_Instructor_explain_drawbridge" "onscreen_icon" "icon_button" "start_sound" "" "open" { "explain_drawbridge" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Perimeter" { "team" "2" "priority" "0" "caption" "#L4D2_Instructor_explain_perimeter1" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "force_caption" "1" "integer2" "1" "float1" "1.5" "start_sound" "" "open" { "explain_perimeter" { "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_perimeter1" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_perimeter2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Deactivate Alarm" { "team" "2" "priority" "145" "binding" "+use" "caption" "#L4D2_Instructor_explain_deactivate_alarm" "onscreen_icon" "icon_button" "force_caption" "1" "start_sound" "" "open" { "explain_deactivate_alarm" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Gauntlet Start" { "team" "2" "priority" "145" "timeout" "8.0" "caption" "#L4D2_Survive_Gauntlet" "onscreen_icon" "icon_alert" "open" { "gauntlet_finale_start" { "icon_target set" "player local_player" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Impound Lot" { "team" "2" "priority" "145" "timeout" "8.0" "caption" "#L4D2_Instructor_explain_impound_lot" "onscreen_icon" "icon_alert" "open" { "explain_impound_lot" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Float" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_float" "onscreen_icon" "icon_button" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_float" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_Explain_Float" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Incendiary Ammo upgrade lesson //-------------------------------------------------------- "Explain Incendiary Ammo Upgrade received" { "team" "2" "priority" "145" "instance_type" "1" "timeout" "8.0" "caption" "#L4D2_Instructor_explain_incendiary_ammo_received" "onscreen_icon" "icon_incendiary_ammo" "range" "600.0" "open" { "receive_upgrade" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string INCENDIARY_AMMO" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Laser Sight upgrade lesson //-------------------------------------------------------- "Explain Laser Sight Upgrade received" { "team" "2" "priority" "145" "instance_type" "1" "timeout" "8.0" "caption" "#L4D2_Instructor_explain_laser_sight_received" "onscreen_icon" "icon_laser_sight" "range" "600.0" "open" { "receive_upgrade" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string LASER_SIGHT" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Error if they try to use an upgrade without owning a primary weapon //-------------------------------------------------------- "Explain upgrade failed no primary" { "team" "2" "priority" "0" "instance_type" "2" "onscreen_icon" "icon_info" "caption" "#L4D_Instructor_notify_upgrade_failed_no_primary" "timeout" "5.0" "can_timeout_while_inactive" "1" "open" { "upgrade_failed_no_primary" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string EXPLOSIVE_AMMO" "icon_target set" "player local_player" "onscreen_icon set" "string icon_explosive_ammo" } "upgrade_failed_no_primary" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string INCENDIARY_AMMO" "icon_target set" "player local_player" "onscreen_icon set" "string icon_incendiary_ammo" } "upgrade_failed_no_primary" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string LASER_SIGHT" "icon_target set" "player local_player" "onscreen_icon set" "string icon_laser_sight" } } } //-------------------------------------------------------- // Explosive Ammo upgrade lesson //-------------------------------------------------------- "Explain Explosive Ammo Upgrade received" { "team" "2" "priority" "145" "instance_type" "1" "timeout" "8.0" "caption" "#L4D2_Instructor_explain_explosive_ammo_received" "onscreen_icon" "icon_explosive_ammo" "range" "600.0" "open" { "receive_upgrade" { "local_player is" "player userid" "string1 set" "string upgrade" "string1 is" "string EXPLOSIVE_AMMO" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Explain the operation of the Decon shower //-------------------------------------------------------- "Explain Decon" { "team" "2" "priority" "145" "instance_type" "1" "caption" "#L4D2_instructor_explain_decon" "onscreen_icon" "icon_tip" "range" "600.0" "open" { "explain_decon" { "icon_target set" "entity subject" } } "close" { "explain_decon_wait" { } } } //-------------------------------------------------------- // Explain that you're waiting for other survivors to arrive //-------------------------------------------------------- "Explain Decon Wait" { "team" "2" "priority" "145" "instance_type" "1" "caption" "#L4D2_instructor_explain_decon_wait" "onscreen_icon" "icon_tip" "range" "600.0" "open" { "explain_decon_wait" { "icon_target set" "entity subject" } } "close" { "explain_decon" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Vehicle Arrival" { "team" "2" "priority" "0" "instance_type" "1" "binding" "+use" "caption" "#L4D2_Instructor_explain_vehicle_arrival" "onscreen_icon" "icon_alert" "force_caption" "1" "timeout" "10" "start_sound" "" "open" { "explain_vehicle_arrival" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- // Point out the all-new mounted gun. //-------------------------------------------------------- "Explain Mounted Gun" { "team" "2" "priority" "97" "success_limit" "3" "binding" "+use" "caption" "#L4D2_Instructor_explain_use_mounted_gun" "onscreen_icon" "icon_button" "range" "360.0" "timeout" "10" "show_when_occluded" "0" "lock_duration" "5" "group" "item_glows" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_minigun" "icon_target set" "entity subject" } } "close" { "mounted_gun_start" { } } "success" { "mounted_gun_start" { "local_player is" "player userid" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Mounted Gun Overheated" { "team" "2" "priority" "97" "instance_type" "1" "display_limit" "4" "caption" "#L4D2_Instructor_explain_mounted_gun_overheated" "onscreen_icon" "icon_tip" "timeout" "8" "open" { "mounted_gun_overheated" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain No Reload Grenade Launcher" { "team" "2" "priority" "97" "instance_type" "1" "display_limit" "4" "caption" "#L4D2_Instructor_explain_ammo_pile_failure" "onscreen_icon" "icon_tip" "timeout" "4" "open" { "ammo_pile_weapon_cant_use_ammo" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Ferry" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_ferry" "onscreen_icon" "icon_button" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_ferry_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_Explain_ferry" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Hatch" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_hatch" "onscreen_icon" "icon_button" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_hatch_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_Explain_hatch" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } "close" { "create_panic_event" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain shack button" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_shack" "onscreen_icon" "icon_button" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_shack_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_Explain_shack" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } "close" { "create_panic_event" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain mall window" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_mall_window" "onscreen_icon" "icon_laser_sight" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_mall_window" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_mall_window" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain coaster" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_coaster" "onscreen_icon" "icon_button" "range" "600.0" "integer2" "1" "float1" "1.5" "open" { "explain_coaster" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_coaster" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain burger sign" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_c4m4_finale_start" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "4000.0" "force_caption" "1" "open" { "explain_burger_sign" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain carousel button" { "team" "2" "priority" "98" "caption" "#L4D2_Instructor_explain_carousel_start" "binding" "+use" "onscreen_icon" "icon_interact" "range" "1200.0" "integer2" "1" "float1" "1.5" "open" { "explain_carousel_button" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_carousel_start" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_carousel_start2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain carousel destination" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_carousel_destination" "onscreen_icon" "icon_tip" "offscreen_icon" "icon_tip" "range" "6000.0" "force_caption" "1" "open" { "explain_carousel_destination" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain stage lighting" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_stage_lighting" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "open" { "explain_stage_lighting" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain stage finale start" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_stage_finale_start" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "force_caption" "1" "open" { "explain_stage_finale_start" { "icon_target set" "entity subject" } } "close" { "finale_start" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain stage survival start" { "team" "2" "priority" "0" "caption" "#L4D2_Instructor_explain_stage_survival_start" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "integer2" "1" "float1" "1.5" "force_caption" "1" "open" { "explain_stage_survival_start" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_stage_survival_start" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain c3m4 radio 1" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_c3m4_radio1" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "open" { "explain_c3m4_radio1" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain c3m4 radio 2" { "team" "2" "priority" "97" "caption" "#L4D2_Instructor_explain_c3m4_radio2" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "force_caption" "1" "open" { "explain_c3m4_radio2" { "icon_target set" "entity subject" } } "close" { "finale_start" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain mall alarm" { "team" "2" "priority" "145" "binding" "+use" "caption" "#L4D2_Instructor_explain_mall_alarm" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "force_caption" "1" "open" { "explain_mall_alarm" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain coaster stop" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_coaster_stop" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "force_caption" "1" "open" { "explain_coaster_stop" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain gates are open" { "team" "2" "priority" "98" "caption" "#L4D2_Instructor_explain_gates_are_open" "binding" "+use" "onscreen_icon" "icon_alert" "offscreen_icon" "icon_alert" "range" "3600.0" "force_caption" "1" "open" { "explain_gates_are_open" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain c2m4 ticketbooth" { "team" "2" "priority" "98" "caption" "#L4D2_Instructor_explain_c2m4_ticketbooth" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "1500.0" "force_caption" "1" "open" { "explain_c2m4_ticketbooth" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain c3m4 rescue" { "team" "2" "priority" "0" "caption" "#L4D2_Instructor_explain_c3m4_rescue" "binding" "+use" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "range" "3600.0" "force_caption" "1" "open" { "explain_c3m4_rescue" { "icon_target set" "entity subject" } } } //---------------------------------------------------- // SURVIVAL //---------------------------------------------------- //-------------------------------------------------------- //-------------------------------------------------------- "Explain Survival Button Alarm" { "team" "2" "priority" "145" "binding" "+use" "caption" "#L4D2_Instructor_explain_survival_help_alarm" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "integer2" "1" "float1" "1.5" "open" { "explain_survival_alarm" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_survival_help_alarm" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Survival Button Generic" { "team" "2" "priority" "145" "binding" "+use" "caption" "#L4D2_Instructor_explain_survival_help_button" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "integer2" "1" "float1" "1.5" "open" { "explain_survival_generic" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_survival_help_button" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Survival Button Radio" { "team" "2" "priority" "0" "binding" "+use" "caption" "#L4D2_Instructor_explain_survival_help_radio" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "integer2" "1" "float1" "1.5" "open" { "explain_survival_radio" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_survival_help_radio" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain Survival Carousel" { "team" "2" "priority" "145" "binding" "+use" "caption" "#L4D2_Instructor_explain_carousel_start" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "integer2" "1" "float1" "1.5" "open" { "explain_survival_carousel" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "finale_start" { } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_carousel_start" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- // Point out an upgrade item //-------------------------------------------------------- "Explain Upgrade" { "team" "2" "priority" "97" "binding" "+use" "caption" "#L4D2_Instructor_explain_upgrade" "onscreen_icon" "icon_upgrade" "range" "360.0" "timeout" "10" "group" "item_glows" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string upgrade_ammo_incendiary" "icon_target set" "entity subject" "onscreen_icon set" "string icon_incendiary_ammo" "caption set" "string #L4D2_Instructor_explain_incendiary_ammo_available" } "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string upgrade_ammo_explosive" "icon_target set" "entity subject" "onscreen_icon set" "string icon_explosive_ammo" "caption set" "string #L4D2_Instructor_explain_explosive_ammo_available" } "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string upgrade_laser_sight" "icon_target set" "entity subject" "onscreen_icon set" "string icon_laser_sight" "caption set" "string #L4D2_Instructor_explain_laser_sight_available" } } "close" { "receive_upgrade" { "local_player is" "player userid" } "upgrade_failed_no_primary" { "local_player is" "player userid" } } } "Explain ability out of range" { "team" "3" "priority" "100" "instance_type" "2" "timeout" "5.0" "onscreen_icon" "icon_alert" "caption" "#L4D2_Instructor_ability_out_of_range" "open" { "ability_out_of_range" { "icon_target set" "player local_player" "local_player is" "player userid" } } "close" { "ability_use" { "local_player is" "player userid" } } } "Explain stage pyrotechnics" { "team" "2" "priority" "97" "instance_type" "1" "range" "720" "timeout" "5.0" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "binding" "+use" "caption" "#L4D2_Instructor_explain_pyrotechnics" "open" { "explain_stage_pyrotechnics" { "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain hotel elevator doors" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_hotel_elevator_doors" "binding" "+use" "onscreen_icon" "icon_interact" "range" "1200.0" "integer2" "1" "float1" "1.5" "open" { "explain_hotel_elevator_doors" { "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_hotel_elevator_doors" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain gun shop tanker" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_gun_shop_tanker" "onscreen_icon" "icon_info" "offscreen_icon" "icon_info" "force_caption" "1" "open" { "explain_gun_shop_tanker" { "local_player is" "player userid" "icon_target set" "entity subject" } } "close" { "explain_store_alarm" { } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain gun shop" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_gun_shop" "onscreen_icon" "icon_info" "offscreen_icon" "icon_info" "show_when_occluded" "0" "open" { "explain_gun_shop" { "local_player is" "player userid" "icon_target set" "entity subject" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain store alarm" { "team" "2" "priority" "145" "caption" "#L4D2_Instructor_explain_store_alarm" "binding" "+use" "onscreen_icon" "icon_interact" "range" "1200.0" "integer2" "1" "float1" "1.5" "open" { "explain_store_alarm" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_store_alarm" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D_Instructor_explain_panic_button2" "float1 set" "float 1.5" "integer2 set" "int 2" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain store item" { "team" "2" "priority" "96" "instance_type" "1" "caption" "#L4D2_Instructor_explain_store_item" "onscreen_icon" "icon_cola_bottles" "force_caption" "1" "open" { "explain_store_item" { "icon_target set" "entity subject" } } "close" { "item_pickup" { "string1 set" "string item" "string1 is" "string cola_bottles" } "explain_store_item_stop" { } } } //-------------------------------------------------------- // We hold this open to prevent cola lessons from openning //-------------------------------------------------------- "Gun Shop Item Delivery Complete" { "team" "2" "priority" "0" "instance_type" "1" "no_icon_target" "1" "start_sound" "" "group" "survivor_glows" "open" { "explain_store_item_stop" { } } } //-------------------------------------------------------- // Indicate that a Gunshop Item is available //-------------------------------------------------------- "Explain Gun Shop Item" { "team" "2" "priority" "0" "instance_type" "3" "display_limit" "0" // always show it "binding" "+use" "onscreen_icon" "icon_cola_bottles" "offscreen_icon" "icon_cola_bottles" "caption" "#L4D2_Instructor_explain_gun_shop_item_get" "range" "600.0" "icon_offset" "8.0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "integer1" "1" "open" { "entity_visible" { "local_player is" "player userid" "string1 set" "string classname" "string1 is" "string prop_physics" "string1 set" "string entityname" "string1 is" "string cola" "local_player !weapon has" "string weapon_cola_bottles" "icon_target set" "entity subject" "priority set" "int 97" } "weapon_drop" { "string1 set" "string item" "string1 is" "string cola_bottles" "icon_target set" "entity propid" } } "close" { "item_pickup" { "string1 set" "string item" "string1 is" "string cola_bottles" "visible set" "bool 0" "integer1 set" "int 0" "visible is" "bool 1" // Don't actually close, just hide! } "weapon_drop" { "string1 set" "string item" "string1 is" "string cola_bottles" "visible set" "bool 1" "integer1 set" "int 1" "visible is" "bool 0" // Don't actually close, just unhide! } "explain_store_item_stop" { } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "integer1 is" "int 1" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present" { "visible is" "bool 1" "caption set" "string #L4D2_Instructor_explain_gun_shop_item_get" "void present complete" "void" "caption set" "string #L4D2_Instructor_explain_gun_shop_item" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain return item" { "team" "2" "priority" "99" "instance_type" "1" "caption" "#L4D2_Instructor_explain_return_item" "onscreen_icon" "icon_info" "force_caption" "1" "open" { "explain_return_item" { "local_player is" "player userid" "icon_target set" "entity subject" } } "update" { "Default show" { "visible set" "bool 1" } "Hide if they have no cola" { "local_player !weapon has" "string weapon_cola_bottles" "visible set" "bool 0" } } } //-------------------------------------------------------- //-------------------------------------------------------- "Explain help return item" { "team" "2" "priority" "98" "caption" "#L4D2_Instructor_explain_help_return_item" "timeout" "10.0" "onscreen_icon" "icon_shield" "open" { "explain_return_item" { "local_player !is" "player userid" "icon_target set" "player userid" "entity1 set" "entity subject" } } "update" { "Default show" { "visible set" "bool 1" } "Hide if they have no cola" { "icon_target !weapon has" "string weapon_cola_bottles" "visible set" "bool 0" } "Close if no more goal" { "entity1 is" "entity NULL" "void close" "void" } } } //-------------------------------------------------------- "Notify Save Items" { "team" "2" "priority" "99" "instance_type" "1" "caption_color" "255,255,0" "onscreen_icon" "icon_tip" "caption" "#L4D2_Instructor_save_items" "range" "300" "open" { "explain_save_items" { "string1 set" "convar mp_gamemode" "string1 !is" "string versus" "icon_target set" "entity subject" } } } //-------------------------------------------------------- "Explain acid spit" { "team" "2" "priority" "99" "instance_type" "1" "display_limit" "8" "onscreen_icon" "icon_alert" "caption" "#L4D2_Instructor_explain_acid_spit" "timeout" "8.0" "range" "480" "open" { "spit_burst" { "icon_target set" "entity subject" } } "close" { "entered_spit" { "local_player is" "player userid" } } } //-------------------------------------------------------- "Explain c1m4 finale" { "team" "2" "priority" "99" "instance_type" "1" "onscreen_icon" "icon_info" "caption" "#L4D2_Instructor_explain_c1m4_finale1" "force_caption" "1" "onscreen_icon" "icon_info" "offscreen_icon" "icon_alert" "range" "12000.0" "integer2" "1" "float1" "1.5" "force_caption" "1" "open" { "explain_c1m4_finale" { "icon_target set" "entity subject" } } "update" { "Update Counter" { "float1 subtract" "float 0.25" } "Change to caption 1" { "integer2 is" "int 3" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_c1m4_finale1" "float1 set" "float 1.5" "integer2 set" "int 1" } "Change to caption 2" { "integer2 is" "int 1" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_c1m4_finale2" "float1 set" "float 1.5" "integer2 set" "int 2" } "Change to caption 3" { "integer2 is" "int 2" "float1 is" "float 0.0" "caption set" "string #L4D2_Instructor_explain_c1m4_finale3" "float1 set" "float 1.5" "integer2 set" "int 3" } } "close" { "finale_start" { } } } //-------------------------------------------------------- // Indicate that a magnum pistol is available //-------------------------------------------------------- "Explain magnum Pistol" { "team" "2" "priority" "53" "instance_type" "3" "display_limit" "2" "binding" "+use" "caption" "#L4D2_Instructor_explain_magnum_pistol_get" "onscreen_icon" "icon_interact" "offscreen_icon" "icon_interact" "icon_offset" "24.0" "range" "360.0" "show_when_occluded" "0" "lock_duration" "5" "start_sound" "" "group" "item_glows" "open" { "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol_magnum" "local_player !weapon has" "string weapon_melee" "local_player !weapon has" "string weapon_chainsaw" "local_player !weapon has" "string weapon_pistol_magnum" "icon_target set" "entity subject" } "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol_magnum" "local_player weapon has" "string weapon_melee" "icon_target set" "entity subject" "caption set" "string #L4D2_Instructor_explain_trade_melee_for_magnum_pistol" } "weapon_spawn_visible" { "local_player is" "player userid" "string1 set" "string weaponname" "string1 is" "string pistol_magnum" "local_player weapon has" "string weapon_chainsaw" "icon_target set" "entity subject" "caption set" "string #L4D2_Instructor_explain_trade_melee_for_magnum_pistol" } } "close" { "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string melee" } "item_pickup" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string chainsaw" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol_magnum" } "spawner_give_item" { "local_player is" "player userid" "string1 set" "string item" "string1 is" "string weapon_pistol" } } "update" { "Base Icon" { "onscreen_icon set" "string icon_interact" "visible set" "bool 1" } "Selected other item" { "local_player get potential use target" "int 2" "entity2 !is" "entity null" "entity2 !is" "entity world" "entity2 !is" "entity icon_target" "local_player use target is" "entity entity2" "visible set" "bool 0" } "Selected Item" { "visible is" "bool 1" "local_player use target is" "entity icon_target" "onscreen_icon set" "string use_binding" "void present end" "void" } "Set Caption After Present (no melee)" { "visible is" "bool 1" "local_player !weapon has" "string weapon_melee" "local_player !weapon has" "string weapon_chainsaw" "caption set" "string #L4D2_Instructor_explain_magnum_pistol_get" "void present complete" "void" "caption set" "string #L4D2_Instructor_explain_magnum_pistol" } "Set Caption After Present (melee)" { "visible is" "bool 1" "local_player weapon has" "string weapon_melee" "caption set" "string #L4D2_Instructor_explain_trade_melee_for_magnum_pistol" "void present complete" "void" "caption set" "string #L4D2_Instructor_explain_magnum_pistol" } "Set Caption After Present (chainsaw)" { "visible is" "bool 1" "local_player weapon has" "string weapon_chainsaw" "caption set" "string #L4D2_Instructor_explain_trade_melee_for_magnum_pistol" "void present complete" "void" "caption set" "string #L4D2_Instructor_explain_magnum_pistol" } } } /////////////////// /////////////////// //// CHALLENGES! //// /////////////////// /////////////////// //-------------------------------------------------------- // Explain Survivor glow disabled //-------------------------------------------------------- "Explain Survivor Glows disabled" { "team" "2" "priority" "198" "timeout" "8.0" "instance_type" "1" "display_limit" "10" "caption" "#L4D_Instructor_explain_survivor_glows_disabled" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_survivor_glows_disabled" { "local_player is" "player userid" "icon_target set" "player local_player" } } } "Explain Item Glows disabled" { "team" "2" "priority" "200" "timeout" "8.0" "instance_type" "1" "display_limit" "10" "caption" "#L4D_Instructor_explain_item_glows_disabled" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_item_glows_disabled" { "local_player is" "player userid" "icon_target set" "player local_player" } } } "Explain Rescue disabled" { "team" "2" "priority" "197" "timeout" "8.0" "instance_type" "1" "display_limit" "10" "caption" "#L4D_Instructor_explain_rescue_disabled" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_rescue_disabled" { "local_player is" "player userid" "icon_target set" "player local_player" } } } "Explain Bodyshots Reduced" { "team" "2" "priority" "199" "timeout" "8.0" "instance_type" "1" "display_limit" "10" "caption" "#L4D_Instructor_explain_bodyshots_reduced" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_bodyshots_reduced" { "local_player is" "player userid" "icon_target set" "player local_player" } } } "Explain Witch Instant Kill" { "team" "2" "priority" "196" "timeout" "8.0" "instance_type" "1" "display_limit" "10" "caption" "#L4D_Instructor_explain_witch_kills" "onscreen_icon" "icon_alert_red" "offscreen_icon" "icon_alert_red" "start_sound" "" "open" { "explain_witch_instant_kill" { "local_player is" "player userid" "icon_target set" "player local_player" } } } //-------------------------------------------------------- // Explain min grenade launcher range. //-------------------------------------------------------- "Notify Grenade Launcher Range" { "team" "2" "priority" "127" "timeout" "8.0" "instance_type" "1" "display_limit" "6" "onscreen_icon" "icon_alert" "offscreen_icon" "icon_alert" "caption" "#L4D_Instructor_notify_grenade_launcher_range" "start_sound" "" "open" { "player_hurt" { "local_player is" "player userid" "local_player is" "entity attackerentid" "integer1 set" "int type" "integer1 has bit" "int 6" "local_player weapon is" "string weapon_grenade_launcher" "icon_target set" "player local_player" } "player_hurt_concise" { "local_player is" "player userid" "local_player is" "entity attackerentid" "integer1 set" "int type" "integer1 has bit" "int 6" "local_player weapon is" "string weapon_grenade_launcher" "icon_target set" "player local_player" } } } }