L4D2 Mission Files: Difference between revisions
(→Swapping Special Infected Models: added info about other infected swaps, taking care of the "todo". Also added link to a guide for specific spawnpoint model replacements.) |
m (→Base Mission File: added additional note about loadingscreens.) |
||
Line 44: | Line 44: | ||
{ | { | ||
// Loadingscreen. VMT must be placed in "materials/vgui/" | // Loadingscreen. VMT must be placed in "materials/vgui/" | ||
"posterImage" "LoadingScreen_MyCampaign" | "posterImage" "LoadingScreen_MyCampaign" // Suqare loadingscreen using 1024x1024, 2048x2048, ect ... texture resolution. For '''below''' 16:9 Aspect ratio | ||
"posterImage_widescreen" "LoadingScreen_MyCampaign_widescreen" // | "posterImage_widescreen" "LoadingScreen_MyCampaign_widescreen" // Rectangular loadingscreen using 12024x2048, 4096x2048, ect texture resolution. For '''above''' 16:9 Aspect ratio | ||
// If no dedicated textures were available, a square loadingscreen will be stretched on 16:9, while a rectangular texture will be squeezed on 4:3. | |||
"fullscreen" "1" // Fitts loading screen onto entire screen, resizing it if required. | "fullscreen" "1" // Fitts loading screen onto entire screen, resizing it if required. | ||
"l4d2_names" "1" // Use L4D2 survivor names on loadingscreen or not. "survivor_set" already handles this, making this seemingly useless. | "l4d2_names" "1" // Use L4D2 survivor names on loadingscreen or not. "survivor_set" already handles this, making this seemingly useless. | ||
"character_order" "coach;mechanic;gambler;producer" //Order in which survivors appear on the bottom left of loadingscreen | "character_order" "coach;mechanic;gambler;producer" //Order in which survivors appear on the bottom left of the loadingscreen. | ||
//"character_order" "biker;manager;teengirl;namvet" //Ditto, but L4D1 names. | //"character_order" "biker;manager;teengirl;namvet" //Ditto, but L4D1 names. | ||
} | } |
Revision as of 10:42, 17 February 2021
Left 4 Dead 2 mission files are metadata scripts that describes the structure and content of a campaign. They are used by the game UI, matchmaking, and the game server.
Mission files are .txt files that are stored in the missions
directory, for example left4dead2\addons\deadline2\missions\mycampaign.txt
. It is strongly recommended that the file is given an unique name to avoid conflicts with other campaigns.
Official mission files can be found in List of L4D2 Missions Files and Deadline_Mission_File
Debugging
To debug mission files the game needs to be started with the -allowdebug
command line option. Running the mission_reload
console command will attempt to load all mission files, and will print information about any errors encountered.
Base Mission File
This is the most bare bones mission file, containing only the things you need.
"mission" { "Name" "myCampaign" //For matchmaking system. Only letters A-Z and Numbers 0-9 allowed. "Version" "1" //For matchmaking system. Only Numbers 0-9 allowed. // Main Menu representation of Campaign. "DisplayTitle" "My Campaign!" "Description" "An epic tale of zombies getting shot in the head." "Author" "Me!" // Where to download the campaign. Seen by people trying to join a server playing this campaign. Not required for workshop submissions. "Website" "http://media.steampowered.com/apps/513/deadline2.html" // VMT shown behind the end credits when your campaign ends. MUST have "vgui/" at the front. "OuttroImage" "vgui/outroTitle_DeadCenter" // A list of melee weapons that are allowed to spawn in the campaign. // Custom melee weapons can be added by using the melee weapon script name in this list, such as "My_custom_melee.txt" at the end of this string. "meleeweapons" "baseball_bat;cricket_bat;crowbar;electric_guitar;fireaxe;frying_pan;golfclub;katana;knife;machete;pitchfork;shovel;tonfa;My_custom_melee" //these are all official melee weapon, plus one extra. // Which set of survivors should be used. 1 for L4D1, 2 for L4D2 "survivor_set" "2" // Other options. 0 = Off, 1 = on. "allow_cola" "0" // Allows the Dead Center cola bottles to spawn. "no_wpn_restore" "0" // On player wipe, don't keep any weapons. "no_female_boomers" "0" // Disables spawning of the Boomette. "no_cs_weapons" "0" // Disables spawning of the German version CS weapons. AS of the "The LAst Stand" Css weapons are available for every version of the game. It is unsure if this strinng is still in use. "allow_diesel" "0" // Allows the Hard Rain Diesel cans to be used. // Loading screen poster settings. "poster" { // Loadingscreen. VMT must be placed in "materials/vgui/" "posterImage" "LoadingScreen_MyCampaign" // Suqare loadingscreen using 1024x1024, 2048x2048, ect ... texture resolution. For below 16:9 Aspect ratio "posterImage_widescreen" "LoadingScreen_MyCampaign_widescreen" // Rectangular loadingscreen using 12024x2048, 4096x2048, ect texture resolution. For above 16:9 Aspect ratio // If no dedicated textures were available, a square loadingscreen will be stretched on 16:9, while a rectangular texture will be squeezed on 4:3. "fullscreen" "1" // Fitts loading screen onto entire screen, resizing it if required. "l4d2_names" "1" // Use L4D2 survivor names on loadingscreen or not. "survivor_set" already handles this, making this seemingly useless. "character_order" "coach;mechanic;gambler;producer" //Order in which survivors appear on the bottom left of the loadingscreen. //"character_order" "biker;manager;teengirl;namvet" //Ditto, but L4D1 names. } "modes" { "coop" //Co-Op Game mode. { "1" { "Map" "my_map1" // BSP file name, without extension "DisplayName" "Map 1!" //Name seen on menu "Image" "maps/my_map1" //Thumbnail VMT file, must be saved in "materials\vgui\maps" } // Additional maps listed here, make sure to number them correctly. // "2" // { // "Map" "my_map2" // "DisplayName" "Map 2!" // "Image" "maps/my_map2" // } } } }
Game Modes
The "modes" section defines what Game Modes your map(s) support. You may reuse the same bsp for multiple gamemodes, if it was compiled to allow it. See Multi Game Mode Support, Survival Gametype, Scavenge Maps and Mutation Gametype for more info.
All maps must be listed in chronological order, but it does not matter which game mode is listed first. Example:
"modes" { "coop" { "1" { "Map" "my_map1" "DisplayName" "Map 1!" "Image" "maps/my_map1" } "2" { "Map" "my_map2" "DisplayName" "Map 2!" "Image" "maps/my_map2" } } "versus" { "1" { "Map" "my_map1" "DisplayName" "Map 1!" "Image" "maps/my_map1" "VersusCompletionScore" "800" //This map awards max 800 points to the score when the saferoom is reached. } "2" { "Map" "my_map2" "DisplayName" "Map 2!" "Image" "maps/my_map2" "VersusCompletionScore" "1000" //This map is longer and rewards 1000 points. } } "survival" { "1" { // Uses my_map2.bsp, but because it is the first map in survival mode, it is listed as number 1. "Map" "my_map2" "DisplayName" "Parking Lot" //Fancy name because the survival play area is just the parking lot. "Image" "maps/my_map2" } } }
Available Game Modes
These are all available gamemodes. Also showing what gamemode a mutation is based on.
This Left4Dead fan wikipedia page explains what each of those mutations do.
Script name | Official name | Base |
---|---|---|
Coop | - | - |
Realism | - | - |
Survival | - | - |
Versus | - | - |
Scavenge | - | - |
Dash | - | - |
Holdout | - | - |
Shootzones | - | - |
Gunbrain | GunBrain | Coop |
Tankrun | Tank Run | Coop |
Rocketdude | RocketDude | Coop |
L4d1 | Left 4 Dead 1 Coop | Coop |
L4d1vs | Left 4 Dead 1 Versus | Versus |
L4d1survival | Left 4 Dead 1 Survival | Survival |
Mutation1 | Last Man On Earth | Coop |
Mutation2 | Headshot! | Coop |
Mutation3 | Bleed Out | Coop |
Mutation4 | Hard Eight | Coop |
Mutation5 | Four Swordsmen | Coop |
Mutation7 | Chainsaw Massacre | Coop |
Mutation8 | Ironman | Coop |
Mutation9 | Last Gnome On Earth | Coop |
Mutation10 | Room For One | Coop |
Mutation11 | Healthpackalypse! | Versus |
Mutation12 | Realism Versus | Versus |
Mutation13 | Follow the Liter | Scavenge |
Mutation14 | Gib Fest | Coop |
Mutation15 | Versus Survival | Survival |
Mutation16 | Hunting Party | Coop |
Mutation17 | Lone Gunman | Coop |
Mutation18 | Bleed Out Versus | Versus |
Mutation19 | Taaannnkk! | Versus |
Mutation20 | Healing Gnome | Coop |
Community1 | Special Delivery | Coop |
Community2 | Flu Season | Coop |
Community3 | Riding My Survivor | Versus |
Community4 | Nightmare | Survival |
Community5 | Death's Door | Coop |
Community6 | Confogl | Versus |
Mutations will automatically inherit map settings of whatever game mode the mutation is based on. unless otherwise specified
Example:
"Versus" { "1" { "Map" "my_map1" "DisplayName" "Map 1!" "Image" "maps/my_map1" "VersusCompletionScore" "800" "versus_boss_spawning" { "tank_chance" "1" "witch_chance" "1" } } } "Mutation18" // Bleed Out Versus. Same as regular Versus, but with halfed Tank and Witch spawn chance to make it easier for survivors. { "1" { "Map" "my_map1" "DisplayName" "Map 1!" "Image" "maps/my_map1" "VersusCompletionScore" "800" "versus_boss_spawning" { "tank_chance" "0.5" "witch_chance" "0.5" } } }
Optional Per-Map Settings
The following settings can be added to any map listing in the missionfile, to make the settings only affect that specific map.
Revisiting maps
Some maps, like in Hard Rain can be "Revisited". This allows you to keep all existing item spawns in the same locations, but all the ones you had used are now gone on the way back.
This only works if the items in both maps are in the exact same location, with same orientation. This can be achieved by using the same vmf as base for both maps, but the saferooms being reversed on the "way back", along with optional visual changes.
Example:
"1" { "Map" "my_map1" "DisplayName" "Map 1!" "Image" "maps/my_map1" "revisitable" "1" // Keep track of all used items on this map. We'll be coming back to this one. } "2" { "Map" "my_map2" "DisplayName" "Map 2!" "Image" "maps/my_map2" "revisit_source" "my_map1" // We're back, but going the other way. All items osed on the here specified maps will no longer be available. }
Swapping Special Infected Models
We have the ability to swap all Special Infected on a map with the same different model. Official campaigns use this to swap the Boomer, Hunter, Smoker and Tank on L4D1 maps with their L4D1 models.
The required strings are as followed:
Worldmodel
- BoomerVariant
<model>
- ChargerVariant
<model>
- HunterVariant
<model>
- JockeyVariant
<model>
- SmokerVariant
<model>
- SpitterVariant
<model>
- TankVariant
<model>
- WitchVariant
<model>
Viewmodel
- BoomerArmsVariant
<model>
- ChargerArmsVariant
<model>
- HunterArmsVariant
<model>
- JockeyArmsVariant
<model>
- SmokerArmsVariant
<model>
- SpitterArmsVariant
<model>
- TankArmsVariant
<model>

Examples
"The Sacrifice" replaces all tanks (which is only one on the map) with this version:
"TankVariant" "models/infected/hulk_dlc3.mdl" "TankArmsVariant" "models/v_models/weapons/v_claw_hulk_dlc3.mdl"
Replacing all Si with their available L4D1 counterparts:
"TankVariant" "models/infected/hulk_l4d1.mdl" "HunterVariant" "models/infected/hunter_l4d1.mdl" "SmokerVariant" "models/infected/smoker_l4d1.mdl" "BoomerVariant" "models/infected/boomer_l4d1.mdl" "TankArmsVariant" "models/v_models/weapons/v_claw_hulk_L4D1.mdl" "HunterArmsVariant" "models/v_models/weapons/v_claw_hunter_l4d1.mdl" "SmokerArmsVariant" "models/v_models/weapons/v_claw_smoker_l4d1.mdl" "BoomerArmsVariant" "models/v_models/weapons/v_claw_boomer_l4d1.mdl"
"The Passing" replaces the witch with one wearing a bridal dress:
"WitchVariant" "models/infected/witch_bride.mdl"
Completely custom models can also be made:
"SpitterVariant" "models/infected/Custom_spitter.mdl" "SpitterArmsVariant" "models/v_models/weapons/Custom_spitter_viewmodel.mdl"
Using Vscripts it is possible to swap out a model for a single spawnpoint on a map. However, the viewmodel hands will not match up correctly for the person playing as the infected in versus.
This Guide explains how this is achieved.
Versus map settings
Versus maps allow optional modifications to alter the spawning of bosses.
"versus_boss_spawning" {
"spawn_pos_min" "0.10" //
"spawn_pos_max" "0.90" //
"allow_boss_mix" "1" //
"witch_and_tank" "1"//
"tank_chance" "1.0" // tank spawn chance multiplier. can be set to 0 to stop tank spawns "witch_chance" "1.0" // witch spawn chance multiplier. can be set to 0 to stop witch spawns }