User Tools

Site Tools


advanced_entities_explanation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
advanced_entities_explanation [2023/05/24 21:32] frank_lee_smithadvanced_entities_explanation [2026/04/06 23:28] (current) frank_lee_smith
Line 1: Line 1:
-================Advanced Entities Explanation================+================Doors and Elevators================
  
-This page is for all the optional entities that will enhance your TTT map and make it more interestingIt is HIGHLY recommended that you use these sparingly. The best maps use things like traitor traps and testing tastefully and in a balanced way. **It's better to not use these entities than just plopping them in for the sake of it**+This page will go over rotating doors, sliding doors, and elevators for your TTT map.
  
 +======Rotating Doors======
 +A door that will need to rotate on a pivot to open.
  
-======ttt_tester====== 
  
-**ttt_tester** is the entity used to create a **Traitor Tester.** This functions as a way to test whether someone is an Innocent or a Traitor. Typically, it is implemented with some catch or has a way for traitors to counter it as to not make it too easy to get everyone proven+{{:f9x8q37.png?nolink&400|}}
  
-To implement, use a trigger or button to activate ttt_tester with the //Activate// output. Once activated **ttt_tester** will check the role of who triggered the button/trigger and do either a //OnPass// or on //OnFail// output for innocent and traitor respectively. 
  
-For more in-depth instructions check below. 
  
-1Create a confined space for a player to get tested in, include an ent_door or ent_platform to enclose while testing.+To implement, create a new empty in the outliner and add the **Rotating Door** componentThe model for your door will also need to be added to this gameobject via the Model Renderer component
  
-2. Create the ttt_role_check entity, place it near the tester (doesn't matter where), and give it a name.+**Note: The Pivot for the door model you use must have the pivot set to the side the door will rotate on**
  
-3.  Create a **trigger_multiple** in the confined space and uncheck the //Enabled// object property.+{{:v0sqw0h.png?nolink&400|}}
  
-{{::trigger_1.png?600|}} 
  
 +By default, the door will be set to a straight 90 degree pivot. This can be modified in the object properties or dragging the pivot gizmo.
  
-4. Add an output on the trigger to remove itself.+======Sliding Doors======
  
-{{::trigger_2.png?600|}}+A door that will open and close by moving back and forth in one direction.
  
 +{{:w9kktdz.png?nolink&400|}}
  
-5Add an **Activate** output to send to the **ttt_tester** entity+To implement, create a new empty in the outliner and add the Linear Mover componentThe model for your door will also need to be added to this gameobject via the Model Renderer component. The pivot does not matter for this type of door.
  
-{{::trigger_3.png?600|}}+The **Move Delta** variable determines how far the door moves when activated
  
  
-6. Set OnPass and OnFail outputs to something the play can see like red and green dynamic lights turning on.+{{:9jqr4sp.png?nolink&400|}}
  
-{{::trigger_4.png?600|}}+======Elevator======
  
 +An elevator needs multiple gameobjects to function. 
  
-7. Hook up a button to close the door for 6 - 10 secondsthen open it.+Currentlysupport is in for two stop elevators only.
  
-8. Add an output to the same button to the **trigger_multiple** to enable after the tester door closes.+====Path Track====
  
-9Clean up the system and play with the timing until it works and feels right+The first thing you will need is a **Path Track**Create an empty gameobject and add the **Path Track** component. This can be placed anywhere, but you need to give it a unique name.
  
-Congrats, you just made your first tester!+{{::vr353h3.png?nolink&400|}}
  
-**Tips** +====Path Mover====
-  - Give the tester time for it the "test" the player. Instant testers are no fun and are not balanced +
-  - Testers are implemented best with Traitor Rooms being close by to invite some counterplay +
-  - Many testers will allow players to "break" them by destroying something in the room, should have a lot of HP +
-  - Some maps will force players to find something to activate the tester or find fuel around the map to power for a test+
  
-======ttt_role_button======+This will be the elevator itself. Create an empty gameobject and add a **Path Mover** component. Give the gameobject itself a unique name.
  
-**ttt_role_button** is what is typically called the "Traitor Button." It is an entity that allows a set role to press a button they see in their vision if within it's range by pressing E. When pressed it will be able to send outputs similar to ent_button.+{{::tfs9034.png?nolink&400|}}
  
-{{:role_button.png?400|}}+Add a **Model Renderer** for the elevator model on this object. Make sure your elevator model has collisions.
  
-Important Object Properties:+The **Track Name** property MUST be filled with the same unique name the **Path Track** was given.
  
-**Role** - will determine which role can see it, can be used for expanded roles by typing their name+{{::5hfqqwp.png?nolink&400|}}
  
-**Description** - Tells the player what it does, will show up next to the button when they look at it.+====Path Point====
  
-**Delay** - How long until the button can be used again. Will have no delay at 0.+You will need to create two separate gameobjects and add a **Path Point** to each
  
-**Remove on use** - Will delete the button after being used onceUseful for one time traps like explosions+{{::xw2qvf1.png?nolink&400|}}
  
-**Tips**+Name them Point 1 and Point 2 in the **Point name** variable in the object properties.
  
-  * Use sparingly, trap heavy maps can be annoying and unbalancedThe best maps have only a few traps at most. +{{::1nnth0r.png?nolink&400|}}
-  * You can use this entity to make Detective Rooms by making a Detective button on a door +
-  * Innocent buttons should be avoided unless you have a really good reason to use it+
  
-======ttt_text_popup======+Point 1 will need to have the same position/transform as the path mover. Point 2 will be where the elevator moves to when activated.
  
-**ttt_text_popup** allows for a message to pop up on the player's screen when receiving an input.+====Buttons====
  
-{{::ttt_text.png?600|}}+Your elevator will need a button for each position of the elevatorStart by creating each of your buttons by creating a new empty gameobject and adding a **TTT Button Component**
  
-There are a few important Object Properties:+{{::70hjqvn.png?nolink&400|}}
  
-**Target Players** -  Allows for the entity to send the message to the activator, everyone, or a specific team+Add a **Model Renderer** with the model your button will be using. Make sure your model has collisions.
  
-**Popup Text** - Will determine what the main message contains+To hook your buttons into the elevator find the **Objects** section in the object properties and add an //Targets On Activated// item.
  
-**Popup Title** - Will determine the title above the main messageUseful to clarify a cooldown or if single use+{{::00tj6p2.png?nolink&400|}}
  
-======ttt_credit_adjust======+In the popup, you need to set the name to the unique name of the gameobject you made for the elevator itself.
  
-**ttt_credit_adjust** will remove or give credits to the user. This is useful for something like a role button that costs a credit to activate.+Set the input to "CallOrDepart"
  
-To implement simply have the button/trigger send an //Adjust// output upon activation to the **ttt_credit_adjust**. The amount can be set in the Object Properties by changing the Adjust Amount. To remove one credit make the amount -1. +The Payload will need to be set to the point that the elevator goes to when pressed while the elevator is at the button's stopSo the button at Point 1 will need the payload to be Point 2 and vice versaButtons can still recall the elevator to its stop, though.
- +
-======ttt_force_win====== +
- +
-======ttt_prop_spawner====== +
- +
-Entity that will spawn a prop when sent the SpawnProp output. It will spawn the prop every time it gets a signal.  +
- +
-Important Object Properties: +
- +
-**Is Static** -  Determines if it should spawn in with physics or just stay static. +
- +
-**Tags** - Gives props spawned by the entity the tags. This is useful for something like a key that needs a tag to work for a certain trigger. +
- +
-**World Model** - This will determine what prop spawns. When selected it will show the model in hammer exactly where it will spawn in.+
  
 +{{::54x40qs.png?nolink&400|}}
  
 +If all of this is set up properly your elevator will be functional with two buttons and two back and forth stops.
advanced_entities_explanation.1684963937.txt.gz · Last modified: 2023/05/24 21:32 by frank_lee_smith

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki