Tripwire Interactive Forums

Go Back   Tripwire Interactive Forums > Killing Floor Forums > Killing Floor Modifications > Level Design

Reply
 
Thread Tools Display Modes
  #1  
Old 05-05-2012, 06:29 PM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default KFS-Containment (Story Map + Tutorial)

Here is a map ive been working on using Alex's Story Mode I also wrote a tutorial for it. Been using this map to help test this mod.

In order to play this map 1st you need to download Alex's Mod,Click Link Here (make sure you del your user.ini file. It has to make a new one with DefUser )

This is alawys updating so make sure you keep with the current code.

Download KFS-Conatinment MAP: Click link here

Open KillingFloor, Open Console, Type In (or copy/paste) ; open KFS-Containment?Game=KFStoryGame.KFStoryGameinfo

There is a tutorial below that shows how to make some of the features this map uses. Also how to set it up so you can make your 1st story map.

This is a very easy way to make a mission map basically point and click, so check it out.

ScreenShots

__________________
Download All My Maps Here


Last edited by Fel; 05-06-2012 at 12:41 PM.
Reply With Quote
  #2  
Old 05-05-2012, 06:29 PM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default

Using Alex's Story Mod To Make Your Own Mission (Based On KFS-Containment)

Ok so lets get started by mentioning that Alex has a tutorial as well for some of the features. LOCATED HERE It is good to get a couple diffrent views in order to fully understand

NOTE: We want to eleminate the use of scripted tirggers for gameplay usage. However, scripted triggers cant be used for other events, we want to try and stay away from using them to work out a problem. Try to use the KFS stuff 1st before resorting to the use of a scripted trigger.

Setting up the Map


Ok so first things first we need to get the main actors set up.
  • Place a KFLevelRules_Story (Actor>Info>LevelGameRules>KFSPLevelInfo>KFLevelRu les_Story)
Lets take a look at this actor (Attachment #1)
Here is where you set up some of the main properties of the map. This includes (top to bottom) starting cash, If players keep their weapons or not when they die, What Actors get reset when the team dies and restarts from the checkpoint, And the order of your objectives.

Most of this is self explanitory, however lets look at CheckPointResetClasses.


This is used to reset numerous objects when the whole team dies. You want to reset set objects in order to have the gameplay reset. A few of the main actors that are needed to reset are;
  • KF_StoryZombieVolume
  • Trigger (for your trigger once only triggers)
You can reset anything on this list, including movers (for doors) and scripted triggers (to reset complex events)
Another Feature noted is the StoryObjectives. This is used to tell the game the order of your objectives. Even though you can trigger objectives out of order, you still need to tell the game what the basic order is going to be. (these coencide with ObjectiveName)

Setting up Objectives

Actor>NavigationPoint>KF_StoryObjective

Ok so objectives are your main controllers of the map. Using Activation Event and Completion Arrays to control multiple events as well as give the players somethign to do. There are several types of Objective however you can also controll the zombies volumes with them (explained below in next section)

One of the main things an Onjective is ment for is controlling several events at once. This eleminates the use of a scripted trigger.


Lets breifly look at Objective_Events, we will go into these more in detail later.
  • Activation events- This array will let you set all the event you want to be triggered when the objective gets activated. This can include spawns... dialogues...doors
  • Completion events- This array will let you set all the events you want to be triggered when the objective is done. This can include turning off the zombie spawns and the above sugestions.
  • Failure events- This array is used for triggering events when they failure objective (Explained Below) is not compleated.
  • Progress events- This array will trigger events when the objective is at a certain % of compleation. You can use this to trigger things like FP's and Scrakes in the middle of the wave instead of everyhtign at once. This also eleminates the use of the Scripted trigger.
Lets take a look in the Objective_HUD group in the objective actor.
  • Show on HUD - This is for showing the objective on the players screen. Maybe some objectives you might want to happen w/o players knowing just to do some map functions.
  • Whisp Trail- This will turn on/off the red trail that will go from the previous objective to the current one.
  • Manual Activate - This is for if you want to trigger the obj or to have it manuall preceede from the previous objective (Proceede to next objective)
  • Objective Hint- This will show players the objective name they have to complete (Ex: Return to trader)
Dont forget to give the objective a name. (this goes with the KF LevelRules_Story)
Objective Types

Touch Objective (attachment 2)- the touch objective is can be used for players to go from one point of the map to the next, just to move the players. The main goal of this trigger is to set off multiple events at once. This eleminates the need for scripted triggers. There are also other features that are added to this obj such as failure events (will be explained later) that can give playerse secondary goals such as "complete an event in a certain amount of time", or "Do this objecitve while staying in a certain area". These will be explained later as well.

Lets take a look at a touch objective in KFS-Containment (Attachment #2)


When players hit the objective it turns on another section of zombie spawns and an Ai for the special event that happens before the pat fight. So here is the Objective explained (top to bottom)
  • Make sure you set the colission so players can set it off =D
  • If you want the obj to automaticaly goto the next objective, then set the Success Action to Proceede to next objective. Also be sure to set your Success Condition to OBJ_Touch
  • Activation events- This array will let you set all the event you want to be triggered when the objective gets activated. This can include spawns... dialogues...doors
  • Completion events- This array will let you set all the events you want to be triggered when the objective is done. This can include turning off the zombie spawns and the above sugestions.
Timed Objective (attachment 3)- This objective will set off a timer, of course, once the timer is done it triggers the Completion Events.

Lets just take a look at one (attachment 3). This objective is triggered once players reach a touch objective. Then once the timer is done, it turns off the zombievolumes(A1SpawnA) turn off and the Dialogue Actor triggers
  • Objective Duration- Set this to however long you want this objective to last for.
  • If you want the obj to automaticaly goto the next objective, then set the Success Action to Proceede to next objective. Also be sure to set your Success Condition to OBJ_Touch
  • The rest are described in touch Objective, they are highlighted becuase they are still equally important
Use Objective (attachment 4) - This objective is as important as the touch objective. Like all other objective types it contains activation and completion evetn arrays so you can trigger multiple events at the same time, thuss eliminating scripted triggers. On top of this, the Use trigger also has another special function. It has a feature where you can make it so the player has to hold down the USE button for a certain ammount on top, on top of having to look at this. It will show a progress % as well to tell you the progress. This can be used for objectives such as hacking. (attachment 4) Lets look at this Objective;
  • HoldUseSeconds- This sets how long the player has to push Use for. If set to 0 then its instant
  • KeepUseProgress- If set to true, when the player lets go of the use key the % will stay current. If false it goes back to 0%
  • MatainUseLOS-if it's true you need to keep looking at the objective while you use it (maintain line of sight) or it will stop the use process
  • MinUseViewAngle- This is the angle leeway that the player has to be looking at the object. .5 is a good radius
Counter Objective (Attachment 5) - This objective is what is says a counter, but it counts more that just numbers. It can count Players (the number of unique players who trigger the objective), Cash (adds up the total cash of all players on the team), or zombie kills. Lets take a look at the zombie kill function.
  • Dont forget, if you want to manually activate the objective, then it needs a tag.
  • CT_Default- this is the default counter type which is zombie kills.
  • NumToCount- The Number it counts to before the objective is complete
  • SuccessCondition- Remember you have to set this to tell what type of objective your using
  • ObjectiveHint- Also remember you have to have this to tell the players what to do
NOTE: On this Objective you have to match the ZombieEvent Name in the KF_StoryZombieVolume (explained below) to the Objective's tag. Thats how you get the counter to count off of zombie kills.

Failure Objectives (attachment 4 post 2)

Upon having normal objective, each objective actor also has the option to add failure objectives. This gives each objective a secondary goal that the player has to reach. You can add secondary goals such as, Time, Defend (based on Actor HP), Stay in area, and Stay near/away from an Actor.

These failure objective are really helpfull to give more options to what palyers have to do. For example, if all you have it a touch objective where players have to reach a certain area, maybe spruse it up a bit by adding a time limit to it.

Under Objective_HUD be sure to type in the Text that will be displayed for the Failure Objective in the ObjectiveFailureHint section.


Lets take a look at the each of the objective's failure types.
  • FailureCondition- This is where you select the Condition type, Set to None if you want no secondary condition.
  • FailureAction- Tells the game what to do if the secondary condition type is not met
There are serveral options for each failure type lets go over each failure condition.

OCT_DefendActor - Defend Actor is set up so you can defend multiple actors at once. Make sure they have the same tag.
  • TargetActors- You can have the players defend things other than AI. Just type the object's name in here
  • TargetActorTags- This is used for defending AI or even Zombies. (Example; defend the crawler) Just put the Actor's tag in here.
  • MaxDeadActorPct- the maximum number of actors in the who can be considered 'dead' before you fail the objective. If you have 2 actors, and a MaxDeadActorPct of 0.5, you will be able to lose one of them and still continue
  • MinHeathPct- The minimum health the target can have before the objective is failed.
OCT_Proximity- Set up so players have to stay a certain distance either near/or away from an object.
  • ProxActor- Type in the object name to define what players have keep a proximity to.
  • ProximityType- You have 2 choices, Stay Close, or Stay Away.
  • MinDistance- The minimum distance players have to stay close, or away from an object. Based in Unreal Units.
  • TimeOutSeconds- The maximum amount of time players can be out of the proximities range.
OCT_StayInArea- This is almost like Proximity, however this used to keep players in a more defined area, such as a volume.
  • AreaVolume- Type in the ObjectName of the volume you want players to keep inside of.
  • RequiresTeam- Determins weither the whople team has to be inside the volume of just 1 player.
  • TimeOutSeconds- The maximum amout of time players can be out of the specified volume.
OCT_TimeLimit- You can set a time ammount that the players have to complete a certain objective.
  • TimeLimitSeconds- Pretty self explanitory, just put in the ammount of time you want players to have to complete the objective in.
These Failure types are really helpfully in adding more options to the objecitves, and gameplay elements, so make sure you play around with them.


Recap

So remember that the objective are your main controllers for zombies spawns (gettign to next), and also your event arrays, so you dont have to sue scripted triggers,


Also remember, these are you main items used in the objectives;
  • If you want the obj to automaticaly goto the next objective, then set the Success Action to Proceede to next objective. Also be sure to set your Success Condition to OBJ_Touch
  • Activation events- This array will let you set all the event you want to be triggered when the objective gets activated. This can include spawns... dialogues...doors
  • Completion events- This array will let you set all the events you want to be triggered when the objective is done. This can include turning off the zombie spawns and the above sugestions.
  • Show on HUD - This is for showing the objective on the players screen. Maybe some objectives you might want to happen w/o players knowing just to do some map functions.
  • Whisp Trail- This will turn on/off the red trail that will go from the previous objective to the current one.
  • Manual Activate - This is for if you want to trigger the obj or to have it manuall preceede from the previous objective (Proceede to next objective)
  • Objective Hint- This will show players the objective name they have to complete (Ex: Return to trader)
  • Dont forget to give the objective a name. (this goes with the KF LevelRules_Story)
Attached Images
File Type: jpg Picture 1.jpg (91.0 KB, 24 views)
File Type: jpg Picture 2.jpg (98.9 KB, 19 views)
File Type: jpg Picture 3.jpg (96.0 KB, 15 views)
File Type: jpg Picture 4.jpg (96.2 KB, 13 views)
File Type: jpg Picture 5.jpg (98.0 KB, 6 views)
__________________
Download All My Maps Here


Last edited by Fel; 05-07-2012 at 01:39 PM.
Reply With Quote
  #3  
Old 05-05-2012, 06:30 PM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default

Zombie Volumes And Their Many Functions

Right Click Volume Button> KF_StoryZombieVolume

Ok so first im going to go over the features of the zombie volume, then I will explain how to use them with Objectives, for example Timed Objectives.

Note: the volume follows all normal zombie volume laws, so it has to have the right size and space to work. The more zombie the bigger the volume needs to be. 256x256x256 min


(Attachment 1)
  • TimerStartsDisabled-IMPORTANT- You want to have this on true, unless you want your spawns to start automatically
  • Tag- This is the tag you call with (90% of the time) the activation/completion event arrays of the objectives. This will turn on and start the volumes function. It will also turn off the volume as well.
  • ZombieEvent- This is the event that will be called when a zombie from the volume dies.
  • ZombieTag- This is the zombies tag, lol, you can use this for kill the zombie or whatever.
  • AllowPlainSightSpawns- Turn this off and it will only spawn if then player is out of sight of the volume.
  • KillZedsonDeActivate- When the volume turns off it will kill everything with the volumes ZombieTag. This includes the zombies in play as well.
  • KillZedsOnReset- This is used for when the whole team dies and map resets from check point (explained below) the zombies will die. You probably want to have this on true unless you are planning somethign crazy.
  • ResetSpawnCountOnTrigger- This is used again on team restart, it will reset the volume's NumTimedSpawns back to its oringial state.
  • MaxSpawnedZeds- The Maximum amount of zombies that will spawn in that volume.
  • NumTimedSpawns- This is how many times the volume will spawn its group of zeds. Set this to 0 and it will go non stop untill it is toggled off again.
  • SpawnInterval- the amount of seconds it takes for the spawn to spit out another group of zombies.
Next group is SpawnTypes. This is used to select how many diffrent zombie types you want and at what probibility.
  • SpawnPriority- this is telling it basically the ratio it has to spawn the zombie type. In the picture they are all even, so that the zombies all come out evenly.
  • ZedClass- Pick a class and it will spawn it
  • ZedSpawnPriorityBase-This determins the % for the ratio on the zombie spawns. Its set at 0% again for even classes, however you can mess with it. EX: .15 or .65
  • ZedSquadSize-This is how many zombies that will spawn in the volume.
Using Zombie Volumes and Objectives to Create the GamePlay (Attachment 2)

Ok so the main goal again is to not use complex scripted triggers to contoll the gameplay, we want to keep it nice and simple. To do so, one way is to use the objectives to controll the zombie volumes. Lets look at the picture (attachment 2)
  • One of your activation events on the objs goes to the zombie volume's Tag
  • One of your completion events on the same objective goes to the same volumes tag
Thats it, very simple. Of course if you wanted to extend the gameplay maybe you would want to trigger the zombie volume off on a later objective all up to you.
Checkpoints and Their Functions (Attachment 3)

Right Click Volume Button> KF_StoryCheckPointVolume

Checkpoints are use to save the players progress throughout the map. To set one of these up it only needs one thing. You have to have player starts inside the volume. The checkpoint volume will only enable the player starts when it gets activated. This is used for when the team dies, and they have to respawn. They will have their position saved.

NOTE: You must have one of the checkpoint have StartEnabled True This is where the team will start the game.


Ok so lets talk about the Events Groups and its functions.
  • ActivationEvents- This is an event array that will call a list of events when the checkpoint is activated. You can also use this to trigger a zombie volume if you wanted to.
  • SecondChanceEvents- These are the events that will be called when the team dies and they respawn at that checkpoint. Use this for restarting the cenematic event, resetting movers...respawning dead ai, and whatnot.
Next up is the StoryCheckPoint array group
  • RequiresWholeTeam- If this is set to true, then the checkpoint wont activate untill everyone in the team is in.
  • RespawnPlayers- If True, when players activate the checkpoint dead players will respawn.
  • ShowActivationMessage- If true then the CheckPointName will be shown
  • StartEnabled- If true the team will start the game here.
  • TeleportStragglers- Teleports the teammembers who are outside the checkpoint into the checkpoint.
  • CheckPointName- This name will be displayed when players actiavte the check point ONLY if showActivationMessage is true.
  • CheckPointTriggerType- Set this to Touch if you want it automatic, or Triggered to have it so an event has to call it.
The Team Restart array group is used for when the team dies and they are respawned at that checkpoint.
  • CheckPointResetActors- these are actors that you want to reset specificly for that area in the map. EX: you want a door to reset. so add mover to the list.
  • ResetExcludeActors- same thing but opposite. Any actor you dont want reseting for that checkpoint you add here.
  • RestartFromCheckPoint- Enter the name of another checkpoint, if you want the team to start there instead.
  • RestartFromObjective- THIS IS IMPORTANT- Put the objective NAME (not tag) in here that you want the team to restart from for that check point. The only time you need to enter a RestartFromObjective manually is if you want to intentionally jump the player to a specific objective.
Remember checkpoint can be used in many ways and with their event arrays you can controll tons of stuff with them.
Attached Images
File Type: jpg Picture 1B.jpg (98.5 KB, 4 views)
File Type: jpg Picture 2B.jpg (97.3 KB, 8 views)
File Type: jpg Picture 3B.jpg (98.8 KB, 2 views)
File Type: jpg Picture 4B.jpg (98.4 KB, 4 views)
__________________
Download All My Maps Here


Last edited by Fel; 05-07-2012 at 01:58 PM.
Reply With Quote
  #4  
Old 05-05-2012, 10:48 PM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default

Other Features Availiable

Amoung all the gameplay features KFS has, there are also other empliments that has been added.

Shop Volume (Attachment 1)

Right Click Volume Button> KFShopVolume_Story


The shop volume is designed to specifiy what weapons you want sold AT EACH VOLUME. So for one volume you can have 4 weapons that players can buy, then on another one they can buy 15. Each volume is specific.
  • ShowPerkHeader- This will let you choose if they see the change perk button or not
  • SaleItems- Here is an array where you choose the weapons the volume can sell. Make sure the weapons are pickups. You can add any item you want in there even the IJC weapons.
  • ShopName- Displays the name of the shop in the shop menu.
  • WelcomeText- Displays a message in the shop menu as well
Dialogue Actor (Attachment 2)

Actor>Triggers>KF_DialogueSpot


This is one of my favorite features of KFS. This actor displays a dialogue text on call, but on top of that it will trigger an event on activation AND play a voiceover/ sound call. Heres how it works;
  • Tag- Of course this is the name you are goign to use to trigger the dialogue.
  • CanSkipDlg-This feature is used if you want players to be able yo just skip the text.
  • OnlyShowtoInstigator-This will only show to the player who triggered it if TouchTriggered is True
  • Randomize- Plays the text out of order
Dialogue's array group
There is where all the text goes for what you want players or ai to say. You can also have a voice over, or even specifiy a certain object to play a sound (so you can localize the sound)


You can have the dialogue actor have just 1 array so it plays one text, or if you set them up with several arrays, they will go in order, or if triggered using RequiredEvent.
  • DisplayedEvent- This is the event that triggers when the dialogues array # is active
  • Duration- This is how long the text will be displayed for. If set to 0 it will be displayed based of an equation for how long the text is.
  • Message- Duh
  • RequiredEvent- if you have an event name in here, the array will only trigger if the event is called from an outside source.
  • Speaker- Displays the name of the person talkign in the text box.
Next up is the Voice Over section. Here is where you set the soudn properties for each text array.
  • SourceActor- If left blank, default is Local. However, type the name of the object you want the sound to be commign from. Make sure you set the sound info in that objects properties. Every actor has a sound propertie so you can choose anything.
  • VoiceOverSound- The sound that will be played when the text array is active.
Dialogues are usefull for keeping players aware of whats happeing in the story, and also these can be used for event and zombie spawn controll as well. Its all up to you.

Any more options that Alex adds i add in this list as well. Hope all this helps.
Attached Images
File Type: jpg Picture 1C.jpg (100.7 KB, 4 views)
File Type: jpg Picture 2C.jpg (99.2 KB, 4 views)
__________________
Download All My Maps Here


Last edited by Fel; 05-06-2012 at 12:54 PM.
Reply With Quote
  #5  
Old 05-06-2012, 02:33 PM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default

(Place Holder)
__________________
Download All My Maps Here

Reply With Quote
  #6  
Old 05-06-2012, 03:41 PM
DrunkeN WolfeR's Avatar
DrunkeN WolfeR DrunkeN WolfeR is offline
Member
 
Join Date: Aug 2010
Location: Tarragona (Spain)
Posts: 76
Default

Good job as always Fel. In 15 minutes I had this by the balls.
Really fast and easy to setup events, objectives, control doors and do watherver you want when you want.
Reply With Quote
  #7  
Old 05-07-2012, 02:33 AM
Fel's Avatar
Fel Fel is offline
Senior Member
 
Join Date: Aug 2009
Location: In Mission Mode
Posts: 1,777
Default

Quote:
Originally Posted by DrunkeN WolfeR View Post
Good job as always Fel. In 15 minutes I had this by the balls.
Really fast and easy to setup events, objectives, control doors and do watherver you want when you want.
Yes, way easier and faster than using scriopted triggers, also alot less server errors/lag. Just takes a few min to read though all the features and bam your good to go.
__________________
Download All My Maps Here

Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:25 PM.


Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 2005 - 2014, Tripwire Interactive, LLC