Common L4D Mapping Problems
Jump to navigation
Jump to search
This is a collection of Frequently Asked Questions and common error messages related to mapping in Left 4 Dead.
FAQ
- Why does a newly compiled map crash after opening it in L4D?
- How do I make the infected spawn?
- Your map must have a info_director that is enabled, you also may have to use the console command "director_start".
- Why won't the survivor bots move?
- The most likely cause is a faulty or missing ".nav" file. See Navigation Meshes
- Why is the molotov fire / Smoker's smoke cloud not visible in-game?
- This is usually due to the lack of a
env_fog_controller
entity. Also, check to make sure there were no errors generated during the map's compile process.
- This is usually due to the lack of a
- Why won't my rescue closets work?
- Rescue closets will not function correctly if there are any nav errors present in the map (the "NAV ERRORS - Map is unplayable!" message appears in game). You will want to make sure the map's nav mesh is properly set-up.
- How do I play my map in VS Mode?
- VS Mode is enabled through the map's name. To create a VS Mode map, simply prefix the map's name with "l4d_vs_". For example, if you had a map named "oiltanker_engineroom", to make it into a VS map, just rename it to "l4d_vs_oiltanker_engineroom".
Error messages and what they mean
- The nav file was built for an older compile.
- This error message means the ".nav" file for a map is older then the ".bsp" itself. This should not be a problem unless the map's layout was changed after the ".nav" file was created. This can be remedied by running
nav_analyze
in the console after changes are made to the ".bsp".
- This error message means the ".nav" file for a map is older then the ".bsp" itself. This should not be a problem unless the map's layout was changed after the ".nav" file was created. This can be remedied by running
The nav errors below will cause the message "NAV ERRORS - Map is unplayable!" to be displayed in game when the map is loaded.
- Missing nav file.
- Missing Battlefield check found N areas
- GetGoalArea: Cannot find SPAWN_RESCUE_CLOSET area in FINALE, thus cannot guarantee reachability of goal area.
- Regarding respawn closets; there are 2 essential steps for making them work properly. Place 3 Info survivor position entities in a room or closet then in game use the
mark RESCUE_CLOSET
console command to identify the closet/room as a rescue area. This process is explained in Navigation Meshes. Equally important is labeling the "player start" and checkpoint meshes usingmark CHECKPOINT
andmark PLAYER_START
respectively.
- Regarding respawn closets; there are 2 essential steps for making them work properly. Place 3 Info survivor position entities in a room or closet then in game use the
- GetGoalArea: Cannot find end area - no checkpoint or finale located.
- This error is due to lack of one of the following: 1.) A missing Prop door rotating checkpoint entity. 2.) Not identifying a navigation mesh with
mark CHECKPOINT
. 3.) Not identifying a navigation mesh withmark FINALE
.
- This error is due to lack of one of the following: 1.) A missing Prop door rotating checkpoint entity. 2.) Not identifying a navigation mesh with
- ComputeFlowDistances: ERROR - Cannot compute flow.
- The "Flow" of the map refers to the ability of the AI to travel from the spawn location to the designated Saferoom/finale checkpoint. If there are any breaks in the navigation mesh (meshes that are not connected via
nav_connect
ornav_splice
), L4D cannot compute the path necessary to travel the map.Note:
Nav_generate
can leave certain essential meshes from being connected, sometimes manual connection is required.
- The "Flow" of the map refers to the ability of the AI to travel from the spawn location to the designated Saferoom/finale checkpoint. If there are any breaks in the navigation mesh (meshes that are not connected via

info_player_start
, info_director
, and a nav mesh, then follow the steps in "One method for changing levels" and "Building the navigation mesh" above.Others
- WARN: CL4DBasePanel::UpdateProgressBar called outside of level loading, discarded!
- Engine Error: 81/ - weapon_ammo_spawn: UTIL_SetModel: not precached: models/props_unique/spawn_apartment/coffeeammo.mdl
- Engine Error: CModelLoader::FindModel: NULL name
- This is caused by compiling the map using an outdated FGD. Older FGDs do not have the new values for the
env_fog
andlight_environment
entities, therefore you are compiling a BSP with missing information.
- This is caused by compiling the map using an outdated FGD. Older FGDs do not have the new values for the
- Assert, File: U:\dev\terror\src\tier0\memstd.cpp, Line: 1623, Assert: ***** OUT OF MEMORY! attempted allocation size: 536873088 ****
- Underneath this error message, there is a button labeled "Break in Dubugger". Click this. Your game will crash, but once you relaunch, load your map again. It should load up fine the second time.
- Alternatively, next to the "Ignore this assertion [#] time(s)", putting any number for how many times you would like the engine to skip that error.
- This error has been found to be caused by a missing "stringtable_dictionary.dct" in your BSP file. To prevent this error from happening, you can configure Hammer to automatically pack a "stringtable_dictionary.dct" file into your BSP during compile. To do this, follow the tutorial here. The file itself can be obtained from that tutorial, or extracted from an official L4D map using a tool like Pakrat.