|
|
(5 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| {{Rewrite}} | | {{Rewrite}} |
| {{toc-right}} | | {{toc-right}} |
| A Level Creation Guide for {{game name|ttt|name=Trouble in Terrorist Town}} | | A Level Creation Guide for {{ttt|4}} |
| For general mapping tutorials, see [[:Category:Level Design]] | | For general mapping tutorials, see [[:Category:Level Design]] |
| <br> | | <br> |
| For {{game name|ttt2|name=Trouble in Terrorist Town 2}} see [[Trouble in Terrorist Town 2: Level Creation |here]] | | For {{ttt2|4}} see [[Trouble in Terrorist Town 2: Level Creation |here]] |
|
| |
|
| You need for Trouble in Terrorist Town: | | You need for Trouble in Terrorist Town: |
Line 29: |
Line 29: |
| * [[Traitor-Doors|Traitor Doors]] | | * [[Traitor-Doors|Traitor Doors]] |
| * [[Traitor_Traps|Traitor Traps]] | | * [[Traitor_Traps|Traitor Traps]] |
| | | * [[Traitor_Traps|Level Design Conventions]] |
| {{category end}} | | {{category end}} |
|
| |
|
| <br> | | <br> |
| Making maps for Trouble in Terrorist Town {{gmod|4.1}} is essentially the same as creating maps for other {{src|4.1}} games with a few exceptions. TTT has its fgd file avable [[Garrys Mod.fgd/Trouble in Terrorist Town.fgd|here]] which includes gamemode specific entities. Vague descriptions of these entities, the fgd, as well as a few map examples are available at | | Making maps for {{ttt|4}} is essentially the same as creating maps for other {{src|4.1}} games with a few exceptions. TTT has its FGD file available [[Garrys Mod.fgd/Trouble in Terrorist Town.fgd|here]] which includes gamemode-specific entities. Map examples are available at https://www.troubleinterroristtown.com/development/mapping/ |
| | |
| http://ttt.badking.net/mapping-guide
| |
| | |
| However, due to the map help forums being down, it is mostly up to YouTube videos, and scattered tutorials throughout different forums that developers use to get help for specific things. This page is being worked on starting September 2016, so it is the most recent.
| |
| | |
| This page will give detailed descriptions of each entity included in the FGD, instructions on how to modify the FGD for various reasons, how to setup hammer and test your map, and tutorials on various gamemode-specific entities and logic.
| |
| | |
| As this page is edited, feel free to request tutorials/anything else needed on the discussion page of this post
| |
|
| |
|
| == Entities == | | == Entities == |
| === ttt_credit_adjust ===
| |
| This point entity is used within map logic to give or take credits away from a Detective or Traitor player. When activated, it tries to remove (or give) the specified number of credits from the !activator. If the entity successfully adjusts the amount of credits, it will fire its output OnSuccess. If it fails to adjust credits, it will fire its output OnFail. If giving credits away, the entity will never fire OnFail.
| |
|
| |
| '''Properties'''
| |
|
| |
| '''''Targetname''''' - The name that other entities refer to this entity by.
| |
|
| |
| '''''Origin''''' - Position of entity's center in the map.
| |
|
| |
| '''''Credits''''' - The amount of credits to take. This can be set to a negative value to give the !activator credits.
| |
|
| |
| A practical example of this entity is to have a Traitor room door that will only open if the activator spends 1 credit. This would be done by having a ttt_traitor_button with logic as follows.
| |
|
| |
| My Output Named: OnPressed, Targets entities named: ttt_credit_adjust, Via this input: TakeCredits, Parameters: none.
| |
|
| |
| Then on the ttt_credit_adjust, with the credit amount set to 1, have outputs as follows.
| |
|
| |
| My Output Named: OnSuccess, Targets entites named: traitorroom_door, Via this input: Open, Parameters: none.
| |
|
| |
| When the player presses the button, they become the !activator of the chain. When the button tells the credit to adjust to take credits it attempts to take a credit from the !activator. If it succeeds in taking this credit, it fires the output, telling the door to open.
| |
|
| |
| ===ttt_damageowner===
| |
| This point entity is useful for correctly attributing damage to the player that activated a series of events. Traitor traps are an example of this. If a player activates a traitor trap with this entity set up correctly, then the !activator of the trap will be credited with the kill in the post-round logs. It is worth noting that karma will be correctly adjusted for any damage attributed to this entity. Whatever trigger is used to activate a trap, it is important that it also fires the output to the ttt_damageowner with the input of SetActivatorAsDamageOwner. This means that anybody who takes damage from the target entity will now be taking damage from the !activator.
| |
|
| |
| '''Properties'''
| |
|
| |
| '''''Targetname''''' - The name that other entities refer to this entity by.
| |
|
| |
| '''''Origin''''' - Position of entity's center in the map.
| |
|
| |
| '''''Target Entity''''' - The name of the entity that will have its damage owner and round report name specified. You want to set this to whatever entity is dealing the damage.
| |
|
| |
| '''''Target entity's name in the round report''''' - This will show up as how people are killed in the post-round report. For example: if set to "A giant goldfish" the postround report will say: "Jellydonut78 was killed by John using a giant goldfish."
| |
|
| |
| ===ttt_game_text===
| |
| This point entity is used to display a game message in the top right corner of the screen where TTT gamemode messages and information normally appear. You can set the message to be displayed to: The activator only, all players, detectives only, traitors only, or all except traitors (Be careful with this. You do not want to display a message that will allow people to figure out who traitors are). It can be placed anywhere in the map and will only display its message when it receives the 'Display' input.
| |
|
| |
| '''Properties'''
| |
|
| |
| '''''Targetname''''' - The name that other entities refer to this entity by.
| |
|
| |
| '''''Players that should receive the message''''' - What player/group of player receives message (See above)
| |
|
| |
| '''''Message Text''''' - The message to be displayed
| |
|
| |
| '''''Color''''' - Standard RGB color codes. Be careful that you only choose a color that will be easily visible. Some maps are brighter and have colored backgrounds that will be hard to read messages on.
| |
|
| |
| ===ttt_logic_role===
| |
| This point entity is used to test the role of the !activator. You set what role to test for. If the !activator of the ttt_logic_role is the specified role, then the entity will fire a OnPass output, if it is not the correct role it will fire OnFail. It is VERY important to note that you do not want to set a button to start the test because that will test whoever presses the button. Instead, use a button to enable a [[trigger_multiple]] that will in turn fire the test output. This ensures that whoever is in the specific zone is the !activator. It is recommended to use this entity rather than the brush entity ttt_traitor_check, but may not work depending on some tester designs.
| |
|
| |
| '''Properties'''
| |
|
| |
|
| '''''Targetname''''' - The name that other entities refer to this entity by.
| | {{ent|ttt_credit_adjust}} This entity allows you to give or take credits away from a Detective or Traitor player. |
| | |
| | {{ent|ttt_damageowner}} This entity allows you to correctly attribute damage to the player that activated it. (Traitor traps, etc) |
|
| |
|
| '''''Origin''''' - Position of entity's center in the map.
| | {{ent|ttt_game_text}} This entity allows you to display text on the screens of a role, or all players |
|
| |
|
| '''''Pitch Yaw Roll (Y X Z)''''' - Entity's orientation in the map. This should not affect anything so leave it all at 0.
| | {{ent|ttt_logic_role}} This entity allows you to test the role of the !activator, letting you make things such as detective/innocent-only buttons that everyone can see. |
|
| |
|
| '''''Player role to test for''''' - What role the entity will fire OnPass for. Can be either Innocent, Detective, Traitor, or Any Role.
| | {{ent|ttt_filter_role}} This entity, like ttt_logic_role, allows you to test the role of the activator, but as a filter, directly choosing which roles can activate a trigger. |
|
| |
|
| ===ttt_map_settings===
| | {{ent|ttt_map_settings}} This entity allows you to control things related to your map, like player models or prop procession. |
| This entity is used for changing settings for your map. It can also force a player model. Map settings also has 4 outputs which are extremely useful: MapSettingsSpawned, RoundStart, Preparation Start, and RoundEnd. This is useful for things that shouldn't be useable until round start and similar. | |
This is currently being rewritten. You can discuss the changes
here.
A Level Creation Guide for
Trouble in Terrorist Town
For general mapping tutorials, see Category:Level Design
For
Trouble in Terrorist Town 2 see here
You need for Trouble in Terrorist Town:
Getting Started
Special Objects
|
Making maps for
Trouble in Terrorist Town is essentially the same as creating maps for other
Source games with a few exceptions. TTT has its FGD file available here which includes gamemode-specific entities. Map examples are available at https://www.troubleinterroristtown.com/development/mapping/
Entities
ttt_credit_adjust This entity allows you to give or take credits away from a Detective or Traitor player.
ttt_damageowner This entity allows you to correctly attribute damage to the player that activated it. (Traitor traps, etc)
ttt_game_text This entity allows you to display text on the screens of a role, or all players
ttt_logic_role This entity allows you to test the role of the !activator, letting you make things such as detective/innocent-only buttons that everyone can see.
ttt_filter_role This entity, like ttt_logic_role, allows you to test the role of the activator, but as a filter, directly choosing which roles can activate a trigger.
ttt_map_settings This entity allows you to control things related to your map, like player models or prop procession.