Half-Life: Alyx Workshop Tools/Level Design/Keycard Readers
You can upload screenshots at Special:Upload. For help, see the Help:Images.
Introduction
This tutorial will teach you to create keycard readers that unlock doors for Half Life: Alyx. These scanners are a lot more flexible than just being tied to keycards and opening doors, as you could use any physics object with any destination you wish that perform specific actions depending on the entity.
Prefab Download: [1]
Requirements
At the time of this writing this requires you to have the .fgd dump provided by Gvarados, which can be found on the repo https://github.com/gvarados1/Half-Life-Alyx-FGD
Setup
Keycard
Insert a prop_physics entity and select the keycard model and give it a name. You can change its color under object properties. For the sake of this demonstration we're using the keycard, but if you want to use a different physics prop then use that instead.
Setting up your Door
Insert a prop_door_rotating_physics entity, select a door model and give this a name. Set its Spawn Position to Closed. Under spawnflags select Starts Locked and Use closes.
Creating a Filter
Under entities create a filter_activator_name and give this a name. Ensure filter mode has "Allow entities that match criteria" selected and Filter Name has your keycard selected.
Adding Trigger
Create a mesh, under entity class give it trigger_multiple and give this a name. Under spawnflags check Physics Objects and uncheck Clients. For the example of a keycard scanner, this will be placed in the scanning area of the scanner prop.
Keycard Reader
For this demonstration we'll place a keycard reader prop_dynamic. This in theory adds nothing more than input for the player and will give feedback to them with a green light after successful scan of a keycard meeting the trigger.
Filter Outputs
Add two OnPass outputs with your filter_activator_name. On the first one select your target entity to be the door, and for target input select Unlock. For the second OnPass output, select the Keycard reader, for its target input select Skin and for Parameter select 1.
Trigger Outputs
Add an OnStartTouch output and for its target entity select your filter. For target input select TestActivator.