Coop Door (Portal 2): Difference between revisions
Kestrelguy (talk | contribs) m (added language bar. also some formatting.) |
Thunder4ik (talk | contribs) m (Unicodifying, replaced: [[Image: → [[File: (22)) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{lang|title=Co-Op Door|Coop Door (Portal 2)}}{{p2 topicon}}{{source topicon}} | {{Underlinked|date=January 2024}} | ||
{{lang|title=Co-Op Door|Coop Door (Portal 2)}}{{p2 topicon}}{{source topicon}} | |||
{{Portal2}} '''Co-Op doors''' consist of two triggers that both bots step on to open the door and for each trigger a person sign lights up. | {{Portal2}} '''Co-Op doors''' consist of two triggers that both bots step on to open the door and for each trigger a person sign lights up. | ||
[[ | [[File:Portal2CoopDoorFromMp_Coop_Doors.jpg|thumb|right|300px|The co-op door from <tt>mp_coop_doors</tt>.]] | ||
==Instance== | ==Instance== | ||
1.) Create a {{ent|func_instance}} with the following settings: | 1.) Create a {{ent|func_instance}} with the following settings: | ||
Line 15: | Line 17: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchBluePlayer || coop_exit_door || instance:relay_blue_in;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchBluePlayer || coop_exit_door || instance:relay_blue_out;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchOrangePlayer || coop_exit_door || instance:relay_orange_in;Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchOrangePlayer || coop_exit_door || instance:relay_orange_out;Trigger || <none> || 0.00 || No | ||
|} | |} | ||
Line 43: | Line 45: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnChangeToAllTrue || door_01 || Open || <none> || 0.00 || No | ||
|} | |} | ||
Line 57: | Line 59: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateATrue || <none> || 0.00 || No | ||
|} | |} | ||
2.) Add a <tt>logic_relay</tt> with the following Settings: | 2.) Add a <tt>logic_relay</tt> with the following Settings: | ||
Line 69: | Line 71: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateAFalse || <none> || 0.00 || No | ||
|} | |} | ||
3.) Repeat steps 1-2, but change the following: | 3.) Repeat steps 1-2, but change the following: | ||
Line 81: | Line 83: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateBTrue || <none> || 0.00 || No | ||
|} | |} | ||
Add a <tt>logic_relay</tt> with the following Settings: | Add a <tt>logic_relay</tt> with the following Settings: | ||
Line 93: | Line 95: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || coop_man || SetStateBFalse || <none> || 0.00 || No | ||
|} | |} | ||
Line 100: | Line 102: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchBluePlayer || relay_b_in || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchBluePlayer || relay_b_out || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnStartTouchOrangePlayer || relay_o_in || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnEndTouchOrangePlayer || relay_o_out || Trigger || <none> || 0.00 || No | ||
|} | |} | ||
===Check Boxes=== | ===Check Boxes=== | ||
Line 165: | Line 167: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 1 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
Line 174: | Line 176: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_o || SetTextureIndex || 0 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
Line 183: | Line 185: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 1 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_in || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
Line 192: | Line 194: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || textog_b || SetTextureIndex || 0 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || sound_out || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
You have now created a door that will open only if both co-op partners are in the [[trigger]]s. | You have now created a door that will open only if both co-op partners are in the [[trigger]]s. | ||
[[Category:Portal 2 Level Design]] | |||
[[Category:Portal 2 Tutorials]] |
Latest revision as of 08:28, 8 January 2024




January 2024
Co-Op doors consist of two triggers that both bots step on to open the door and for each trigger a person sign lights up.
Instance
1.) Create a func_instance with the following settings:
Property Name Value Name coop_exit_door VMF Filename instances/coop/coop_team_double_exit_door.vmf
2.) Create a block brush with the Trigger texture. Tie this brush to a trigger_playerteam with the following outputs:
Manual Creation
The Door
1.) Add a prop_testchamber_door with the following settings:
Property Name Value Name door_01
2.) Add a logic_coop_manager with the following settings:
Property Name Value Name coop_man
and outputs:
Triggers
1.) Add a logic_relay with the following Settings:
Property Name Value Name relay_b_in
and outputs:
2.) Add a logic_relay with the following Settings:
Property Name Value Name relay_b_out
and outputs:
3.) Repeat steps 1-2, but change the following:
Property Name Value Name relay_o_in
outputs:
Add a logic_relay with the following Settings:
Property Name Value Name relay_o_out
outputs:
4.) Create a block brush with the Trigger texture applied. Tie this brush to a trigger_playerteam with the following outputs:
Check Boxes
1.) Add a prop_static with the following settings:
Property Name Value World Model models/props/sign_frame02/sign_frame02.mdl
2.) Create a 32L×4W×32H func_brush with the texture signage/signage_coop_teamdoor_orange.
Property Name Value Name checkbox_o
Align it to the left, inside the frame.
3.) Repeat step 2, but use signage/signage_coop_teamdoor_blue for the texture instead.
Align it to the right, inside the frame.
4.) Add two env_texturetoggles with the following settings:
Property Name Value Name textog_o Target Brush(es). checkbox_o
Property Name Value Name textog_b Target Brush(es). checkbox_b
5.) Add two ambient_generics with the following settings:
Property Name Value Name sound_out Sound Name portal.button_down
Property Name Value Name sound_in Sound Name portal.button_up
6.) Add the following outputs to relay_o_in:
Add the following outputs to relay_o_out:
Add the following outputs to relay_b_in:
Add the following outputs to relay_b_out:
You have now created a door that will open only if both co-op partners are in the triggers.