This article's documentation is for Source 2. Click here for more information.

info_hlvr_holo_hacking_plug

From Valve Developer Community
Jump to navigation Jump to search

info_hlvr_holo_hacking_plug is a point entity available in Half-Life: Alyx Half-Life: Alyx.

Info hlvr holo hacking plug.jpg

Entity description

The info_hlvr_holo_hacking_plug is the starting point of a hologram puzzle. When a player interacts with this item using the multi-tool it can cause a simple activation to occur or more commonly can be used to create small puzzles of various types. It often has an associated info_hlvr_holo_hacking_spawn_target which is used to ensure the puzzles created will be spawned in an area the player has full access to.

Properties

Source 2 Transform:

Origin (origin) <coordinates>
The world space origin of the entity.
Angles (angles) <angles>
The pitch, yaw, roll orientation of the entity.
Scale (scales) <vector>
The x, y, z scales of the entity. Not all entities can use this.
Transform Locked (transform locked) <boolean>
Lock the transform at its current value, preveting the transform of the node from being modified.
Force Hidden (force hidden) <boolean>
Visually hides the entity from the viewports. The Outliner pane will still list hidden entities.
Editor Only (editor only) <boolean>
Entity is only displayed in Hammer and will not appear in game.
Name ([todo internal name (i)]) <string>
The name that other entities refer to this entity by.
Misc Entity Scripts ([todo internal name (i)]) <string>
Name(s) of script files that are executed after all entities have spawned.
Source 2 Hierarchy:
Parent (parentname) <targetname>
Specifies a movement parent. An entity will maintain its initial offset from its parent.
Parent Model Bone/Attachment Name (parentAttachmentName) <string>
The name of the bone or attachment to attach to on the entity's parent in the movement hierarchy. Use !bonemerge to use bone-merge style attachment.
Model Attachment position offset (local.origin) <coordinates>
Offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Model Attachment angular offset (local.angles) <angles>
Angular offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Model Attachment scale (local.scales) <vector>
Scale in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Use Model Attachment Offset (useLocalOffset) <boolean>
Whether to respect the specified local offset when doing the initial hierarchical attachment to its parent.
Start Disabled ([todo internal name (i)]) <boolean>
Self Explanatory
Puzzle Spawn Target ([todo internal name (i)]) <string>
targets an associated info_hlvr_holo_hacking_spawn_target
PuzzleType ([todo internal name (i)]) <choices>
The type of hacking puzzle for this plug
  • 0: Sphere trace (default)
  • 1: Point search
  • 2: Core search (Non-Functional)
  • 3: Rod pull (No difficulty parameters)
  • 4: Point match
  • 5: Simple Activate
  • 6: Point drag
    Warning.pngWarning:This puzzle will crash if used outside of a crafting station port
  • 7: Toner interact
Intro Variation ([todo internal name (i)]) <integer>
The variation of the intro animation to use. Set to 1 to override the default VFX of various combine props that appears. (0: Default)
Hack Difficulty Name ([todo internal name (i)]) <string>
The name for this hack that matches the difficulty values specified in holo_hacking_difficulty.txt.
Note.pngNote:See List of Half-Life: Alyx Holo Hacking Difficulties
Start Hacked ([todo internal name (i)]) <boolean>
The plug will start in a state where it has already been hacked.

Hack Types

Type Image Description
Sphere Trace HLA SDK Holo Hacking Puzzle Img2.png The player must connect two blue points together by moving one or both, while avoiding red dots. Difficulty determines how many times it must be done, the speed of the red dots and the length of the trails they leave behind.
Point Search HLA SDK Holo Hacking Puzzle Img3.png The player must move a central core such that the lasers leading to the core also pass through several points arranged around an area. Difficulty determines the number of connection points and cores needed to align.
Point Match HLA SDK Holo Hacking Puzzle Img4.png The player must connect colored pairs of nodes by memory, while also contending with a dividing barrier. Difficulty determines the number of pairs and allowed failures.
Rod Pull HLA SDK Holo Hacking Puzzle Img5.png The player must rotate a wedge such that it passes through a small opening in three partial circles. Difficulty has not been implemented on this puzzle. The basic puzzle allows for collisions by adding additional circles to the end of the rod.
Point Drag Holo hack pointdrag.jpg The Player must drag a point through several circles while a "fuse" burns down along the same path. Difficulty will reduce the visibility of future circles and increase the fuse speed.
Simple Activate / Toner interact Holo hack basicinteract.jpg No puzzle interaction. Basically a variation of a button for electronics.


Outputs

OnKilled
Fire when the entity is killed and removed from the game.
OnUser1
Fired in response to FireUser1 input
OnUser2
Fired in response to FireUser2 input
OnUser3
Fired in response to FireUser3 input
OnUser4
Fired in response to FireUser4 input
OnHackStarted
Fires when the hack has been started.
OnHackStopped
Fires when the hack has been stopped.
OnHackSuccess
Fires when the hack has been successfully completed.
OnHackFailed
Fires when the hack has failed.
OnHackSuccessAnimationComplete
Fires when the hack has been successfully completed and the hacking plug has returned back to its idle position.
OnPuzzleCompleted
Fires as soon as the puzzle completes. The hack is still active at this point and has yet to play its outro.
OnPuzzleSuccess
Fires as soon as the puzzle completes. The hack is still active at this point and has yet to play its outro.
OnPuzzleFailed
Fires as soon as the puzzle completes. The hack is still active at this point and has yet to play its outro.

Inputs

AlyxTargetName:
RunScriptFile
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.


RunScriptCode
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.


CallScriptFunction
Execute a VScript function in the scope of the receiving entity.


CallPrivateScriptFunction
Execute a VScript function from this entity's private script scope


CallGlobalScriptFunction
Execute a VScript function from the global script scope


Kill
Removes this entity from the world.


KillHierarchy
Removes this entity and its children from the world.
Note.pngNote:Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.


AddOutput <string>
Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format: <key> <value>
I/O Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>


FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
SetParent
Changes the entity's parent in the movement hierarchy
SetParentAttachment
Changes this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
SetParentAttachmentMaintainOffset
Changes this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached.
ClearParent
Removes this entity from the movement hierarchy, leaving it free to move independently.
Enable
Enable this entity
Disable
Disable this entity
BeginHack
Begins the hack.
EndHack
Ends the hack.

See also