Alternative Multi-Stop Elevator: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (Unicodifying, replaced: [[Image: → [[File: (329))
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{cleanup}}
{{cleanup|Logic isn't fully clear at times. If possible, the article should be simplified for a general 3+ floor elevator design.}}
[[File:Elevator sixfloor.png|900px|center|thumb|This tutorial is based from a six-floor elevator. However, you can any number of floors you wish with some minor changes to the entities.]]


{{Note|This is a six floor elevator, However theretically can take a near unlimited nuber of floors though its best to restrict a limit that best fits to the map design (this has been tested up to ten floors so far --[[User:Kwp17pitts|Kwp17pitts]] 10:18, 5 February 2012 (PST))}}
== Theory ==


[[File:Elevator sixfloor.png]]
=== Initial Start ===


When the player first enters the elevator, they will press a button representing a floor. Lets say '''Elevator_M6_Button_&i''' (Floor 6) was pressed (Pressing '''Elevator_F6_Button_&i''' refer to the same set of commands), it would first trigger the '''F6_ButtonFunctions_&i''' commands to trigger '''Close_AllDoors_&i''', '''F6_TestRelay_&i''', '''LockButtons_&i'''. Also calling '''Elevator_&i''' and '''Elevator_Weight_&i''' to SetPosition to '''5''' (Floor 6 is 5) (func_movelinear always start with '''0'''). As well as calling the '''Elevator_Chime_&i''' to PlaySound.


== How It all works ==
=== Closing All Doors ===


{{Note|Not all of the enities are used all at once, Only a portion is used to beable to perform a task depending on which floor is selected. So perfomance is not an issue.}}
'''Close_AllDoors_&i''' actually closes one door, but calls on the '''CompareAll_&i''' to do its own work of finding the open doors thus preventing refiring all of the doors to animate unnecessarily (or glitch). When '''CompareAll_&i''' is triggered, it causes all of logic_compare enities named '''F1_Compare_&i''' through '''F6_Compare_&i''' to force their comparisons to be made.


*'''Initial Start'''
'''F6_TestRelay_&i''' will trigger the '''Test_Relay_All_&i'''(which forces the value of zero and tests it for branches '''F1_Branch_Button_&i''' through '''F6_Branch_Button_&i''') and retrigger '''F6_Branch_Button_&i''' to have its value set at one and tested.


'''LockButtons_&i''' Locks all of the buttons inside and outside of the elevator for the duration of the cycle (prevents the elevator from changing floors while running)


When '''Elevator_&i''' gets to the sixth floor, it passes over the '''F6_Trigger_&i''' (Passe over others as well) .When the elevator is touching '''F6_Trigger_&i''' , it sets the value of 1 and tests it on '''F6_Branch_Trigger_&i''', when it is not touching it sets '''F6_Branch_Trigger_&i''' to 0 and tests it. (This also fires other commands but they are not critical to operation).


First when the player gets int an elevator, he or she will press a button representing a floor. Lets say '''Elevator_M6_Button_&i''' (Floor 6) was pressed (Pressing '''Elevator_F6_Button_&i''' refer to the same set of commands), it would first trigger the '''F6_ButtonFunctions_&i''' commands to trigger '''Close_AllDoors_&i''', '''F6_TestRelay_&i''', '''LockButtons_&i'''. Also calling '''Elevator_&i''' and '''Elevator_Weight_&i''' to SetPosition to '''5''' (Floor 6 is 5) (func_movelinear always start with '''0'''). As well as calling  the
The '''F6_Branch_Listener_&i''' Listens to find if both '''F6_Branch_Button_&i''' and '''F6_Branch_Trigger_&i''' set to 1. If that is the case it fires '''F6_Timer_&i''' to start. After the duration of 3 seconds have passed, it triggers '''UnlockButtons_&i''', 1/6 of a second later it locks both '''Elevator_F6_Button_&i''' and '''Elevator_M6_Button_&i''', 5/6 of a second later it disables '''F6_Timer_&i''', and last at 1 5/6 of a second later, '''Elevator_M_Door_&i''' is opened and '''F6_DoorBranch_&i''' value is set at 1 and tested.
'''Elevator_Chime_&i''' to PlaySound.


When the'''F6_DoorBranch_&i''' conditions are met ,It triggers '''F6_DoorTimerOpen_&i''' to be enabled and fires the timer 1/6 of a second later. When the time is up it fires '''Elevator_OpenDoor_F6_&i'' to tigger. Then '''Elevator_F6_Door_&i''' is triggered to open, '''Elevator_Sound_F6_Door_&i''' PlaySound, and '''F6_SetAllCompare_&i''' is triggered setting all of the logic_compare entities '''F1_Compare_&i''' Through '''F6_Compare_&i''' to 6. When the condition is met, '''F6_Compare_&i''' will trigger '''F6_DoorBranch_&i''' set the value to 0 and test it.


[http://youtu.be/qbZSnerPSKE Final Result]


*'''Process of Closing All Doors'''
== Brush Work Construction ==


This elevator's surrounding construction follows similar to the [[:Multi-stop elevators|MultiStop elevator tutorial]], however, the elevator itself is constructed from a [[func_movelinear]]. Therefore, you will not need any [[path_track]]. This allows the elevator to stop exactly at each point rather than slightly above or below the intended destination. However this method can be time-consuming to make and can be more confusing as well. A majority of the entities used here are for accurate door control, which would make the design fairly worthless for anything less than 3 floors.


What's needed for a six floor elevator:


'''Close_AllDoors_&i''' actually closes one door, but calls on the '''CompareAll_&i''' to do its own work of finding the open doors thus preventing refiring all of the doors to animate unnecessarily (or glitch). When '''CompareAll_&i''' is triggered, it causes all of logic_compare enities named '''F1_Compare_&i''' through '''F6_Compare_&i''' to force their comparisons to be made.
7 [[ambient_generic]](s)


12 [[func_button]](s)


16 [[func_door]](s)(or 7 [[prop_dynamic]](s)


'''F6_TestRelay_&i''' will trigger the '''Test_Relay_All_&i'''(which forces the value of zero and tests it for branchesz '''F1_Branch_Button_&i''' through '''F6_Branch_Button_&i''') and retrigger '''F6_Branch_Button_&i''' to have its value set at one and tested.
1 [[func_movelinear]]


1 [[logic_auto]]


18 [[logic_branch]](es)


'''LockButtons_&i''' Locks all of the buttons inside and outside of the elevator for the duration of the cycle (prevents the elevator from changing floors while running)
6 [[logic_branch_listener]](s)


6 [[logic_compare]](s)


35 [[logic_relay]](s)


When '''Elevator_&i''' gets to the sixth floor, it passes over the '''F6_Trigger_&i''' (Passe over others as well) .When the elevator is touching '''F6_Trigger_&i''' , it sets the value of 1 and tests it on '''F6_Branch_Trigger_&i''', when it is not touching it sets '''F6_Branch_Trigger_&i''' to 0 and tests it. (This also fires other commands but they are not critical to operation).
18 [[logic_timer]](s)


6 [[trigger_multiple]](s)


== Brush Entities ==


The '''F6_Branch_Listener_&i''' Listens to find if both '''F6_Branch_Button_&i''' and '''F6_Branch_Trigger_&i''' set to 1. If that is the case it fires '''F6_Timer_&i''' to start. After the duration of 3 seconds have passed, it triggers '''UnlockButtons_&i''', 1/6 of a second later it locks both '''Elevator_F6_Button_&i''' and '''Elevator_M6_Button_&i''', 5/6 of a second later it disables '''F6_Timer_&i''', and last at 1 5/6 of a second later, '''Elevator_M_Door_&i''' is opened and '''F6_DoorBranch_&i''' value is set at 1 and tested.
This would be the entity that will move the player to his or her desired floor.


'''ClassInfo'''


:Class
::''[[func_movelinear]]''


When the'''F6_DoorBranch_&i''' conditions are met ,It triggers '''F6_DoorTimerOpen_&i''' to be enabled and fires the timer 1/6 of a second later. When the time is up it fires '''Elevator_OpenDoor_F6_&i'' to tigger. Then '''Elevator_F6_Door_&i''' is triggered to open, '''Elevator_Sound_F6_Door_&i''' PlaySound, and '''F6_SetAllCompare_&i''' is triggered setting all of the logic_compare entities '''F1_Compare_&i''' Through '''F6_Compare_&i''' to 6. When the condition is met, '''F6_Compare_&i''' will trigger '''F6_DoorBranch_&i''' set the value to 0 and test it.
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_&i''
|-
|Move Direction (Pitch Yaw Roll) || ''-90 0 0''
|-
|Move Distance || ''160''  
|-
|Block Damage || 2000
|-
|Sound played when the brush starts moving || ''(Pick A Sound)''
|-
|Sound played when the brush stops moving || ''(Pick A Sound)''
|}


'''Outputs'''


NONE


== Construction ==
----


This elevator's surrounding construction fallows simililar to the [[:Multi-stop elevators|MultiStop elevator tutorial]], however, the elevator itself is constructed from a [[func_movelinear]]. Therefore, you will not need any pathtracks. This allows the elevator to stop exactly at each point rather than slightly above or below the intended destination. However this method can be time consuming to make and can be more confusing as well. A majority of the enities used are for accurate door control, which would make the design fairly worthless for anything less than 3 floors.
This entity would be placed on a wall outside of the elevator.


'''ClassInfo'''


Whats needed for a six floor elevator
:Class
::''[[func_button]]''


7 ambient_generic(s)
'''Keyvalues'''
12 func_button(s)
{| class=standard-table
2 func_movelinear(s)
!| Property Name || Value
1 logic_auto
|-
18 logic_branch(es)
|Name || ''Elevator_F1_Button_&i''
6 logic_branch_listener(s)
|}
6 logic_compare(s)
34 logic_relay(s)
18 logic_timer(s)
6 trigger multiples


== Brush Entities ==
'''Outputs'''


{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnPressed || F1_ButtonFunctions_&i || Trigger ||  || 0.00
|}


This would be the entity that will move the player to his or her desired floor
'''Flags'''


'''ClassInfo'''
☑ Don't move


:Class
☑ Use Activates
::''[[func_movelinear]]''


:Name
----
::''Elevator_&i''


:Move Direction (Pitch Yaw Roll)
This entity would be placed on a wall outside of the elevator.
::''-90 0 0''


:Move Distance
'''ClassInfo'''
::''160'' {{note|To figure the move distance, add the height of the wall height plus floor thickness (The walls were 128 tall, floors were 32 thick)}}


:Block Damage
:Class
:: 2000 {{note|Necessary to prevent the elevator from getting jammed}}
::''[[func_button]]''


:Sound played when the brush starts moving
'''Keyvalues'''
::''(Pick A Sound)''
{| class=standard-table
 
!| Property Name || Value
:Sound played when the brush stops moving
|-
::''(Pick A Sound)''
|Name || ''Elevator_F2_Button_&i''
|}


'''Outputs'''
'''Outputs'''


NONE
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnPressed || F2_ButtonFunctions_&i || Trigger ||  || 0.00
|}


----
'''Flags'''


{{Note|Elevator_Weight_&i is not absolutly necessary but it is more for visuals if you can see in the elevator shaft}}
☑ Don't move


Place this at the top most floor
☑ Use Activates


'''ClassInfo'''
----


:Class
This entity would be placed on a wall outside of the elevator.
::''[[func_movelinear]]''


:Name
'''ClassInfo'''
::''Elevator_Weight_&i''


:Move Direction (Pitch Yaw Roll)
:Class
::''90 0 0''
::''[[func_button]]''


:Move Distance
'''Keyvalues'''
::''160'' {{note|To figure the move distance, add the height of the wall height plus floor thickness (The walls were 128 tall, floors were 32 thick)}}
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F3_Button_&i''
|}


:Block Damage
'''Outputs'''
:: 2000 {{note|Necessary to prevent the elevator from getting jammed}}


:Sound played when the brush starts moving
{| class=standard-table
::''(Pick A Sound)''
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnPressed || F3_ButtonFunctions_&i || Trigger ||  || 0.00
|}


:Sound played when the brush stops moving
'''Flags'''
::''(Pick A Sound)''


'''Outputs'''
☑ Don't move


NONE
☑ Use Activates


----
----


This entity would be placed on a wall outside of the elevator
This entity would be placed on a wall outside of the elevator.


'''ClassInfo'''
'''ClassInfo'''
Line 139: Line 181:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F1_Button_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F4_Button_&i''
|}


'''Outputs'''
'''Outputs'''
Line 147: Line 193:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F1_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F4_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move
 
☐ Toggle
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked


☐ Sparks
☑ Use Activates


----
----


This entity would be placed on a wall outside of the elevator
This entity would be placed on a wall outside of the elevator.


'''ClassInfo'''
'''ClassInfo'''
Line 175: Line 211:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F2_Button_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F5_Button_&i''
|}


'''Outputs'''
'''Outputs'''
Line 183: Line 223:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F2_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F5_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move


☐ Toggle
☑ Use Activates


☐ Touch Activates
----


☐ Damage Activates
This entity would be placed on a wall outside of the elevator.


☑ Use Activates
'''ClassInfo'''
 
☐ Starts Locked
 
☐ Sparks
 
----
 
This entity would be placed on a wall outside of the elevator
 
'''ClassInfo'''


:Class
:Class
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F3_Button_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F6_Button_&i''
|}


'''Outputs'''
'''Outputs'''
Line 219: Line 253:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F3_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F6_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move
 
☐ Toggle


☐ Touch Activates
Use Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks


----
----


This entity would be placed on a wall outside of the elevator
This entity would be placed inside of the elevator and will move with it.


'''ClassInfo'''
'''ClassInfo'''
Line 247: Line 271:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F4_Button_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M1_Button_&i''
|-
|Parent || ''Elevator_&i''
|}


'''Outputs'''
'''Outputs'''
Line 255: Line 285:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F4_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F1_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move
 
☐ Toggle
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked


☐ Sparks
☑ Use Activates


----
----


This entity would be placed on a wall outside of the elevator
This entity would be placed inside of the elevator and will move with it.


'''ClassInfo'''
'''ClassInfo'''
Line 283: Line 303:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F5_Button_&i''
{| class=standard-table
 
!| Property Name || Value
'''Outputs'''
|-
 
|Name || ''Elevator_M2_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F5_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F2_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move


☐ Toggle
Use Activates
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks


----
----


This entity would be placed on a wall outside of the elevator
This entity would be placed inside of the elevator and will move with it.


'''ClassInfo'''
'''ClassInfo'''
Line 319: Line 335:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_F6_Button_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M3_Button_&i''
|-
|Parent || ''Elevator_&i''
|}


'''Outputs'''
'''Outputs'''
Line 327: Line 349:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F6_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F3_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move
 
☐ Toggle
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks


☑ Use Activates


----
----
Line 356: Line 367:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_M1_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Parent
|-
::''Elevator_&i''
|Name || ''Elevator_M4_Button_&i''
|-
|Parent || ''Elevator_&i''
|}


'''Outputs'''
'''Outputs'''
Line 367: Line 381:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F1_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F4_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move


☐ Toggle
☑ Use Activates


☐ Touch Activates
----
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks
 
----


This entity would be placed inside of the elevator and will move with it.
This entity would be placed inside of the elevator and will move with it.
Line 395: Line 399:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_M2_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Parent
|-
::''Elevator_&i''
|Name || ''Elevator_M5_Button_&i''
|-
|Parent || ''Elevator_&i''
|}


'''Outputs'''
'''Outputs'''
Line 406: Line 413:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F2_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F5_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move
 
☐ Toggle
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks


☑ Use Activates


----
----
Line 435: Line 431:
::''[[func_button]]''
::''[[func_button]]''


:Name
'''Keyvalues'''
::''Elevator_M3_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Parent
|-
::''Elevator_&i''
|Name || ''Elevator_M6_Button_&i''
|-
|Parent || ''Elevator_&i''
|}


'''Outputs'''
'''Outputs'''
Line 446: Line 445:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F3_ButtonFunctions_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnPressed || F6_ButtonFunctions_&i || Trigger ||  || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
Don't move


☐ Toggle
☑ Use Activates


☐ Touch Activates
----


☐ Damage Activates
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.


☑ Use Activates
{{Note|These must be carefully placed to allow the doors to function properly}}


☐ Starts Locked
'''ClassInfo'''


☐ Sparks
:Class
::''[[trigger_multiple]]''


----
'''Keyvalues'''
 
{| class=standard-table
This entity would be placed inside of the elevator and will move with it.
!| Property Name || Value
 
|-
'''ClassInfo'''
|Name || ''F1_Trigger_&i''
 
|}
:Class
::''[[func_button]]''
 
:Name
::''Elevator_M4_Button_&i''
 
:Parent
::''Elevator_&i''


'''Outputs'''
'''Outputs'''
Line 485: Line 477:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F4_ButtonFunctions_&i || Trigger ||   || 0.00
|[[File:Io11.png]] || OnEndTouch || F1_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F1_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num1_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num1_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F1_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F1_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
☑ Everything (not including physics debris)


☐ Toggle
----


☐ Touch Activates
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.


☐ Damage Activates
{{Note|These must be carefully Placed to allow the doors to function properly}}


☑ Use Activates
'''ClassInfo'''


☐ Starts Locked
:Class
::''[[trigger_multiple]]''


☐ Sparks
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_Trigger_&i''
|}


----
'''Outputs'''
 
This entity would be placed inside of the elevator and will move with it.
 
'''ClassInfo'''
 
:Class
::''[[func_button]]''
 
:Name
::''Elevator_M5_Button_&i''
 
:Parent
::''Elevator_&i''
 
'''Outputs'''


{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F5_ButtonFunctions_&i || Trigger ||   || 0.00
|[[File:Io11.png]] || OnEndTouch || F2_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F2_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num2_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num2_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F2_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F2_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
☑ Everything (not including physics debris)


☐ Toggle
----


☐ Touch Activates
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.


☐ Damage Activates
{{Note|These must be carefully Placed to allow the doors to function properly}}
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks
 
----
 
This entity would be placed inside of the elevator and will move with it.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[func_button]]''
::''[[trigger_multiple]]''


:Name
'''Keyvalues'''
::''Elevator_M6_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Parent
|-
::''Elevator_&i''
|Name || ''F3_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 563: Line 557:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnPressed || F6_ButtonFunctions_&i || Trigger ||   || 0.00
|[[File:Io11.png]] || OnEndTouch || F3_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F3_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num3_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num3_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F3_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F3_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☑ Don't move
☑ Everything (not including physics debris)
 
☐ Toggle
 
☐ Touch Activates
 
☐ Damage Activates
 
☑ Use Activates
 
☐ Starts Locked
 
☐ Sparks
 


----
----
Line 594: Line 585:
::''[[trigger_multiple]]''
::''[[trigger_multiple]]''


:Name
'''Keyvalues'''
::''F1_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 602: Line 597:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F1_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F4_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F1_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnStartTouch || F4_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num1_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnEndTouch || num4_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num1_&i || Enable ||  || 0.00
|[[File:Io11.png]] || OnStartTouch || num4_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F1_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F4_Light_&i || Color || 0 255 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F1_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnStartTouch || F4_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☐ Clients
Everything (not including physics debris)
 
☐ NPCs
 
☐ Pushables
 
☐ Physics Objects
 
☐ Only player ally NPCs
 
☐ Only clients in vehicles
 
☑ Everything (not including physics debris)
 
☐ Only clients *not* in vehicles
 
☐ Physics debris
 
☐ Only NPCs in vehicles (respects player ally flag)


----
----
Line 648: Line 625:
::''[[trigger_multiple]]''
::''[[trigger_multiple]]''


:Name
'''Keyvalues'''
::''F2_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 656: Line 637:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F2_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F5_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F2_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnStartTouch || F5_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num2_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnEndTouch || num5_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num2_&i || Enable ||  || 0.00
|[[File:Io11.png]] || OnStartTouch || num5_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F2_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F5_Light_&i || Color || 0 255 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F2_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnStartTouch || F5_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☐ Clients
☑ Everything (not including physics debris)


☐ NPCs
----
 
☐ Pushables
 
☐ Physics Objects
 
☐ Only player ally NPCs
 
☐ Only clients in vehicles
 
☑ Everything (not including physics debris)
 
☐ Only clients *not* in vehicles
 
☐ Physics debris
 
☐ Only NPCs in vehicles (respects player ally flag)
 
----


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.
Line 702: Line 665:
::''[[trigger_multiple]]''
::''[[trigger_multiple]]''


:Name
'''Keyvalues'''
::''F3_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 710: Line 677:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F3_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F6_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F3_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnStartTouch || F6_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num3_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnEndTouch || num6_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num3_&i || Enable ||  || 0.00
|[[File:Io11.png]] || OnStartTouch || num6_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F3_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnEndTouch || F6_Light_&i || Color || 0 255 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F3_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnStartTouch || F6_Light_&i || Color || 255 0 0 || 0.00
|}
|}


'''Flags'''
'''Flags'''


☐ Clients
☑ Everything (not including physics debris)


☐ NPCs
== Functional Relays ==


☐ Pushables
[[File:FunctionalEnts.jpg]]


☐ Physics Objects
These Functional relays were created to reduce the number of commands when operating the elevator, more for organizational purposes. For example, rather than rewriting 6 or 12 commands in roughly 24 diferent places, we can write one command for the same 24 places.


☐ Only player ally NPCs
This locks the buttons to prevent players from retriggering while the elevator is operating.


☐ Only clients in vehicles
'''ClassInfo'''


☑ Everything (not including physics debris)
:Class
::''[[logic_relay]]''


☐ Only clients *not* in vehicles
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''LockButtons_&i''
|}


☐ Physics debris
'''Outputs'''


☐ Only NPCs in vehicles (respects player ally flag)
{| class=standard-table
 
! || My Output || Target Entity || Target Input|| Parameter || Delay
----
|-
 
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Button_&i || Lock ||  || 0.00
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Lock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Lock ||  || 0.00
|}


{{Note|These must be carefully Placed to allow the doors to function properly}}
----
 
This unlocks when the elevator is done with the full cycle.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[trigger_multiple]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F4_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''UnockButtons_&i''
|}


'''Outputs'''
'''Outputs'''
Line 764: Line 765:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F4_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F4_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Unock ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num4_&i || Disable || || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Unock ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num4_&i || Enable || || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Unock ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F4_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Unock ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F4_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Unock ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Unock ||  || 0.00
|}
|}


'''Flags'''
----
 
This forces all of the logic_compare entities to compare the currently set values to affect the doors on all floors.
☐ Clients
 
☐ NPCs
 
☐ Pushables
 
☐ Physics Objects
 
☐ Only player ally NPCs
 
☐ Only clients in vehicles
 
☑ Everything (not including physics debris)
 
☐ Only clients *not* in vehicles
 
☐ Physics debris
 
☐ Only NPCs in vehicles (respects player ally flag)
 
----
 
This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.
 
{{Note|These must be carefully Placed to allow the doors to function properly}}


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[trigger_multiple]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F5_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''CompareAll_&i''
|}


'''Outputs'''
'''Outputs'''
Line 818: Line 810:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F5_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || Compare ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F5_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || Compare ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num5_&i || Disable || || 0.00
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || Compare ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num5_&i || Enable || || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || Compare ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F5_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || Compare ||   || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F5_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || Compare ||   || 0.00
|}
|}


'''Flags'''
----


☐ Clients
This is to force close all of the doors when the elevator starts its cycle. (Utilizing the CompareAll_&i relay)


☐ NPCs
'''ClassInfo'''


☐ Pushables
:Class
::''[[logic_relay]]''


☐ Physics Objects
'''Keyvalues'''
 
{| class=standard-table
☐ Only player ally NPCs
!| Property Name || Value
|-
|Name || ''Close_AllDoors_&i''
|}


☐ Only clients in vehicles
'''Outputs'''


☑ Everything (not including physics debris)
{| class=standard-table
 
! || My Output || Target Entity || Target Input|| Parameter || Delay
☐ Only clients *not* in vehicles
|-
 
|[[File:Io11.png]] || OnTrigger || CompareAll_&i || Trigger ||  || 0.00
☐ Physics debris
|-
 
|[[File:Io11.png]] || OnTrigger || Elevator_M_Door_&i || SetAnimation || close || 0.00
☐ Only NPCs in vehicles (respects player ally flag)
|}


----
----


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.
Used for setting all of the values to false (0) the the elevator has a destination change.
 
{{Note|These must be carefully Placed to allow the doors to function properly}}


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[trigger_multiple]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F6_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Test_Relay_All_&i''
|}


'''Outputs'''
'''Outputs'''
Line 872: Line 870:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F6_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F6_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || F2_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || num6_&i || Disable || || 0.00
|[[File:Io11.png]] || OnTrigger || F3_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || num6_&i || Enable || || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnEndTouch || F6_Light_&i || Color || 0 255 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F5_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnStartTouch || F6_Light_&i || Color || 255 0 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F6_Branch_Button_&i || SetValueTest || 0 || 0.00
|}
|}


'''Flags'''
----


☐ Clients
Used to open the first-floor door when the map starts.


☐ NPCs
'''ClassInfo'''


☐ Pushables
:Class
::''[[logic_auto]]''


☐ Physics Objects
'''Outputs'''


☐ Only player ally NPCs
{| class=standard-table
 
! || My Output || Target Entity || Target Input|| Parameter || Delay
☐ Only clients in vehicles
|-
|[[File:Io11.png]] || OnMapSpawn || Elevator_M_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnMapSpawn || F1_DoorBranch_&i || SetValueTest || 1 || 0.00
|}


☑ Everything (not including physics debris)
== Floor Specific Functions ==


☐ Only clients *not* in vehicles
[[File:FloorSpacificEnts close 1.jpg|600px|center]]


☐ Physics debris
[[File:FloorSpacificEnts close 2.jpg|600px|center]]


☐ Only NPCs in vehicles (respects player ally flag)
[[File:FloorSpacificEnts close 3.jpg|600px|center]]


{{Note|For every floor you intend to add, all of these entities need to be present in each additional floor for the elevator to operate correctly.}}


== Functional Relays ==
=== Floor 1 ===


 
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).
[[File:FunctionalEnts.jpg]]
 
 
These Fuctional relays were created to reduce the number of commands when operating the elevator. More for organizational purposes. For example, rather than rewriting 6 or 12 commands in roughly 24 diferent places, we can write one command for the same 24 places.
 
 
This Locks the buttons to prevent players from retriggering while the elevator is operating.


'''ClassInfo'''
'''ClassInfo'''
Line 924: Line 921:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''LockButtons_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_ButtonFunctions_&i''
|}


'''Outputs'''
'''Outputs'''
Line 932: Line 933:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F1_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger || || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Lock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Lock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Lock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Lock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Lock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || F1_TestRelay_&i || Trigger || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 0 || 2.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Lock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 0 || 2.00
|}
|}


----
----
This unlocks when the elevator is done with the full cycle.


'''ClassInfo'''
'''ClassInfo'''
Line 966: Line 953:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''UnockButtons_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_TestRelay_&i''
|}


'''Outputs'''
'''Outputs'''
Line 974: Line 965:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F1_Button_&i || Unock ||   || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|-
|}
|[[Image:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Unock ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Unock ||  || 0.00
|}


----
----
This forces all of the logic_compare entities to compare the currently set values to effect the doors on all floors.
 
This branch will only have a ''True'' value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_branch]]''
 
:Name
::''CompareAll_&i''
 
'''Outputs'''


'''Keyvalues'''
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|[[Image:Io11.png]] || OnTrigger || F1_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Compare_&i || Compare ||  || 0.00
|Name || ''F1_Branch_Button_&i''
|-
|-
|[[Image:Io11.png]] || OnTrigger || F3_Compare_&i || Compare ||  || 0.00
|Initial value || ''0''
|-
|[[Image:Io11.png]] || OnTrigger || F4_Compare_&i || Compare ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F5_Compare_&i || Compare ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F6_Compare_&i || Compare ||  || 0.00
|}
|}
'''Outputs'''
NONE


----
----


This is to force close all of the doors when the elevator starts its cycle. (Utilizing the CompareAll_&i relay)
This branch will only have a ''True'' value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''Close_AllDoors_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_Branch_Trigger_&i''
|-
|Initial value || ''0''
|}


'''Outputs'''
'''Outputs'''


{| class=standard-table
NONE
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[Image:Io11.png]] || OnTrigger || CompareAll_&i || Trigger ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M_Door_&i || SetAnimation || close || 0.00
|}


----
----


Used for setting all of the values to false (0) the the elevator has a destination change.
This listens to the values of both branches on the same floor before triggering the timer control. (This is only set to look for the ''True'' (1) value of the branches)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_branch_listener]]''


:Name
'''Keyvalues'''
::''Test_Relay_All_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F1_Branch_Button_&i''
|-
|Logic Branch 02 || ''F1_Branch_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,067: Line 1,039:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnAllFalse || F1_Timer_&i || Disable || || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F2_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F3_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnAllTrue || F1_Timer_&i || Enable || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F4_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnMixed || F1_Timer_&i || Disable || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F5_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnAllTrue || F1_Timer_&i || FireTimer || || 0.10
|-
|[[Image:Io11.png]] || OnTrigger || F6_Branch_Button_&i || SetValueTest || 0 || 0.00
|}
|}


----
----


Used to open the first floor door when the map starts.
This is used to prevent retriggering the doors, and only activates the following commands after a delay of 3 seconds.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_auto]]''
::''[[logic_timer]]''
 
'''Outputs'''


'''Keyvalues'''
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|Name || ''F1_Timer_&i''
|-
|-
|[[Image:Io11.png]] || OnMapSpawn || Elevator_M_Door_&i || SetAnimation || open || 0.00
|Start Disabled || ''Yes''
|-
|-
|[[Image:Io11.png]] || OnMapSpawn || F1_DoorBranch_&i || SetValueTest || 1 || 0.00
|Refire Interval || ''3''
|}
|}


'''Outputs'''


== Floor Spacific Functions ==
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTimer || Elevator_F1_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M1_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F1_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[File:Io11.png]] || OnTimer || F1_DoorBranch_&i || SetValueTest || 1 || 1.50
|}


[[File:FloorSpacificEnts close 1.jpg|600px|center]]
----


[[File:FloorSpacificEnts close 2.jpg|600px|center]]
A set of instructions to open the specified door on the same floor.
 
[[File:FloorSpacificEnts close 3.jpg|600px|center]]
 
{{Note|For Every floor you intend to add, all of these entities need to be present in each additional floor, for the elevator to operate correctly}}
 
 
== Floor 1 ==
 
 
 
 
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)


'''ClassInfo'''
'''ClassInfo'''
Line 1,123: Line 1,095:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F1_ButtonFunctions_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F1_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,131: Line 1,107:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || open || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F1_TestRelay_&i || Trigger ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 0 || 2.00
|[[File:Io11.png]] || OnTrigger || F1_SetAllCompare_&i || Trigger || || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 0 || 2.00
|}
|}


----


----
A set of instructions to close the specified door on the same floor.


'''ClassInfo'''
'''ClassInfo'''
Line 1,152: Line 1,123:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F1_TestRelay_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F1_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,160: Line 1,135:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_Branch_Button_&i || SetValueTest || 1 || 0.01
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || close || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound || || 0.00
|}
|}


----
----


This branch will only have a true value (1) if the corresponging button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)
Timer delay for opening the door on the specified floor (prevents glitching the animations).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F1_Branch_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Initial value
|-
::''0''
|Name || ''F1_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}


'''Outputs'''
'''Outputs'''


NONE
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F1_&i || Trigger ||  || 0.00
|}


----
---
 
This branch will only have a true value (1) if the corresponging trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


Timer delay for closing the door on the specified floor (prevents glitching the animations).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F1_Branch_Trigger_&i''
{| class=standard-table
 
!| Property Name || Value
:Initial value
|-
::''0''
|Name || ''F1_DoorTimerClose_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}


'''Outputs'''
'''Outputs'''


NONE
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F1_&i || Trigger ||  || 0.00
|}


----
----


This listens to the values of both branches, of the same floor,  before triggering the timer control. (This is only set to look for the true value of the branches)
This controls when the door should be open or closed.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch_listener]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F1_Branch_Listener_&i''
{| class=standard-table
 
!| Property Name || Value
:Logic Branch 01
|-
::''F1_Branch_Button_&i''
|Name || ''F1_DoorBranch_&i''
 
|-
:Logic Branch 02
|Initial value || ''0''
::''F1_Branch_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,227: Line 1,219:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnAllFalse || F1_Timer_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnAllTrue || F1_Timer_&i || Enable ||  || 0.00
|[[File:Io11.png]] || OnFalse || F1_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnMixed || F1_Timer_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnAllTrue || F1_Timer_&i || FireTimer ||  || 0.10
|[[File:Io11.png]] || OnTrue || F1_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Disable ||  || 1.00
|}
|}


----
----


This was used to prevent retriggering the doors, only activates the fallowing commands after a 3 second delay.
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F1_Timer_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F1_SetAllCompare_&i''
 
|}
:Refire Interval
::''3''


'''Outputs'''
'''Outputs'''
Line 1,259: Line 1,257:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_F1_Button_&i || Lock || || 0.10
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M1_Button_&i || Lock || || 0.10
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || F1_Timer_&i || Disable || || 0.50
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || F1_DoorBranch_&i || SetValueTest || 1 || 1.50
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 1 || 0.00
|}
|}


----
----


A set of instructions to open the specified door on the same floor.
{{Note|The Compare value must be changed to the corresponding floor number (If F6_Compare_&i then this value must be set at 6)}}


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_compare]]''
 
 
:Name
'''Keyvalues'''
::''Elevator_OpenDoor_F1_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_Compare_&i''
|-
|Compare value || ''1''
|}


'''Outputs'''
'''Outputs'''
Line 1,289: Line 1,293:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || open || 0.00
|[[File:Io11.png]] || OnEqualTo || F1_DoorBranch_&i || SetValueTest || 0 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F1_SetAllCompare_&i || Trigger ||  || 0.00
|}
|}


----
=== Floor 2 ===


A set of instructions to close the specified door on the same floor.
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).


'''ClassInfo'''
'''ClassInfo'''
Line 1,305: Line 1,305:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''Elevator_CloseDoor_F1_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_ButtonFunctions_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,313: Line 1,317:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || close || 0.00
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F2_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 1 || 2.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 1 || 2.00
|}
|}


----
----
timer delay for opening the door on the specified floor (prevents glitching the animations)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F1_DoorTimerOpen_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F2_TestRelay_&i''
 
|}
:Refire Interval
::''3''


'''Outputs'''
'''Outputs'''
Line 1,341: Line 1,349:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_OpenDoor_F1_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F2_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|}
|}


---
----


timer delay for closing the door on the specified floor (prevents glitching the animations)
This branch will only have a ''True'' value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F1_DoorTimerClose_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F2_Branch_Button_&i''
 
|-
:Refire Interval
|Initial value || ''0''
::''3''
|}


'''Outputs'''
'''Outputs'''


{| class=standard-table
NONE
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[Image:Io11.png]] || OnTimer || Elevator_CloseDoor_F1_&i || Trigger ||  || 0.00
|}


----
----


This controls when the door should be open or closed
This branch will only have a ''True'' value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)
 


'''ClassInfo'''
'''ClassInfo'''
Line 1,379: Line 1,386:
::''[[logic_branch]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F1_DoorBranch_&i''
 
:Initial value
::''0''
 
'''Outputs'''
 
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Disable ||  || 1.00
|Name || ''F2_Branch_Trigger_&i''
|-
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Disable ||  || 1.00
|Initial value || ''0''
|}
|}
'''Outputs'''
NONE


----
----


This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefor only triggering the doors on the sixth floor)
This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_branch_listener]]''


:Name
'''Keyvalues'''
::''F1_SetAllCompare_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F2_Branch_Button_&i''
|-
|Logic Branch 02 || ''F2_Branch_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,424: Line 1,424:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnAllFalse || F2_Timer_&i || Disable || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnAllTrue || F2_Timer_&i || Enable || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnMixed || F2_Timer_&i || Disable || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnAllTrue || F2_Timer_&i || FireTimer || || 0.10
|-
|[[Image:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 1 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 1 || 0.00
|}
|}


----
----
This is used to prevent retriggering the doors, only activates the following commands after a 3 second delay.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_compare]]''
::''[[logic_timer]]''
 
:Name
::''F1_Compare_&i''
 
:Compare value
::''1'' {{Note| This must be change to the cooresponding floor number (If F6_Compare_&i then this value must be set at 6)
 
'''Outputs'''


'''Keyvalues'''
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|Name || ''F2_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|-
|[[Image:Io11.png]] || OnEqualTo || F1_DoorBranch_&i || SetValueTest || 0 || 0.00
|Refire Interval || ''3''
|}
|}
== Floor 2 ==
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
:Name
::''F2_ButtonFunctions_&i''


'''Outputs'''
'''Outputs'''
Line 1,476: Line 1,458:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_TestRelay_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnTimer || Elevator_F2_Button_&i || Lock ||  || 0.10
|-
|-
|[[Image:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnTimer || Elevator_M2_Button_&i || Lock ||  || 0.10
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|[[File:Io11.png]] || OnTimer || F2_Timer_&i || Disable ||  || 0.50
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 1 || 2.00
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 1 || 2.00
|[[File:Io11.png]] || OnTimer || F2_DoorBranch_&i || SetValueTest || 1 || 1.50
|}
|}


----


----
A set of instructions to open the specified door on the same floor.


'''ClassInfo'''
'''ClassInfo'''
Line 1,497: Line 1,480:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F2_TestRelay_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F2_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,505: Line 1,492:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Branch_Button_&i || SetValueTest || 1 || 0.01
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F2_Door_&i || PlaySound ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F2_SetAllCompare_&i || Trigger || || 0.00
|}
|}


----
----


This branch will only have a true value (1) if the corresponging button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)
A set of instructions to close the specified door on the same floor.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F2_Branch_Button_&i''
{| class=standard-table
 
!| Property Name || Value
:Initial value
|-
::''0''
|Name || ''Elevator_CloseDoor_F2_&i''
|}


'''Outputs'''
'''Outputs'''


NONE
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Door_&i || SetAnimation || close || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F2_Door_&i || PlaySound ||  || 0.00
|}


----
----


This branch will only have a true value (1) if the corresponging trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)
Timer delay for opening the door on the specified floor (prevents glitching the animations).
 


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F2_Branch_Trigger_&i''
{| class=standard-table
 
!| Property Name || Value
:Initial value
|-
::''0''
|Name || ''F2_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}


'''Outputs'''
'''Outputs'''


NONE
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F2_&i || Trigger ||  || 0.00
|}


----
---


This listens to the values of both branches, of the same floor,  before triggering the timer control. (This is only set to look for the true value of the branches)
Timer delay for closing the door on the specified floor (prevents glitching the animations).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_branch_listener]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F2_Branch_Listener_&i''
{| class=standard-table
 
!| Property Name || Value
:Logic Branch 01
|-
::''F2_Branch_Button_&i''
|Name || ''F2_DoorTimerClose_&i''
 
|-
:Logic Branch 02
|Start Disabled || ''Yes''
::''F2_Branch_Trigger_&i''
|-
|Refire Interval || ''3''
|}


'''Outputs'''
'''Outputs'''
Line 1,572: Line 1,578:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnAllFalse || F2_Timer_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F2_&i || Trigger ||  || 0.00
|-
|[[Image:Io11.png]] || OnAllTrue || F2_Timer_&i || Enable ||  || 0.00
|-
|[[Image:Io11.png]] || OnMixed || F2_Timer_&i || Disable ||  || 0.00
|-
|[[Image:Io11.png]] || OnAllTrue || F2_Timer_&i || FireTimer ||  || 0.10
|}
|}


----
----


This was used to prevent retriggering the doors, only activates the fallowing commands after a 3 second delay.
This controls when the door should be open or closed.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F2_Timer_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F2_DoorBranch_&i''
 
|-
:Refire Interval
|Initial value || ''0''
::''3''
|}


'''Outputs'''
'''Outputs'''
Line 1,604: Line 1,604:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_F2_Button_&i || Lock ||  || 0.10
|[[File:Io11.png]] || OnFalse || F2_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M2_Button_&i || Lock ||  || 0.10
|[[File:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || F2_Timer_&i || Disable ||  || 0.50
|[[File:Io11.png]] || OnTrue || F2_DoorTimerClose_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|[[File:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || FireTimer || || 0.10
|-
|-
|[[Image:Io11.png]] || OnTimer || F2_DoorBranch_&i || SetValueTest || 1 || 1.50
|[[File:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || Disable ||  || 1.00
|}
|}


----
----


A set of instructions to open the specified door on the same floor.
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).


'''ClassInfo'''
'''ClassInfo'''
Line 1,626: Line 1,630:
::''[[logic_relay]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''Elevator_OpenDoor_F2_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_SetAllCompare_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,634: Line 1,642:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Door_&i || SetAnimation || open || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 2 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 2 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F2_Door_&i || PlaySound || || 0.00
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 2 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_SetAllCompare_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 2 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 2 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 2 || 0.00
|}
|}


----
----
A set of instructions to close the specified door on the same floor.


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_compare]]''


:Name
'''Keyvalues'''
::''Elevator_CloseDoor_F2_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_Compare_&i''
|-
|Compare value || ''2''
|}


'''Outputs'''
'''Outputs'''
Line 1,658: Line 1,676:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Door_&i || SetAnimation || close || 0.00
|[[File:Io11.png]] || OnEqualTo || F2_DoorBranch_&i || SetValueTest || 0 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F2_Door_&i || PlaySound ||  || 0.00
|}
|}


----
=== Floor 3 ===
 


timer delay for opening the door on the specified floor (prevents glitching the animations)
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F2_DoorTimerOpen_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F3_ButtonFunctions_&i''
 
|}
:Refire Interval
::''3''


'''Outputs'''
'''Outputs'''
Line 1,686: Line 1,701:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_OpenDoor_F2_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 2 || 2.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 2 || 2.00
|}
|}


---


timer delay for closing the door on the specified floor (prevents glitching the animations)
----


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_timer]]''
::''[[logic_relay]]''


:Name
'''Keyvalues'''
::''F2_DoorTimerClose_&i''
{| class=standard-table
 
!| Property Name || Value
:Start Disabled
|-
::''Yes''
|Name || ''F3_TestRelay_&i''
 
|}
:Refire Interval
::''3''


'''Outputs'''
'''Outputs'''
Line 1,712: Line 1,734:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_CloseDoor_F2_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F3_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|}
|}


----
----


This controls when the door should be open or closed
This branch will only have a ''True'' value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)


'''ClassInfo'''
'''ClassInfo'''
Line 1,724: Line 1,748:
::''[[logic_branch]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F2_DoorBranch_&i''
 
:Initial value
::''0''
 
'''Outputs'''
 
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|[[Image:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[Image:Io11.png]] || OnFalse || F2_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[Image:Io11.png]] || OnTrue || F2_DoorTimerClose_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || FireTimer ||  || 0.10
|Name || ''F3_Branch_Button_&i''
|-
|-
|[[Image:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || FireTimer ||  || 0.10
|Initial value || ''0''
|-
|[[Image:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[Image:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || Disable ||  || 1.00
|}
|}


----
'''Outputs'''
 
NONE
 
----
 
This branch will only have a ''True'' value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefor only triggering the doors on the sixth floor)


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_relay]]''
::''[[logic_branch]]''
 
:Name
::''F2_SetAllCompare_&i''
 
'''Outputs'''


'''Keyvalues'''
{| class=standard-table
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
!| Property Name || Value
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 2 || 0.00
|Name || ''F3_Branch_Trigger_&i''
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 2 || 0.00
|Initial value || ''0''
|-
|[[Image:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 2 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 2 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 2 || 0.00
|-
|[[Image:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 2 || 0.00
|}
|}
'''Outputs'''
NONE


----
----
This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches).


'''ClassInfo'''
'''ClassInfo'''


:Class
:Class
::''[[logic_compare]]''
::''[[logic_branch_listener]]''


:Name
'''Keyvalues'''
::''F2_Compare_&i''
{| class=standard-table
 
!| Property Name || Value
:Compare value
|-
::''2'' {{Note| This must be change to the cooresponding floor number (If F6_Compare_&i then this value must be set at 6)
|Name || ''F3_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F3_Branch_Button_&i''
|-
|Logic Branch 02 || ''F3_Branch_Trigger_&i''
|}


'''Outputs'''
'''Outputs'''
Line 1,800: Line 1,809:
! || My Output || Target Entity || Target Input|| Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEqualTo || F2_DoorBranch_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnAllFalse || F3_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F3_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F3_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F3_Timer_&i || FireTimer ||  || 0.10
|}
|}


----
This is used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.
'''ClassInfo'''


:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTimer || Elevator_F3_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M3_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F3_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[File:Io11.png]] || OnTimer || F3_DoorBranch_&i || SetValueTest || 1 || 1.50
|}
----
A set of instructions to open the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F3_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F3_Door_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_SetAllCompare_&i || Trigger ||  || 0.00
|}
----
A set of instructions to close the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F3_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Door_&i || SetAnimation || close || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F3_Door_&i || PlaySound ||  || 0.00
|}
----
Timer delay for opening the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F3_&i || Trigger ||  || 0.00
|}
---
timer delay for closing the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_DoorTimerClose_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F3_&i || Trigger ||  || 0.00
|}
----
This controls when the door should be open or closed
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_DoorBranch_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F3_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F3_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F3_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F3_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F3_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnTrue || F3_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F3_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F3_DoorTimerOpen_&i || Disable ||  || 1.00
|}
----
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefor only triggering the doors on the sixth floor)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_SetAllCompare_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 3 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 3 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 3 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 3 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 3 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 3 || 0.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_compare]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_Compare_&i''
|-
|Compare value || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEqualTo || F3_DoorBranch_&i || SetValueTest || 0 || 0.00
|}
=== Floor 4 ===
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_ButtonFunctions_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 3 || 2.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 3 || 2.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_TestRelay_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F4_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|}
----
This branch will only have a true value (1) if the corresponging button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Branch_Button_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This branch will only have a true value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Branch_Trigger_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This listens to the values of both branches, of the same floor,  before triggering the timer control. (This is only set to look for the true value of the branches)
'''ClassInfo'''
:Class
::''[[logic_branch_listener]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F4_Branch_Button_&i''
|-
|Logic Branch 02 || ''F4_Branch_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnAllFalse || F4_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F4_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F4_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F4_Timer_&i || FireTimer ||  || 0.10
|}
----
This is used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTimer || Elevator_F4_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M4_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F4_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[File:Io11.png]] || OnTimer || F4_DoorBranch_&i || SetValueTest || 1 || 1.50
|}
----
A set of instructions to open the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F4_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F4_Door_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_SetAllCompare_&i || Trigger ||  || 0.00
|}
----
A set of instructions to close the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F4_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Door_&i || SetAnimation || close || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F4_Door_&i || PlaySound ||  || 0.00
|}
----
timer delay for opening the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F4_&i || Trigger ||  || 0.00
|}
---
Timer delay for closing the door on the specified floor (prevents glitching the animations).
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_DoorTimerClose_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F4_&i || Trigger ||  || 0.00
|}
----
This controls when the door should be open or closed.
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_DoorBranch_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F4_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F4_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F4_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F4_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F4_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnTrue || F4_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F4_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F4_DoorTimerOpen_&i || Disable ||  || 1.00
|}
----
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_SetAllCompare_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 4 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 4 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 4 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 4 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 4 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 4 || 0.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_compare]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Compare_&i''
|-
|Compare value || ''4''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEqualTo || F4_DoorBranch_&i || SetValueTest || 0 || 0.00
|}
=== Floor 5 ===
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_ButtonFunctions_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 4 || 2.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 4 || 2.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_TestRelay_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F5_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|}
----
This branch will only have a ''True'' value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Branch_Button_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This branch will only have a ''True'' value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Branch_Trigger_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches)
'''ClassInfo'''
:Class
::''[[logic_branch_listener]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F5_Branch_Button_&i''
|-
|Logic Branch 02 || ''F5_Branch_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnAllFalse || F5_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F5_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F5_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F5_Timer_&i || FireTimer ||  || 0.10
|}
----
This was used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTimer || Elevator_F5_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M5_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F5_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[File:Io11.png]] || OnTimer || F5_DoorBranch_&i || SetValueTest || 1 || 1.50
|}
----
A set of instructions to open the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F5_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F5_Door_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_SetAllCompare_&i || Trigger ||  || 0.00
|}
----
A set of instructions to close the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F5_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Door_&i || SetAnimation || close || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F5_Door_&i || PlaySound ||  || 0.00
|}
----
Timer delay for opening the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F5_&i || Trigger ||  || 0.00
|}
---
Timer delay for closing the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_DoorTimerClose_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F5_&i || Trigger ||  || 0.00
|}
----
This controls when the door should be open or closed.
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_DoorBranch_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F5_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F5_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F5_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F5_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F5_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnTrue || F5_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F5_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F5_DoorTimerOpen_&i || Disable ||  || 1.00
|}
----
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_SetAllCompare_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 5 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 5 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 5 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 5 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 5 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 5 || 0.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_compare]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Compare_&i''
|-
|Compare value || ''5''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEqualTo || F5_DoorBranch_&i || SetValueTest || 0 || 0.00
|}
=== Floor 6 ===
This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_ButtonFunctions_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 5 || 2.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 5 || 2.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_TestRelay_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F6_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|[[File:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|}
----
This branch will only have a ''True'' value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Branch_Button_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This branch will only have a ''True'' value (1) if the corresponging trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Branch_Trigger_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
NONE
----
This listens to the values of both branches on the same floor before triggering the timer control. (This is only set to look for the true value of the branches)
'''ClassInfo'''
:Class
::''[[logic_branch_listener]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F6_Branch_Button_&i''
|-
|Logic Branch 02 || ''F6_Branch_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnAllFalse || F6_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F6_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F6_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F6_Timer_&i || FireTimer ||  || 0.10
|}
----
This was used to prevent retriggering the doors, and only activates the following commands after a delay of 3 seconds.
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || UnlockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTimer || Elevator_F6_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M6_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F6_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[File:Io11.png]] || OnTimer || F6_DoorBranch_&i || SetValueTest || 1 || 1.50
|}
----
A set of instructions to open the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F6_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F6_Door_&i || PlaySound ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_SetAllCompare_&i || Trigger ||  || 0.00
|}
----
A set of instructions to close the specified door on the same floor.
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F6_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Door_&i || SetAnimation || close || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F6_Door_&i || PlaySound ||  || 0.00
|}
----
Timer delay for opening the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_DoorTimerOpen_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_OpenDoor_F6_&i || Trigger ||  || 0.00
|}
---
Timer delay for closing the door on the specified floor (prevents glitching the animations)
'''ClassInfo'''
:Class
::''[[logic_timer]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_DoorTimerClose_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTimer || Elevator_CloseDoor_F6_&i || Trigger ||  || 0.00
|}
----
This controls when the door should be open or closed.
'''ClassInfo'''
:Class
::''[[logic_branch]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_DoorBranch_&i''
|-
|Initial value || ''0''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F6_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F6_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F6_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F6_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F6_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnTrue || F6_DoorTimerOpen_&i || FireTimer ||  || 0.10
|-
|[[File:Io11.png]] || OnFalse || F6_DoorTimerClose_&i || Disable ||  || 1.00
|-
|[[File:Io11.png]] || OnTrue || F6_DoorTimerOpen_&i || Disable ||  || 1.00
|}
----
This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor)
'''ClassInfo'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_SetAllCompare_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 6 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 6 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 6 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 6 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 6 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 6 || 0.00
|}
----
'''ClassInfo'''
:Class
::''[[logic_compare]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Compare_&i''
|-
|Compare value || ''6''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEqualTo || F6_DoorBranch_&i || SetValueTest || 0 || 0.00
|}
[[Category:Tutorials]]
[[Category:Tutorials]]

Latest revision as of 00:22, 7 January 2024

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
Logic isn't fully clear at times. If possible, the article should be simplified for a general 3+ floor elevator design.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
This tutorial is based from a six-floor elevator. However, you can any number of floors you wish with some minor changes to the entities.

Theory

Initial Start

When the player first enters the elevator, they will press a button representing a floor. Lets say Elevator_M6_Button_&i (Floor 6) was pressed (Pressing Elevator_F6_Button_&i refer to the same set of commands), it would first trigger the F6_ButtonFunctions_&i commands to trigger Close_AllDoors_&i, F6_TestRelay_&i, LockButtons_&i. Also calling Elevator_&i and Elevator_Weight_&i to SetPosition to 5 (Floor 6 is 5) (func_movelinear always start with 0). As well as calling the Elevator_Chime_&i to PlaySound.

Closing All Doors

Close_AllDoors_&i actually closes one door, but calls on the CompareAll_&i to do its own work of finding the open doors thus preventing refiring all of the doors to animate unnecessarily (or glitch). When CompareAll_&i is triggered, it causes all of logic_compare enities named F1_Compare_&i through F6_Compare_&i to force their comparisons to be made.

F6_TestRelay_&i will trigger the Test_Relay_All_&i(which forces the value of zero and tests it for branches F1_Branch_Button_&i through F6_Branch_Button_&i) and retrigger F6_Branch_Button_&i to have its value set at one and tested.

LockButtons_&i Locks all of the buttons inside and outside of the elevator for the duration of the cycle (prevents the elevator from changing floors while running)

When Elevator_&i gets to the sixth floor, it passes over the F6_Trigger_&i (Passe over others as well) .When the elevator is touching F6_Trigger_&i , it sets the value of 1 and tests it on F6_Branch_Trigger_&i, when it is not touching it sets F6_Branch_Trigger_&i to 0 and tests it. (This also fires other commands but they are not critical to operation).

The F6_Branch_Listener_&i Listens to find if both F6_Branch_Button_&i and F6_Branch_Trigger_&i set to 1. If that is the case it fires F6_Timer_&i to start. After the duration of 3 seconds have passed, it triggers UnlockButtons_&i, 1/6 of a second later it locks both Elevator_F6_Button_&i and Elevator_M6_Button_&i, 5/6 of a second later it disables F6_Timer_&i, and last at 1 5/6 of a second later, Elevator_M_Door_&i is opened and F6_DoorBranch_&i value is set at 1 and tested.

When the'F6_DoorBranch_&i conditions are met ,It triggers F6_DoorTimerOpen_&i to be enabled and fires the timer 1/6 of a second later. When the time is up it fires Elevator_OpenDoor_F6_&i to tigger. Then Elevator_F6_Door_&i is triggered to open, Elevator_Sound_F6_Door_&i PlaySound, and F6_SetAllCompare_&i is triggered setting all of the logic_compare entities F1_Compare_&i Through F6_Compare_&i to 6. When the condition is met, F6_Compare_&i will trigger F6_DoorBranch_&i set the value to 0 and test it.

Final Result

Brush Work Construction

This elevator's surrounding construction follows similar to the MultiStop elevator tutorial, however, the elevator itself is constructed from a func_movelinear. Therefore, you will not need any path_track. This allows the elevator to stop exactly at each point rather than slightly above or below the intended destination. However this method can be time-consuming to make and can be more confusing as well. A majority of the entities used here are for accurate door control, which would make the design fairly worthless for anything less than 3 floors.

What's needed for a six floor elevator:

7 ambient_generic(s)

12 func_button(s)

16 func_door(s)(or 7 prop_dynamic(s)

1 func_movelinear

1 logic_auto

18 logic_branch(es)

6 logic_branch_listener(s)

6 logic_compare(s)

35 logic_relay(s)

18 logic_timer(s)

6 trigger_multiple(s)

Brush Entities

This would be the entity that will move the player to his or her desired floor.

ClassInfo

Class
func_movelinear

Keyvalues

Property Name Value
Name Elevator_&i
Move Direction (Pitch Yaw Roll) -90 0 0
Move Distance 160
Block Damage 2000
Sound played when the brush starts moving (Pick A Sound)
Sound played when the brush stops moving (Pick A Sound)

Outputs

NONE


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F1_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F1_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F2_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F2_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F3_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F3_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F4_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F4_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F5_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F5_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed on a wall outside of the elevator.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_F6_Button_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F6_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M1_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F1_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M2_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F2_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M3_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F3_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M4_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F4_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M5_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F5_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This entity would be placed inside of the elevator and will move with it.

ClassInfo

Class
func_button

Keyvalues

Property Name Value
Name Elevator_M6_Button_&i
Parent Elevator_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnPressed F6_ButtonFunctions_&i Trigger 0.00

Flags

☑ Don't move

☑ Use Activates


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F1_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F1_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F1_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num1_&i Disable 0.00
Io11.png OnStartTouch num1_&i Enable 0.00
Io11.png OnEndTouch F1_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F1_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully Placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F2_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F2_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F2_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num2_&i Disable 0.00
Io11.png OnStartTouch num2_&i Enable 0.00
Io11.png OnEndTouch F2_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F2_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully Placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F3_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F3_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F3_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num3_&i Disable 0.00
Io11.png OnStartTouch num3_&i Enable 0.00
Io11.png OnEndTouch F3_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F3_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully Placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F4_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F4_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F4_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num4_&i Disable 0.00
Io11.png OnStartTouch num4_&i Enable 0.00
Io11.png OnEndTouch F4_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F4_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully Placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F5_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F5_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F5_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num5_&i Disable 0.00
Io11.png OnStartTouch num5_&i Enable 0.00
Io11.png OnEndTouch F5_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F5_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)


This is used for detecting the elevator as it passes over. It is mainly used for door control, though it can be used for indicator lights.

Note.pngNote:These must be carefully Placed to allow the doors to function properly

ClassInfo

Class
trigger_multiple

Keyvalues

Property Name Value
Name F6_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEndTouch F6_Branch_Trigger_&i SetValueTest 0 0.00
Io11.png OnStartTouch F6_Branch_Trigger_&i SetValueTest 1 0.00
Io11.png OnEndTouch num6_&i Disable 0.00
Io11.png OnStartTouch num6_&i Enable 0.00
Io11.png OnEndTouch F6_Light_&i Color 0 255 0 0.00
Io11.png OnStartTouch F6_Light_&i Color 255 0 0 0.00

Flags

☑ Everything (not including physics debris)

Functional Relays

FunctionalEnts.jpg

These Functional relays were created to reduce the number of commands when operating the elevator, more for organizational purposes. For example, rather than rewriting 6 or 12 commands in roughly 24 diferent places, we can write one command for the same 24 places.

This locks the buttons to prevent players from retriggering while the elevator is operating.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name LockButtons_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F1_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_F2_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_F3_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_F4_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_F5_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_F6_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M1_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M2_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M3_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M4_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M5_Button_&i Lock 0.00
Io11.png OnTrigger Elevator_M6_Button_&i Lock 0.00

This unlocks when the elevator is done with the full cycle.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name UnockButtons_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F1_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_F2_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_F3_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_F4_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_F5_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_F6_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M1_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M2_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M3_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M4_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M5_Button_&i Unock 0.00
Io11.png OnTrigger Elevator_M6_Button_&i Unock 0.00

This forces all of the logic_compare entities to compare the currently set values to affect the doors on all floors.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name CompareAll_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i Compare 0.00
Io11.png OnTrigger F2_Compare_&i Compare 0.00
Io11.png OnTrigger F3_Compare_&i Compare 0.00
Io11.png OnTrigger F4_Compare_&i Compare 0.00
Io11.png OnTrigger F5_Compare_&i Compare 0.00
Io11.png OnTrigger F6_Compare_&i Compare 0.00

This is to force close all of the doors when the elevator starts its cycle. (Utilizing the CompareAll_&i relay)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Close_AllDoors_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger CompareAll_&i Trigger 0.00
Io11.png OnTrigger Elevator_M_Door_&i SetAnimation close 0.00

Used for setting all of the values to false (0) the the elevator has a destination change.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Test_Relay_All_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Branch_Button_&i SetValueTest 0 0.00
Io11.png OnTrigger F2_Branch_Button_&i SetValueTest 0 0.00
Io11.png OnTrigger F3_Branch_Button_&i SetValueTest 0 0.00
Io11.png OnTrigger F4_Branch_Button_&i SetValueTest 0 0.00
Io11.png OnTrigger F5_Branch_Button_&i SetValueTest 0 0.00
Io11.png OnTrigger F6_Branch_Button_&i SetValueTest 0 0.00

Used to open the first-floor door when the map starts.

ClassInfo

Class
logic_auto

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnMapSpawn Elevator_M_Door_&i SetAnimation open 0.00
Io11.png OnMapSpawn F1_DoorBranch_&i SetValueTest 1 0.00

Floor Specific Functions

FloorSpacificEnts close 1.jpg
FloorSpacificEnts close 2.jpg
FloorSpacificEnts close 3.jpg
Note.pngNote:For every floor you intend to add, all of these entities need to be present in each additional floor for the elevator to operate correctly.

Floor 1

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F1_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F1_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 0 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 0 2.00

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F1_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a True value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F1_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a True value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F1_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches on the same floor before triggering the timer control. (This is only set to look for the True (1) value of the branches)

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F1_Branch_Listener_&i
Logic Branch 01 F1_Branch_Button_&i
Logic Branch 02 F1_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F1_Timer_&i Disable 0.00
Io11.png OnAllTrue F1_Timer_&i Enable 0.00
Io11.png OnMixed F1_Timer_&i Disable 0.00
Io11.png OnAllTrue F1_Timer_&i FireTimer 0.10

This is used to prevent retriggering the doors, and only activates the following commands after a delay of 3 seconds.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F1_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F1_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M1_Button_&i Lock 0.10
Io11.png OnTimer F1_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F1_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F1_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F1_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F1_Door_&i PlaySound 0.00
Io11.png OnTrigger F1_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F1_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F1_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F1_Door_&i PlaySound 0.00

Timer delay for opening the door on the specified floor (prevents glitching the animations).

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F1_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F1_&i Trigger 0.00

---

Timer delay for closing the door on the specified floor (prevents glitching the animations).

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F1_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F1_&i Trigger 0.00

This controls when the door should be open or closed.

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F1_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F1_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F1_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F1_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F1_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F1_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F1_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F1_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F1_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F1_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 1 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 1 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 1 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 1 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 1 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 1 0.00

Note.pngNote:The Compare value must be changed to the corresponding floor number (If F6_Compare_&i then this value must be set at 6)

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F1_Compare_&i
Compare value 1

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F1_DoorBranch_&i SetValueTest 0 0.00

Floor 2

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F2_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F2_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 1 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 1 2.00

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F2_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F2_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a True value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F2_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a True value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F2_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches).

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F2_Branch_Listener_&i
Logic Branch 01 F2_Branch_Button_&i
Logic Branch 02 F2_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F2_Timer_&i Disable 0.00
Io11.png OnAllTrue F2_Timer_&i Enable 0.00
Io11.png OnMixed F2_Timer_&i Disable 0.00
Io11.png OnAllTrue F2_Timer_&i FireTimer 0.10

This is used to prevent retriggering the doors, only activates the following commands after a 3 second delay.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F2_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F2_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M2_Button_&i Lock 0.10
Io11.png OnTimer F2_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F2_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F2_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F2_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F2_Door_&i PlaySound 0.00
Io11.png OnTrigger F2_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F2_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F2_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F2_Door_&i PlaySound 0.00

Timer delay for opening the door on the specified floor (prevents glitching the animations).

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F2_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F2_&i Trigger 0.00

---

Timer delay for closing the door on the specified floor (prevents glitching the animations).

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F2_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F2_&i Trigger 0.00

This controls when the door should be open or closed.

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F2_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F2_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F2_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F2_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F2_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F2_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F2_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F2_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F2_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F2_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 2 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 2 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 2 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 2 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 2 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 2 0.00

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F2_Compare_&i
Compare value 2

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F2_DoorBranch_&i SetValueTest 0 0.00

Floor 3

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F3_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F3_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 2 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 2 2.00



ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F3_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F3_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a True value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F3_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a True value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F3_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches).

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F3_Branch_Listener_&i
Logic Branch 01 F3_Branch_Button_&i
Logic Branch 02 F3_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F3_Timer_&i Disable 0.00
Io11.png OnAllTrue F3_Timer_&i Enable 0.00
Io11.png OnMixed F3_Timer_&i Disable 0.00
Io11.png OnAllTrue F3_Timer_&i FireTimer 0.10

This is used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F3_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F3_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M3_Button_&i Lock 0.10
Io11.png OnTimer F3_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F3_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F3_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F3_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F3_Door_&i PlaySound 0.00
Io11.png OnTrigger F3_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F3_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F3_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F3_Door_&i PlaySound 0.00

Timer delay for opening the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F3_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F3_&i Trigger 0.00

---

timer delay for closing the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F3_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F3_&i Trigger 0.00

This controls when the door should be open or closed

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F3_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F3_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F3_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F3_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F3_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F3_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F3_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F3_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F3_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefor only triggering the doors on the sixth floor)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F3_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 3 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 3 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 3 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 3 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 3 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 3 0.00

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F3_Compare_&i
Compare value 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F3_DoorBranch_&i SetValueTest 0 0.00

Floor 4

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F4_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F4_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 3 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 3 2.00



ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F4_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F4_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a true value (1) if the corresponging button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F4_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a true value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F4_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches)

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F4_Branch_Listener_&i
Logic Branch 01 F4_Branch_Button_&i
Logic Branch 02 F4_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F4_Timer_&i Disable 0.00
Io11.png OnAllTrue F4_Timer_&i Enable 0.00
Io11.png OnMixed F4_Timer_&i Disable 0.00
Io11.png OnAllTrue F4_Timer_&i FireTimer 0.10

This is used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F4_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F4_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M4_Button_&i Lock 0.10
Io11.png OnTimer F4_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F4_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F4_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F4_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F4_Door_&i PlaySound 0.00
Io11.png OnTrigger F4_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F4_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F4_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F4_Door_&i PlaySound 0.00

timer delay for opening the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F4_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F4_&i Trigger 0.00

---

Timer delay for closing the door on the specified floor (prevents glitching the animations).

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F4_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F4_&i Trigger 0.00

This controls when the door should be open or closed.

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F4_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F4_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F4_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F4_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F4_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F4_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F4_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F4_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F4_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare enity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F4_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 4 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 4 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 4 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 4 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 4 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 4 0.00

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F4_Compare_&i
Compare value 4

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F4_DoorBranch_&i SetValueTest 0 0.00

Floor 5

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons).

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F5_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F5_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 4 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 4 2.00



ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F5_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F5_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a True value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F5_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a True value (1) if the corresponding trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F5_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches, of the same floor, before triggering the timer control. (This is only set to look for the true value of the branches)

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F5_Branch_Listener_&i
Logic Branch 01 F5_Branch_Button_&i
Logic Branch 02 F5_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F5_Timer_&i Disable 0.00
Io11.png OnAllTrue F5_Timer_&i Enable 0.00
Io11.png OnMixed F5_Timer_&i Disable 0.00
Io11.png OnAllTrue F5_Timer_&i FireTimer 0.10

This was used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F5_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F5_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M5_Button_&i Lock 0.10
Io11.png OnTimer F5_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F5_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F5_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F5_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F5_Door_&i PlaySound 0.00
Io11.png OnTrigger F5_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F5_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F5_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F5_Door_&i PlaySound 0.00

Timer delay for opening the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F5_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F5_&i Trigger 0.00

---

Timer delay for closing the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F5_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F5_&i Trigger 0.00

This controls when the door should be open or closed.

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F5_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F5_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F5_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F5_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F5_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F5_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F5_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F5_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F5_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F5_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 5 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 5 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 5 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 5 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 5 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 5 0.00

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F5_Compare_&i
Compare value 5

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F5_DoorBranch_&i SetValueTest 0 0.00

Floor 6

This triggers the cycle instructions to get to the particular floor (Triggered by one of the two elevator buttons)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F6_ButtonFunctions_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Close_AllDoors_&i Trigger 0.00
Io11.png OnTrigger F6_TestRelay_&i Trigger 0.00
Io11.png OnTrigger LockButtons_&i Trigger 0.00
Io11.png OnTrigger Elevator_Chime_&i PlaySound 0.00
Io11.png OnTrigger Elevator_&i SetPosition 5 2.00
Io11.png OnTrigger Elevator_Weight_&i SetPosition 5 2.00



ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F6_TestRelay_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F6_Branch_Button_&i SetValueTest 1 0.01
Io11.png OnTrigger Test_Relay_All_&i Trigger 0 0.00

This branch will only have a True value (1) if the corresponding button has been pressed (ex. if "Elevator_F1_Button_&i" was pressed, F1_Branch_Button_&i would be set to true)

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F6_Branch_Button_&i
Initial value 0

Outputs

NONE


This branch will only have a True value (1) if the corresponging trigger has been tripped (ex. if "F1_Trigger_&i" was pressed, "F1_Branch_Trigger_&i" would be set to true)


ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F6_Branch_Trigger_&i
Initial value 0

Outputs

NONE


This listens to the values of both branches on the same floor before triggering the timer control. (This is only set to look for the true value of the branches)

ClassInfo

Class
logic_branch_listener

Keyvalues

Property Name Value
Name F6_Branch_Listener_&i
Logic Branch 01 F6_Branch_Button_&i
Logic Branch 02 F6_Branch_Trigger_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnAllFalse F6_Timer_&i Disable 0.00
Io11.png OnAllTrue F6_Timer_&i Enable 0.00
Io11.png OnMixed F6_Timer_&i Disable 0.00
Io11.png OnAllTrue F6_Timer_&i FireTimer 0.10

This was used to prevent retriggering the doors, and only activates the following commands after a delay of 3 seconds.

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F6_Timer_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer UnlockButtons_&i Trigger 0.00
Io11.png OnTimer Elevator_F6_Button_&i Lock 0.10
Io11.png OnTimer Elevator_M6_Button_&i Lock 0.10
Io11.png OnTimer F6_Timer_&i Disable 0.50
Io11.png OnTimer Elevator_M_Door_&i SetAnimation open 1.50
Io11.png OnTimer F6_DoorBranch_&i SetValueTest 1 1.50

A set of instructions to open the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_OpenDoor_F6_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F6_Door_&i SetAnimation open 0.00
Io11.png OnTrigger Elevator_Sound_F6_Door_&i PlaySound 0.00
Io11.png OnTrigger F6_SetAllCompare_&i Trigger 0.00

A set of instructions to close the specified door on the same floor.

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name Elevator_CloseDoor_F6_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger Elevator_F6_Door_&i SetAnimation close 0.00
Io11.png OnTrigger Elevator_Sound_F6_Door_&i PlaySound 0.00

Timer delay for opening the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F6_DoorTimerOpen_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_OpenDoor_F6_&i Trigger 0.00

---

Timer delay for closing the door on the specified floor (prevents glitching the animations)

ClassInfo

Class
logic_timer

Keyvalues

Property Name Value
Name F6_DoorTimerClose_&i
Start Disabled Yes
Refire Interval 3

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTimer Elevator_CloseDoor_F6_&i Trigger 0.00

This controls when the door should be open or closed.

ClassInfo

Class
logic_branch

Keyvalues

Property Name Value
Name F6_DoorBranch_&i
Initial value 0

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnFalse F6_DoorTimerClose_&i Enable 0.00
Io11.png OnFalse F6_DoorTimerOpen_&i Disable 0.00
Io11.png OnTrue F6_DoorTimerOpen_&i Enable 0.00
Io11.png OnTrue F6_DoorTimerClose_&i Disable 0.00
Io11.png OnFalse F6_DoorTimerClose_&i FireTimer 0.10
Io11.png OnTrue F6_DoorTimerOpen_&i FireTimer 0.10
Io11.png OnFalse F6_DoorTimerClose_&i Disable 1.00
Io11.png OnTrue F6_DoorTimerOpen_&i Disable 1.00

This sets all of the floors to a certain value (if we were going to floor 6, all of the value are set to six, then only one logic_compare entity is tripped that uses 6 as its compare value therefore only triggering the doors on the sixth floor)

ClassInfo

Class
logic_relay

Keyvalues

Property Name Value
Name F6_SetAllCompare_&i

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnTrigger F1_Compare_&i SetValue 6 0.00
Io11.png OnTrigger F2_Compare_&i SetValue 6 0.00
Io11.png OnTrigger F3_Compare_&i SetValue 6 0.00
Io11.png OnTrigger F4_Compare_&i SetValue 6 0.00
Io11.png OnTrigger F5_Compare_&i SetValue 6 0.00
Io11.png OnTrigger F6_Compare_&i SetValue 6 0.00

ClassInfo

Class
logic_compare

Keyvalues

Property Name Value
Name F6_Compare_&i
Compare value 6

Outputs

My Output Target Entity Target Input Parameter Delay
Io11.png OnEqualTo F6_DoorBranch_&i SetValueTest 0 0.00