UPDATE 04/2010 by cr0ybot: Abandon all hope, ye who enter here!
<warning>
This “tutorial” was written back in April of ’09, before Left4Dead’s SourceSDK update became publicly available in June ’09! Yes, that’s right, the first Left4Dead. Now, Valve has Left4Dead Authoring tools, and probably lots of documentation at the developer wiki. Therefore, everything I wrote here, trying to get a mod to work without official support, is probably wrong.
Proceed with caution.
</warning>
Pre-NAV-generation checklist:
Starting Saferoom:
- info_player_start
- 4 info_survivor_position
- info_director
- env_fog_controller (Fog Enable = yes)
- info_landmark
- prop_door_rotating_checkpoint (“checkpoint_exit”; body = 1; Spawn Position = Closed)
- 4 weapon_first_aid_kit_spawn
- weapon_smg_spawn
- weapon_pumpshotgun_spawn
- weapon_ammo_spawn
Rescue Closets:
- 3 info_survivor_rescue
- prop_door_rotating
Ending Saferoom:
- prop_door_rotating_checkpoint (“checkpoint_entrance”; body = 0; Spawn Position = Open)
- info_landmark
- trigger_changelevel (must touch floor)
In-game NAV Generation:
NOTE: If your map has an “event” that opens a crucial path, open the path in-game before you generate the NAV
sv_cheats 1
nav_edit 1
nav_mark_walkable (mark all levels, including rooftops)
nav_generate
After inevitable errors, check crucial NAV markers:
select_with_attribute CHECKPOINT
select_with_attribute RESCUE_CLOSET
select_with_attribute ESCAPE_ROUTE
Manually assign NAV markers by pointing at NAVS or using nav_gui to select:
mark CHECKPOINT (start and end room)
mark PLAYER_START
mark RESCUE_CLOSET
mark ESCAPE_ROUTE
nav_save
nav_analyze
If you suspect disconnected NAVs, especially with stairs/ladders:
NOTE: using the flood select option in the nav_gui will allow you to easily find disconnected NAVs
General disconnections:
nav_trouble_report orphan
nav_delete
OR
nav_mark (1st NAV)
nav_connect (2nd NAV)
nav_mark (2st NAV)
nav_connect (1nd NAV)
nav_save
nav_analyze
Ladders:
nav_mark (at base of ladder)
nav_connect (on ladder)
nav_mark (on ladder)
nav_connect (at top of ladder)
nav_save
nav_analyze
Stairs:
nav_mark (top or bottom)
nav_splice (other side)
If all else fails:
director_debug 1
nav_trouble_report
nav_recompile_flow (untested)
Helping the NAV along:
mark OBSCURED (areas that zombies should spawn, like behind props)
mark EMPTY (areas that should be clear always; mobs will still spawn during panic events)
mark NO_MOBS (areas that will not spawn mobs)
mark BATTLEFIELD (apparently good for spawning zombies in wide-open areas)
mark PRECISE (AI should be careful to walk exactly where the NAV is located; good for tight ledges with a chance of falling)
One Response to “Generating the NAV File”