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 07: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.