Enemy Spawning: Difference between revisions

From Tripwire Interactive Wiki
Jump to navigation Jump to search
Line 54: Line 54:




'''Dialogue Events'''


This category contains a list of events that dialogue can trigger before, during and after it plays.
{| class="wikitable sortable" style="min-width:75%;text-align:left;"
! Variable Name
! Variable Type
! Description
|-
|-
| DisplayedEvent || Name || This event will be triggered '''after''' the dialogue has '''completely''' finished playing. 
|-
| DisplayingEvent || Name || This event will be triggered the very second the dialogue '''begins''' playing.
|-
| RequiredEvent || Name || If you have multiple dialogues, setting an event here will cause the dialogue chain to halt until it receives an event of that name.  Think of it like a 'pause' command.
|-
|}





Revision as of 17:06, 12 November 2013

Enemy spawning in Objective Mode is very different than it is in Wave Mode. Adding zombie volumes to an Objective Mode map will not automatically cause enemies to spawn when the map loads like they do in Wave Mode. In order to make enemies spawn you need to do abit more work, but it'll be worth it in the end because you'll have total control over what gets spawned and when!

Creating a Squad

Adding a Squad Designer

Before you can get an enemy to spawn you need to create a 'squad' for it. Squads contain information about the number and type of enemies that should spawn in a particular group. You could have a squad with only a single enemy in it, or a squad with dozens of enemies, it's up to you. To begin creating squads you must first place a 'KF_StorySquadDesigner' actor somewhere in your map. You can find the Squad Designer in the actor classes browser under Info -->KF_StorySquadDesigner

Once the Squad designer has been placed you should select it and press F4 to open up its properties. You will notice that it has an empty array called 'Squads'. Click on this and select 'Add' to create a new entry.


Naming your Squad

Now you should enter a name for your squad. A common convention in Tripwire maps is to name enemy squads after objectives followed by a letter to differentiate them. i.e "GoldBarSquadA". This is helpful because it reminds us which objective these enemies should be spawning for. But really you can call your squad whatever you want as long as it's not a name that has already been used somewhere else.


Adding ZED types

The next step is to click 'Add' next to Squad_ZEDs. This will add a single type of enemy to your newly created squad. The 'NumToSpawn' value indicates how many of that type of ZED should spawn in your squad. You can add as many different types of ZEDs as you like, including custom ones (if you are making a mod that has it's own enemy type). To do this simply set the 'ZEDType' to "ZED_CUSTOM" and select your custom enemy class from the CustomZEDClass dropdown. The squad pictured below would be comprised of a total of 5 ZEDS - two clots and 3 crawlers.


Creating a Wave

Adding a Wave Designer

Now that you have created a squad it's time to set up a wave that will spawn them. To do this you must place a 'KF_StoryWaveDesigner' actor somewhere in your map. You can find the Wave Designer in the actor classes browser under Info -->KF_StoryWaveDesigner. It is usually a good idea to place your wave designer next to your squad designer, so that if you have maps with multiple wave / squad setups you can see which ones are grouped at a glance.


Setting up your wave

In Killing Floor, spawning usually happens in 'Waves', which is a nickname for a large amount of enemies that spawn over time. The wave designer is a 'container' which stores information about what types of enemies should spawn for a particular wave, and how long it should last.

Note: Wave designers can only have one active wave at a time. If you would like to have multiple waves spawning enemies concurrently, you need to place multiple wave designer actors.


Dialogue Events

This category contains a list of events that dialogue can trigger before, during and after it plays.

Variable Name Variable Type Description
DisplayedEvent Name This event will be triggered after the dialogue has completely finished playing.
DisplayingEvent Name This event will be triggered the very second the dialogue begins playing.
RequiredEvent Name If you have multiple dialogues, setting an event here will cause the dialogue chain to halt until it receives an event of that name. Think of it like a 'pause' command.



Finishing Touches