• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design ObjCondition_TraderTime

Maven

Active member
Jun 8, 2010
41
0
USA. Pensylvania
Building a TestMap to learn the Objective mode. I'm trying to install a Trader in the map.

This has been driving me crazy for the last couple of days.
I have not found a way to close the ShopVolume when the TraderTimer > ObjCondition_Timed has run out.
The trader will stay open all the time.
However, the timer can be used to trigger an event in the next objective say a door or mover.

So I can close the trader door if I want but the ShopVolume will not deactivate using the TraderController Tag or the ShopVolume Tag in this next objective.

Is there a way to disable the ShopVolume when the time runs out?
At this point I don't even care if the door closes.
 
Objective Map Trader From Scratch

This procedure will install 2 traders in an objective map.
Add your trader volumes, trader doors, and trader teleporters like you would in a standard map.

Add “4” StoryTraderControllers to the map.
Actor > Info > KF_StoryTraderController

The 1st controller will activate the opening of the trader. Set its properties to:
Events > Tag = A unique name that will reference the shop opening. Example: OpenShop
KF_StoryTraderController >
ShopAction – Action_OpenCurrentShop
[–] Shops – None

The 2nd controller will activate the closing of the trader. Set its properties to:
Events > Tag = A unique name that will reference the shop closing. Example: CloseShop
KF_StoryTraderController >
ShopAction – Action_SelectNewShop
[–] Shops – Add will create bracketed numbers. Add 2 numbers.
[0] – Type the Object > Name of the 1st ShopVolume here (you can press enter). The volume will show up as a myLevel entry.
[1] – Type the Object > Name of the 2nd ShopVolume here. Again the Volume should show as myLevel.

The 3rd controller will set up a trader ShopVolume you are going to use for activation. Set its properties to:
Events > Tag = A unique name that will reference the shop volume. Example: Trader1
KF_StoryTraderController >
ShopAction – Action_SelectNewShop
[–] Shops – Add will create bracketed numbers. Add 1 number.
[0] – Type the Object > Name of the ShopVolume for the trader here. Example: ShopVolume0

The 4th controller will set up the next trader ShopVolume you are going to use for activation. Set its properties to:
Events > Tag = A unique name that will reference the next shop volume. Example: Trader2
KF_StoryTraderController >
ShopAction – Action_SelectNewShop
[–] Shops – Add will create bracketed numbers. Add 1 number.
[0] – Type the Object > Name of the ShopVolume for the trader here. Example: ShopVolume1

For more than 2 traders just create more Trader Controllers with similar properties.

Add the objective for the Trader Timer

In Objective_Actions > SuccessAction add the ObjCondition – GoToNextObjective.
Under Objective_Conditions > SuccessConditions add ObjCondition_TraderTime. Alter its properties to your liking.
In Objective_Events > ActivationEvents add the "unique name" from the trader controller that opens the trader. Example: OpenShop
Don't forget give the objective a name in Objective_Settings > ObjectiveName and copy it to the Rules_Objectives in Level Properties.

Next go to the objective before the trader timer objective and add the "unique name" from the controller that will set up the next trader to Objective_Events > ActivationEvents. Example: Trader1
Now go to the Objective after the trader and add the "unique name" from the controller that will close the shop to
Objective_Events > ActivationEvents. Example: CloseShop Optional: By leaving this blank the trader will stay open all the time. Handy if your trader is also a check point spawn.

Repeat the objective set up for the next trader or traders you plan to install.
 
Last edited:
Upvote 0