Alternative Multi-Stop Elevator: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 12: Line 12:




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


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

Revision as of 12:37, 4 February 2012

Under construction.png
This page is actively undergoing a major edit.
As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.

The person who added this notice will be listed in its edit history should you wish to contact them.

Note.pngNote: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


Construction

This elevator's surrounding construction fallows simililar to the MultiStop elevator tutorial, however, the elevator itself is constructed from a func_movelinear. Therefore, you will not need any pathtracks. This allows the elevator to stop exactly at each point rather than slightly above or below the intended destination.


Brush Entities

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

ClassInfo

Class
func_movelinear
Name
Elevator_&i
Move Direction (Pitch Yaw Roll)
-90 0 0
Move Distance
160
Note.pngNote:To figure the move distance, add the height of the wall height plus floor thickness (The walls were 128 tall, floors were 32 thick)
Block Damage
2000
Note.pngNote:Necessary to prevent the elevator from getting jammed
Sound played when the brush starts moving
(Pick A Sound)
Sound played when the brush stops moving
(Pick A Sound)

Outputs

NONE


Note.pngNote:Elevator_Weight_&i is not absolutly necessary but it is more for visuals

Place this at the top most floor

ClassInfo

Class
func_movelinear
Name
Elevator_Weight_&i
Move Direction (Pitch Yaw Roll)
90 0 0
Move Distance
160
Note.pngNote:To figure the move distance, add the height of the wall height plus floor thickness (The walls were 128 tall, floors were 32 thick)
Block Damage
2000
Note.pngNote:Necessary to prevent the elevator from getting jammed
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
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

☐ Toggle

☐ Touch Activates

☐ Damage Activates

☑ Use Activates

☐ Starts Locked

☐ Sparks


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

ClassInfo

Class
func_button
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

☐ Toggle

☐ Touch Activates

☐ Damage Activates

☑ Use Activates

☐ Starts Locked

☐ Sparks


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
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

☐ Clients

☐ NPCs

☐ Pushables

☐ Physics Objects

☐ Only player ally NPCs

☐ Only clients in vehicles

☑ Everything (not including physics debris)

☐ Only clients *not* in vehicles

☐ Physics debris

☐ Only NPCs in vehicles (respects player ally flag)

Functional Relays

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


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

ClassInfo

Class
logic_relay
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
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 effect the doors on all floors.

ClassInfo

Class
logic_relay
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
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
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 Spacific Functions

Increment F1 in a entity name to the next intended floor (That includes the commands as well)

EX. (F1_TestRelay_&i to F2_TestRelay_&i)
Note.pngNote:For Every floor you intend to add, all of these entities need to be present, in that floor, for the elevator to operate correctly

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

ClassInfo

Class
logic_relay
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
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

ClassInfo

Class
logic_branch
Name
F1_Branch_Button_&i
Initial value
0

Outputs

NONE


ClassInfo

Class
logic_branch
Name
F1_Branch_Trigger_&i
Initial value
0

Outputs

NONE


ClassInfo

Class
logic_branch_listener
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

ClassInfo

Class
logic_timer
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

ClassInfo

Class
logic_relay
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

ClassInfo

Class
logic_relay
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

ClassInfo

Class
logic_timer
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

---

ClassInfo

Class
logic_timer
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

ClassInfo

Class
logic_branch
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

ClassInfo

Class
logic_relay
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

ClassInfo

Class
logic_compare
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