Alternative Multi-Stop Elevator: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with "{{wip}} {{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}...")
 
m (Unicodifying, replaced: [[Image: → [[File: (329))
 
(26 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{wip}}
{{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}}
== Theory ==


=== Initial Start ===


== Construction ==
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.
[http://youtu.be/qbZSnerPSKE Final Result]
== 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:
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'''
{| 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
----
This entity would be placed on a wall outside of the elevator.
'''ClassInfo'''
:Class
::''[[func_button]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F1_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F2_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F3_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F4_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F5_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_F6_Button_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M1_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M2_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M3_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M4_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M5_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_M6_Button_&i''
|-
|Parent || ''Elevator_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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|These must be carefully placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[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'''
☑ 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|These must be carefully Placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[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'''
☑ 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|These must be carefully Placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[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'''
☑ 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|These must be carefully Placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEndTouch || F4_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F4_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num4_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num4_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F4_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File: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|These must be carefully Placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F5_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEndTouch || F5_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F5_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num5_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num5_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F5_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File: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|These must be carefully Placed to allow the doors to function properly}}
'''ClassInfo'''
:Class
::''[[trigger_multiple]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F6_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnEndTouch || F6_Branch_Trigger_&i || SetValueTest || 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F6_Branch_Trigger_&i || SetValueTest || 1 || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || num6_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || num6_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnEndTouch || F6_Light_&i || Color || 0 255 0 || 0.00
|-
|[[File:Io11.png]] || OnStartTouch || F6_Light_&i || Color || 255 0 0 || 0.00
|}
'''Flags'''
☑ Everything (not including physics debris)


== Functional Relays ==
== Functional Relays ==
[[File: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'''
'''ClassInfo'''
Line 16: Line 707:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || Elevator_F1_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Lock ||  || 0.00
|[[File: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 || Elevator_M2_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Lock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Lock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Lock ||  || 0.00
|}
|}


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


'''ClassInfo'''
'''ClassInfo'''
Line 56: Line 753:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || Elevator_F1_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F3_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F4_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F6_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M1_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M2_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M3_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M4_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Unock ||  || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_M5_Button_&i || Unock ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M6_Button_&i || Unock ||  || 0.00
|[[File: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'''
'''ClassInfo'''
Line 96: Line 798:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_Compare_&i || Compare ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Compare_&i || Compare ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F3_Compare_&i || Compare ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F4_Compare_&i || Compare ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F5_Compare_&i || Compare ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || Compare ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F6_Compare_&i || Compare ||  || 0.00
|[[File: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'''
'''ClassInfo'''
Line 124: Line 832:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || CompareAll_&i || Trigger ||  || 0.00
|[[File:Io11.png]] || OnTrigger || CompareAll_&i || Trigger ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_M_Door_&i || SetAnimation || close || 0.00
|[[File: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'''
'''ClassInfo'''
Line 144: Line 858:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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]] || OnTrigger || F1_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File: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]] || OnTrigger || F3_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F4_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F5_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F5_Branch_Button_&i || SetValueTest || 0 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F6_Branch_Button_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnTrigger || F6_Branch_Button_&i || SetValueTest || 0 || 0.00
|}
|}


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


'''ClassInfo'''
'''ClassInfo'''
Line 175: Line 895:


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnMapSpawn || Elevator_M_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnMapSpawn || F1_DoorBranch_&i || SetValueTest || 1 || 0.00
|}
 
== Floor Specific Functions ==
 
[[File:FloorSpacificEnts close 1.jpg|600px|center]]
 
[[File:FloorSpacificEnts close 2.jpg|600px|center]]
 
[[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'''
 
:Class
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_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 || F1_TestRelay_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnMapSpawn || Elevator_M_Door_&i || SetAnimation || open || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 0 || 2.00
|-
|-
|[[Image:Io11.png]] || OnMapSpawn || F1_DoorBranch_&i || SetValueTest || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 0 || 2.00
|}
|}


----
'''ClassInfo'''


== Floor Spacific Functions ==
:Class
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_TestRelay_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_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 || ''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'''
{| class=standard-table
!| 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'''
{| 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'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnAllFalse || F1_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F1_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F1_Timer_&i || Disable ||  || 0.00
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_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_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
|}
 
----
 
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_F1_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound ||  || 0.00
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F1_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F1_Door_&i || SetAnimation || close || 0.00
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F1_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_F1_&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 || ''F1_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_F1_&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 || ''F1_DoorBranch_&i''
|-
|Initial value || ''0''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F1_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[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 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'''
Line 190: Line 1,245:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 1 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 1 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Close_AllDoors_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 1 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_TestRelay_&i || Trigger || || 0.00
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 1 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 1 || 0.00
|}
 
----
 
{{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'''
 
:Class
::''[[logic_compare]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|-
|[[Image:Io11.png]] || OnTrigger || LockButtons_&i || Trigger ||  || 0.00
|Name || ''F1_Compare_&i''
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Chime_&i || PlaySound || || 0.00
|Compare value || ''1''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_&i || SetPosition || 0 || 2.00
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Weight_&i || SetPosition || 0 || 2.00
|Name || ''F2_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 || 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
|}


----
----
Line 219: Line 1,337:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || F2_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|-
|[[Image:Io11.png]] || OnTrigger || Test_Relay_All_&i || Trigger || 0 || 0.00
|[[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'''
'''ClassInfo'''
Line 239: Line 1,363:
::''[[logic_branch]]''
::''[[logic_branch]]''


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


:Initial value
'''Outputs'''
::''0''
 
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 || ''F2_Branch_Trigger_&i''
|-
|Initial value || ''0''
|}


'''Outputs'''
'''Outputs'''
Line 250: Line 1,400:


----
----
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 || ''F2_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F2_Branch_Button_&i''
|-
|Logic Branch 02 || ''F2_Branch_Trigger_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnAllFalse || F2_Timer_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnAllTrue || F2_Timer_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnMixed || F2_Timer_&i || Disable ||  || 0.00
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_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_F2_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || Elevator_M2_Button_&i || Lock ||  || 0.10
|-
|[[File:Io11.png]] || OnTimer || F2_Timer_&i || Disable ||  || 0.50
|-
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|[[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'''
:Class
::''[[logic_relay]]''
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F2_&i''
|}
'''Outputs'''
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || Elevator_F2_Door_&i || SetAnimation || open || 0.00
|-
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F2_Door_&i || PlaySound ||  || 0.00
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_CloseDoor_F2_&i''
|}
'''Outputs'''
{| 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
|}
----
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 || ''F2_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_F2_&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 || ''F2_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_F2_&i || Trigger ||  || 0.00
|}
----
This controls when the door should be open or closed.


'''ClassInfo'''
'''ClassInfo'''
Line 256: Line 1,590:
::''[[logic_branch]]''
::''[[logic_branch]]''


:Name
'''Keyvalues'''
::''F1_Branch_Trigger_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_DoorBranch_&i''
|-
|Initial value || ''0''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F2_DoorTimerOpen_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F2_DoorTimerOpen_&i || Enable ||  || 0.00
|-
|[[File:Io11.png]] || OnTrue || F2_DoorTimerClose_&i || Disable ||  || 0.00
|-
|[[File:Io11.png]] || OnFalse || F2_DoorTimerClose_&i || FireTimer ||  || 0.10
|-
|[[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
|}
 
----
 
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'''


:Initial value
:Class
::''0''
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_SetAllCompare_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File:Io11.png]] || OnTrigger || F1_Compare_&i || SetValue || 2 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 2 || 0.00
|-
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 2 || 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
|}
 
----
 
'''ClassInfo'''
 
:Class
::''[[logic_compare]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F2_Compare_&i''
|-
|Compare value || ''2''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[File: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'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_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 || 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
|}
 
 
----
 
'''ClassInfo'''
 
:Class
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_TestRelay_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[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 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 || ''F3_Branch_Button_&i''
|-
|Initial value || ''0''
|}


'''Outputs'''
'''Outputs'''
Line 267: Line 1,762:


----
----
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 || ''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'''
'''ClassInfo'''
Line 273: Line 1,793:
::''[[logic_branch_listener]]''
::''[[logic_branch_listener]]''


:Name
'''Keyvalues'''
::''F1_Branch_Listener_&i''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_Branch_Listener_&i''
|-
|Logic Branch 01 || ''F3_Branch_Button_&i''
|-
|Logic Branch 02 || ''F3_Branch_Trigger_&i''
|}
 
'''Outputs'''


:Logic Branch 01
{| class=standard-table
::''F1_Branch_Button_&i''
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|[[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
|}
 
----


:Logic Branch 02
This is used to prevent retriggering the doors, only activates the following commands after a delay of 3 seconds.
::''F1_Branch_Trigger_&i''
 
'''ClassInfo'''
 
:Class
::''[[logic_timer]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_Timer_&i''
|-
|Start Disabled || ''Yes''
|-
|Refire Interval || ''3''
|}


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || 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
|-
|-
|[[Image:Io11.png]] || OnAllFalse || F1_Timer_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnTimer || Elevator_M3_Button_&i || Lock ||  || 0.10
|-
|-
|[[Image:Io11.png]] || OnAllTrue || F1_Timer_&i || Enable ||  || 0.00
|[[File:Io11.png]] || OnTimer || F3_Timer_&i || Disable ||  || 0.50
|-
|-
|[[Image:Io11.png]] || OnMixed || F1_Timer_&i || Disable || || 0.00
|[[File:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|-
|-
|[[Image:Io11.png]] || OnAllTrue || F1_Timer_&i || FireTimer || || 0.10
|[[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'''
'''ClassInfo'''
Line 303: Line 1,919:
::''[[logic_timer]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F1_Timer_&i''
{| 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
|}
 
----


:Start Disabled
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)
::''Yes''


:Refire Interval
'''ClassInfo'''
::''3''
 
:Class
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F3_SetAllCompare_&i''
|}


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || 3 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_F1_Button_&i || Lock || || 0.10
|[[File:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 3 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M1_Button_&i || Lock || || 0.10
|[[File:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 3 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || F1_Timer_&i || Disable || || 0.50
|[[File:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 3 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_M_Door_&i || SetAnimation || open || 1.50
|[[File:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 3 || 0.00
|-
|-
|[[Image:Io11.png]] || OnTimer || F1_DoorBranch_&i || SetValueTest || 1 || 1.50
|[[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'''
'''ClassInfo'''
Line 337: Line 2,074:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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]] || OnTrigger || Close_AllDoors_&i || Trigger || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound ||  || 0.00
|[[File:Io11.png]] || OnTrigger || F4_TestRelay_&i || Trigger ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F1_SetAllCompare_&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
|}
|}


----
----
Line 359: Line 2,107:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || F4_Branch_Button_&i || SetValueTest || 1 || 0.01
|-
|-
|[[Image:Io11.png]] || OnTrigger || Elevator_Sound_F1_Door_&i || PlaySound || || 0.00
|[[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'''
'''ClassInfo'''
Line 379: Line 2,212:
::''[[logic_timer]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F1_DoorTimerOpen_&i''
{| 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.


:Start Disabled
'''ClassInfo'''
::''Yes''


:Refire Interval
:Class
::''3''
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''Elevator_OpenDoor_F4_&i''
|}


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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 || 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'''
'''ClassInfo'''
Line 403: Line 2,332:
::''[[logic_timer]]''
::''[[logic_timer]]''


:Name
'''Keyvalues'''
::''F1_DoorTimerClose_&i''
{| 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
|}
 
----


:Start Disabled
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).
::''Yes''


:Refire Interval
'''ClassInfo'''
::''3''
 
:Class
::''[[logic_relay]]''
 
'''Keyvalues'''
{| class=standard-table
!| Property Name || Value
|-
|Name || ''F4_SetAllCompare_&i''
|}


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTimer || Elevator_CloseDoor_F1_&i || Trigger || || 0.00
|[[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'''
'''ClassInfo'''
Line 427: Line 2,518:
::''[[logic_branch]]''
::''[[logic_branch]]''


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


:Initial value
'''Outputs'''
::''0''
 
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'''
'''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
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
!| Property Name || Value
|-
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Enable ||  || 0.00
|Name || ''F5_Branch_Listener_&i''
|-
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerOpen_&i || Disable ||  || 0.00
|Logic Branch 01 || ''F5_Branch_Button_&i''
|-
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Enable || || 0.00
|Logic Branch 02 || ''F5_Branch_Trigger_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerClose_&i || Disable ||  || 0.00
|[[File:Io11.png]] || OnAllFalse || F5_Timer_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || FireTimer ||  || 0.10
|[[File:Io11.png]] || OnAllTrue || F5_Timer_&i || Enable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || FireTimer ||  || 0.10
|[[File:Io11.png]] || OnMixed || F5_Timer_&i || Disable ||  || 0.00
|-
|-
|[[Image:Io11.png]] || OnFalse || F1_DoorTimerClose_&i || Disable ||  || 1.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''
|-
|-
|[[Image:Io11.png]] || OnTrue || F1_DoorTimerOpen_&i || Disable ||  || 1.00
|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'''
'''ClassInfo'''
Line 462: Line 2,635:
::''[[logic_relay]]''
::''[[logic_relay]]''


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


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


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this 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]] || OnTrigger || Elevator_F5_Door_&i || SetAnimation || open || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F2_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_Sound_F5_Door_&i || PlaySound || || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F3_Compare_&i || SetValue || 1 || 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
|-
|-
|[[Image:Io11.png]] || OnTrigger || F4_Compare_&i || SetValue || 1 || 0.00
|Name || ''Elevator_CloseDoor_F5_&i''
|}
 
'''Outputs'''
 
{| class=standard-table
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnTrigger || F5_Compare_&i || SetValue || 1 || 0.00
|[[File:Io11.png]] || OnTrigger || Elevator_F5_Door_&i || SetAnimation || close || 0.00
|-
|-
|[[Image:Io11.png]] || OnTrigger || F6_Compare_&i || SetValue || 1 || 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
|}
|}


Line 490: Line 2,817:
::''[[logic_compare]]''
::''[[logic_compare]]''


:Name
'''Keyvalues'''
::''F1_Compare_&i''
{| 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]]''


:Compare value
'''Keyvalues'''
::''1''
{| 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'''
'''Outputs'''


{| class=standard-table
{| class=standard-table
! || Output named || Target entities || Via this input || Parameter || Delay
! || My Output || Target Entity || Target Input|| Parameter || Delay
|-
|-
|[[Image:Io11.png]] || OnEqualTo || F1_DoorBranch_&i || SetValueTest || 0 || 0.00
|[[File:Io11.png]] || OnEqualTo || F6_DoorBranch_&i || SetValueTest || 0 || 0.00
|}
|}
[[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