Security Camera in Portal 2.
npc_security_camera
is a point entity available in Portal series. It spawns a security camera.
Note:npc_security_camera will not collide with the player or physical entities while alive.
Keyvalues
- Look at co-op player's pings instead (LookAtPlayerPings) <boolean> (in all games since )
- Instead of tracking the player, looks at the location of where a playing in co-op mode has placed his look marker. (co-op mode only)
- Team Pings to Observe (TeamToLookAt) <choices> (in all games since )
- Which team's pings to look at.
- 1 : Both
- 2 : Orange
- 3 : Blue
- Which team to follow (TeamPlayerToLookAt) <choices> (in all games since )
- Which team the camera should follow.
- 0 : Both
- 2 : Orange
- 3 : Blue
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
or target
).
Also displayed in Hammer's 2D views and Entity Report.
- Pitch Yaw Roll (Y Z X) (angles) <angle>
- This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Studiomodel:
- Skin (skin) <integer>
- Some models have multiple skins. This value selects from the index, starting with 0.
Tip:Hammer's model browser automatically updates this value if you use it to view different skins.
- Model Scale (modelscale) <float> (in all games since ) (also in )
- A multiplier for the size of the model.
Tip:In Hammer++ with a prop selected in 3D view, hold Ctrl and scroll the mouse wheel to change the modelscale in increments of 0.5. Holding ⇧ Shift will scale it in smaller increments of 0.05.
- Bodygroup (body / SetBodyGroup) <integer>
- Some models have multiple submodels. This value selects from the index, starting with 0. May be overridden by animations and/or game code.
Note:If both body
and SetBodyGroup
are present (even if set to 0), body
will be prioritized.
- Lighting Origin (lightingorigin) <targetname>
- Select an entity (not info_lighting!) from which to sample lighting instead of the entity's origin or $illumposition.
Shadow:
- Disable Shadows (disableshadows) <boolean>
- Prevents the entity from creating cheap render-to-texture shadows, or lightmap shadows if the entity is a prop_static. Does not affect shadow mapping.
- Disable Receiving Shadows (disablereceiveshadows) <boolean>
- Prevent the entity from receiving dynamic shadows on itself.
- Shadow Cast Distance (shadowcastdist) <integer> !FGD
- Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity.
- Disable Shadow Depth (disableshadowdepth) <boolean> (in all games since )
- Used to disable rendering into shadow depth (for projected textures) for this entity.
- Disable flashlight (disableflashlight) <boolean> (in all games since )
- Used to disable projected texture lighting and shadows on this entity.
- Projected Texture Cache (shadowdepthnocache) <integer choices> (in all games since )
- Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.
Choices
- 0 : Default
- 1 : No cache - render every frame
- 2 : Cache it - render only once
|
- Render in Fast Reflections (drawinfastreflection) <boolean> (in all games since )
- If enabled, this entity will render in fast water reflections (i.e. when a water material specifies
$reflectonlymarkedentities
) and in the world impostor pass.
BaseNPC keyvalues
CBaseCombatCharacter:
- Relationship (Relationship) <string> !FGD
- <string|targetname or classname> <string|disposition> <int|rank>
- Changes whether this entity likes or dislikes certain other things. Used like the ai_relationship entity, with this entity as the subject.
- Values for
disposition are:
D_HT : Hate
D_FR : Fear
D_LI : Like
D_NU : Neutral
- Physics Impact Damage Scale (physdamagescale) <float>
- Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics.
CAI_BaseNPC:
- Target Path Corner (target) <targetname>
- The path_corner that this NPC will move to after spawning.
- Squad Name (squadname) <string>
- NPCs that are in the same squad (i.e., have matching squad names) will share information about enemies and will take turns attacking and covering each other.
- Hint Group (hintgroup) <string>
- Hint groups are used by NPCs to restrict their hint-node searching to a subset of the map's hint nodes. Only hint nodes with matching hint group names will be considered by this NPC.
- Hint Limit Nav (hintlimiting) <boolean>
- Limits NPC to using specified hint group for navigation requests. Does not limit local navigation.
- Sleep State (sleepstate) <choices>
- Holds the NPC in stasis until specified condition. See also Wake Radius and Wake Squad.
- 0: None
- 1: Waiting for threat
- 2: Waiting for PVS
- 3: Waiting for input, ignore PVS
- 4: Auto PVS
- 5: Auto PVS after PVS
- Wake Radius (wakeradius) <float>
- Auto-wake if player comes within this distance.
- Wake Squad (wakesquad) <boolean>
- Wake all of the NPCs squadmates if the NPC is woken.
- Enemy Filter (enemyfilter) <targetname>
- Filter entity to test targets against.
- Ignore unseen enemies (ignoreunseenenemies) <boolean>
- Prefers visible enemies, regardless of distance or relationship priority.
DamageFilter:
- Damage Filter (damagefilter) <targetname>
- Name of the filter_damage_type entity that controls which entities can damage us.
|
Flags
Autostart : [32]
Inputs
- Toggle
- Toggle between ignoring and watching players.
- Enable
- Start following players or pings.
- Disable
- Ignore all players and pings.
- Ragdoll
- Knock the camera off the wall and make actor with targetname
Aperture_AI
react. Note:Will not work if camera is disabled.
- LookAtBlue (in all games since )
- Make the camera only follow ATLAS or their pings.
- LookAtOrange (in all games since )
- Make the camera only follow P-Body or their pings.
- LookAllTeams (in all games since )
- Make the camera follow all players or their pings.
BaseNPC inputs
CAI_BaseNPC:
- ActivateSpeedModifier !FGD
- DisableSpeedModifier !FGD
- Break
- Smash into pieces. If this is not possible, disappear.
- BecomeRagdoll (in all games since )
- Remove itself and instantly become a ragdoll with zero force (just go limp). OnDeath, etc. outputs will NOT be fired.
- ForceInteractionWithNPC <string> <string> (in all games since )
- Force the NPC to use a dynamic interaction with another NPC. Syntax is <targetname> <dynamic interaction>.
- ForgetEntity <targetname>
- Clears out the NPC's knowledge of a named entity.
- UpdateEnemyMemory (in all games since )
- Update (or create) this NPC's memory of of the given entity.
- GagEnable
- GagDisable
- Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.
- HolsterWeapon (in all games since )
- UnholsterWeapon (in all games since )
- Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.
- HolsterAndDestroyWeapon (in all games since )
- Same as
HolsterWeapon , except the weapon is destroyed once it has been concealed.
- IgnoreDangerSounds <float>
- Ignore danger sounds for the specified number of seconds.
- InsideTransition !FGD
- OutsideTransition !FGD
- SetBodyGroup <integer>
- HACK: Sets this NPC's body group (from 0–n).
- SetEnemyFilter <string>
- SetHealth <integer>
- Set the NPC's health.
- SetMaxLookDistance <float> (only in )
- Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.
- SetRelationship <string|targetname or classname> <string|disposition> <int|rank>
- Changes whether this NPC likes or dislikes certain others. Used like the ai_relationship entity, with this NPC as the subject.
- Values for
disposition are:
D_HT : Hate
D_FR : Fear
D_LI : Like
D_NU : Neutral
- SetSquad <string>
- Change the name of this NPC's squad. Leaving the parameter blank will remove the NPC from any existing squad.
- StartScripting
- StopScripting
- Enter/exit scripting state, where NPCs ignore a variety of stimulus that would make them break out of their scripts. They ignore danger sounds, ignore +Use, don't idle speak or respond to other NPCs' idle speech, and so on.
- Wake
- Wakes up the NPC if it is sleeping.
CBaseCombatCharacter:
- KilledNPC !FGD
- Tells the entity it killed something. Despite the name, this can include a player. This input will be automatically sent by the victim when they die.
- physdamagescale <float>
- Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics.
DamageFilter:
- SetDamageFilter <string>
- Sets the entity to use as damage filter. Pass in an empty string (no parameter) to clear the damage filter.
|
Outputs
- OnDeploy
- Camera is becoming active and dangerous.
- OnRetire
- Camera is becoming inactive and harmless.
- OnTaunted (in all games since )
- This output will fire when any co-op player STARTS taunting the camera.
- OnTauntedBlue (in all games since )
- This output will fire when a co-op player on the BLUE team STARTS taunting the camera.
- OnTauntedOrange (in all games since )
- This output will fire when a co-op player on the ORANGE team STARTS taunting the camera.
- OnTauntedFinished (in all games since )
- This output will fire when any co-op player FINISHES taunting the camera.
- OnTauntedBlueFinished (in all games since )
- This output will fire when a co-op player on the BLUE team FINISHES taunting the camera.
- OnTauntedOrangeFinished (in all games since )
- This output will fire when a co-op player on the ORANGE team FINISHES taunting the camera.
BaseNPC Outputs
- OnDamaged
- Fired when this NPC takes damage (!activator is the damage inflictor).
- OnDamagedByPlayer
- Fired when this NPC is hurt by a player (!activator is the attacker or vehicle driver [if friendly fire]).
- OnDamagedByPlayerSquad
- Fired when this NPC is hurt by a player OR by one of the player's squadmates (!activator is the attacker or vehicle driver [if friendly fire]).
- OnDeath
- Fired when this NPC is killed (!activator is the killer).
- OnDenyCommanderUse
- Fired when this NPC has refused to join the player's squad.
- OnForcedInteractionAborted
- Fired when the NPC aborts a forced interaction for some reason (target NPC died, couldn't be pathed to, etc.).
- OnForcedInteractionStarted
- Fired when the NPC starts a forced interaction.
- OnForcedInteractionFinished
- "NPCs in actbusies can no longer perform dynamic interactions."
Todo: What does this mean?
- OnHalfHealth
- Fired when this NPC reaches half of its maximum health.
- OnHearCombat
- Fired when this NPC hears combat sounds.
- OnHearPlayer
- Fired when this NPC hears the player.
- OnHearWorld
- Fired when this NPC hears a sound (other than combat or the player).
- OnFoundEnemy <targetname>
- Fired when this NPC establishes line of sight to its enemy.
- OnLostEnemy
- Fired when this NPC loses its enemy. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.
- OnLostEnemyLOS
- Fired when this NPC loses line of sight to its enemy.
- OnFoundPlayer <targetname>
- Fired when this NPC establishes line of sight to its enemy, and that enemy is a player.
- OnLostPlayer
- Fired when this NPC loses its enemy, and that enemy was a player. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.
- OnLostPlayerLOS
- Fired when this NPC loses line of sight to its enemy, and that enemy is a player.
- OnSleep
- Fired when this NPC enters a sleep state.
- OnWake
- Fired when this NPC comes out of a sleep state.
|