Left 4 Dead 2/Scripting/Director Scripts/AllowFallenSurvivorItem: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(new page)
 
(added 2 debugging related commands)
Line 28: Line 28:
{{varcom|z_fallen_kill_suppress_time|300||When a Fallen Survivor is killed, how long in seconds should pass before another can spawn.}}
{{varcom|z_fallen_kill_suppress_time|300||When a Fallen Survivor is killed, how long in seconds should pass before another can spawn.}}
{{varcom|z_fallen_max_count|1||How many Fallen Survivors can be active at once.}}
{{varcom|z_fallen_max_count|1||How many Fallen Survivors can be active at once.}}
{{varcom|z_forcezombiemodel|0|01|Determines if<code>z_forcezombiemodelname</code>is allowed to be used.}}
{{varcom|z_forcezombiemodelname|common_male01|[[Left_4_Dead_Infected_Populations#List_of_Population-Supported_Infected_Types|infected model name]]|When<code>z_forcezombiemodel</code>is active, force all Common Infected to use this model. If the model isn't precached, ignore.}}
{{varcom|end}}
{{varcom|end}}
__TOC__
__TOC__

Revision as of 07:26, 6 June 2021

A callback for the DirectorOptions table. When its DirectorOptions is registered, this function receives callbacks on the spawning of all items from a Fallen Survivor. Arguments with the callback are strings representing a weapon's classname; returntruefor that string to allow Fallen Survivors to have a chance of equipping the weapon.

With usage of theprintlfunction, the exposed arguments are:


Msg("VSCRIPT: Running director_base_addon.nut; VDC's!\n")

DirectorOptions <-
{
 	function AllowFallenSurvivorItem( classname )
 	{
 		printl(classname)
 	}
}
//----------------------------------------------
/*Output:
** VSCRIPT: Running director_base_addon.nut; VDC's!
** weapon_molotov
** weapon_pipe_bomb
** weapon_pain_pills
** weapon_first_aid_kit
*/
Note.pngNote:Despite the name similarity to the AllowWeaponSpawn callback, this callback can only disallow existing Fallen Survivor items, and allowing new weapons will not work, unless a custom system is built and then initiated in this callback function.

Debugging

Not only that Fallen Survivors spawn in certain maps only, likec10m4_mainstreet(Death Toll - Streets) orc6m2_bedlam(The Passing - Bedlam), they also are too rare to reliably debug any code with them on those maps. With these commands, once set up properly can be used to debug Fallen Survivors efficiently:

Cvar/Command Parameters or default value Descriptor Effect
z_fallen_kill_suppress_time 300 When a Fallen Survivor is killed, how long in seconds should pass before another can spawn.
z_fallen_max_count 1 How many Fallen Survivors can be active at once.
z_forcezombiemodel 0 0 disables, 1 enables Determines ifz_forcezombiemodelnameis allowed to be used.
z_forcezombiemodelname common_male01 infected model name Whenz_forcezombiemodelis active, force all Common Infected to use this model. If the model isn't precached, ignore.

Parameters

bool AllowFallenSurvivorItem(string classname)

Type Name Arguments Description
string classname

  • weapon_molotov
  • weapon_pipe_bomb
  • weapon_pain_pills
  • weapon_first_aid_kit
Name of a weapon's classname; Only 4 are given.

Expected Returns

Type Description
bool Return true to allow the respective weapon from spawning; false or none is otherwise.

Code Samples

Health-pack-alypse Fallens

L4D2DirectorScript Callbacks-Health-pack-alypseFallens.jpg

When ran, Fallen Survivors will sometimes only spawn with a weapon_first_aid_kit equipped, and never spawn equipped with any other gear.


// its now a Health-pack-alypse from the Fallens!
DirectorOptions <-	
{
  	function AllowFallenSurvivorItem(classname)
	{
		if( classname == "weapon_first_aid_kit" )
		{
			printl("Allowed "+classname);
			return true
		}
		else
		{
			printl("Disallowed "+classname);
			return false
		}
	}
}