nyuuzyou/wikis huggingface dataset:
Player Solidity

Player collisions aren't that simple because there are multiple systems for them.
There are three systems that interact with player collisions:
Gamemovement - the player sweeps a box through the world, hitting things that are solid. This is where the player's movement happens. If you want to modify which things impede the player's movement, you do it in gamemovement.
Player's solid flags / solid type / collision property - Other entities also sweep a box through the world like the player does. These flags determine whether the player is solid to them (along with those entities' trace filters and contents masks). This will determine whether NPCs bump into the player, etc.
Vphysics object - this is only used to control collisions between the player and entities that are MOVETYPE_VPHYSICS. In HL2 (this is not true for all of the multiplayer games, so it depends on which set of rules you are using) the player is represented by a separate physics object. After gamemovement determines where the player would like to go the physics simulator runs and tries to move this proxy/shadow object to that location. If it succeeds then nothing changes. Otherwise if it hits some simulated object along the way the player code may decide to to the results of the physics simulation instead of gamemovement.
Information c/o Jay Stelly
Player Squads

Player Squads consist of a number of player-friendly NPCs that can be commanded, grouped and assigned objectives.
== Controlling a squad ==
The player can have up to 4 members in a squad. However, plot-critical allies (e.g. Alyx) are excluded from this number, so essentially you can have 4+ NPCs under your command.
Also, note the small bar to the lower left of the screen. This bar represents how many members are left in your Squad, and if any are medics. Medics will have a cross symbol above their icon.
== Commanding a squad ==
You can order members of your squad to move out by pressing the C key, pointing out the next location with your crosshair. To regroup members of the squad to your current position, double press the C key. Usually, NPCs can't be commanded too far from the player.
== See also ==
* NPC
Player Teleport

Add this to sdk_player.cpp, bind a key to 'teleport', and enjoy!
CON_COMMAND( teleport, "Teleportin Time") {
	ToSDKPlayer(UTIL_GetCommandClient())->TryTeleport();
}
void CSDKPlayer::TryTeleport() {
		// set up the vectors and traceline
		trace_t tr;
		Vector	vecStart, vecStop, vecDir;
		// get the angles
		AngleVectors( this->EyeAngles(), &vecDir );
		// get the vectors
		vecStart = this->EyePosition();
		vecStop = vecStart + vecDir * MAX_TRACE_LENGTH;
		// do the traceline
		UTIL_TraceLine( vecStart, vecStop, MASK_ALL, this, COLLISION_GROUP_NONE, &tr );
		// Did we hit the floor?
		if (tr.DidHitWorld()) {
			Vector origin = tr.endpos;
			bool teleOK = false;
			// Is there room for a player?
			for (int i = 0; i < 18 &&! teleOK; i++ ) {
				UTIL_TraceHull( origin, origin, 
					VEC_HULL_MIN, VEC_HULL_MAX, MASK_PLAYERSOLID, this, COLLISION_GROUP_PLAYER_MOVEMENT, &tr );
				if ( tr.startsolid ) 
					origin.z += 1.0f;
				else 
					teleOK = true;
			}
			if (teleOK)
				this->SetAbsOrigin(origin);
			
		}
}
Note from Ferdynater:
Remember to define it in sdk_player.h
You can define it under: 	virtual int FlashlightIsOn( void );
(add: 	virtual void TryTeleport( void );)
Category:Snippets
Player info t

player_info_t is an engine interface struct that is filled out by calling engine->GetPlayerInfo(). It seems to become active shortly, but not immediately, after a player connects.
It is designed for access by the client, but can be used serverside too once you copy its definition from public/cdll_int.h.
== Members ==
; char name
: Game-chosen name as it appears on the scoreboard. Since the Orange Box, always the user's Friends name.
; int userID
: Player's server-specific Userid
; char guid
: Player's SteamID
; char friendsName
: Friends name. Now enforced as game name.
; bool fakeplayer
: True is player is a bot
; bool ishltv
: True is player is a HLTV proxy
; CRC32_t customFiles
: CRC32 hash of the player's custom files. Custom file 0 refers to the player's spray decal, 1 the player's jingle sound, and the rest are unused.
; unsigned char filesDownloaded
: The number of files this client has downloaded 
== See also ==
* IPlayerInfo
* INetChannelInfo
Category:InterfacesCategory:Structures
Player weaponstrip (GoldSrc)

It will take away(strip) all of the player's weapons. The only times the player_weaponstrip entity is used in Half-Life is in the chapter Apprehension, and at the end of the chapter Nihilanth; in Opposing Force, at the very end after killing the final boss, and in Blue Shift, after entering the final teleporter to escape Black Mesa. The player_weaponstrip, as its name implies, only strips the player's weapons, any other items, primarily the player's HEV Suit, will not be removed.
==Ammo HUD Bug Fix==
A small bug that occurs in the official game, as well as the expansions and many mods, is that the ammo information on your HUD does not get removed, only changing the ammo pool to 0 and leaving you with the number of bullets that were in your magazine before the strip. The following fix can be applied if you work on a GoldSrc modification using the Half-Life SDK provided by Valve on Github.
Open Ammo.cpp and find the following:
if ( iId < 1 )
	{
		SetCrosshair(0, nullrc, 0, 0, 0);
		return 0;
}
Add the following line of code:
if ( iId < 1 )
	{
		SetCrosshair(0, nullrc, 0, 0, 0);
		m_pWeapon = NULL; //Remove Ammo HUD if weapons are removed
		return 0;
}
Scroll a little lower and find this block of code:
if ( gHUD.m_iFOV >= 90 )
	{ // normal crosshairs
		if (fOnTarget && m_pWeapon->hAutoaim)
			SetCrosshair(m_pWeapon->hAutoaim, m_pWeapon->rcAutoaim, 255, 255, 255);
		else
			SetCrosshair(m_pWeapon->hCrosshair, m_pWeapon->rcCrosshair, 255, 255, 255);
	}
	else
	{ // zoomed crosshairs
		if (fOnTarget && m_pWeapon->hZoomedAutoaim)
			SetCrosshair(m_pWeapon->hZoomedAutoaim, m_pWeapon->rcZoomedAutoaim, 255, 255, 255);
		else
			SetCrosshair(m_pWeapon->hZoomedCrosshair, m_pWeapon->rcZoomedCrosshair, 255, 255, 255);
}
Replace that with the following:
 if ( gHUD.m_iHideHUDDisplay & ( HIDEHUD_CUSTOMCROSSHAIR ))
 {
 WEAPON *ccWeapon = gWR.GetWeapon(7);
 SetCrosshair(ccWeapon->hCrosshair, ccWeapon->rcCrosshair, 255, 255, 255);
 }
 else if ( !(gHUD.m_iHideHUDDisplay & ( HIDEHUD_WEAPONS | HIDEHUD_ALL )) )
 {
 if ( gHUD.m_iFOV >= 90 )
 { // normal crosshairs
 if (fOnTarget && m_pWeapon->hAutoaim)
 SetCrosshair(m_pWeapon->hAutoaim, m_pWeapon->rcAutoaim, 255, 255, 255);
 else
 SetCrosshair(m_pWeapon->hCrosshair, m_pWeapon->rcCrosshair, 255, 255, 255);
 }
 else
 { // zoomed crosshairs
 if (fOnTarget && m_pWeapon->hZoomedAutoaim)
 SetCrosshair(m_pWeapon->hZoomedAutoaim, m_pWeapon->rcZoomedAutoaim, 255, 255, 255);
 else
 SetCrosshair(m_pWeapon->hZoomedCrosshair, m_pWeapon->rcZoomedCrosshair, 255, 255, 255);
 
 }
 }
If you try to compile your code at this point, you will only see an error. That's because we added a new identifier calledHIDEHUD_CUSTOMCROSSHAIR, but this is undefined! Opencdll_dll.h and add the following under#define 	HIDEHUD_HEALTH		( 1<<3 ):
#define HIDEHUD_CUSTOMCROSSHAIR ( 1<<4 )
Now compile and you are ready to go!
==Keyvalues==
Category:Half-Life entities
Category:Level Design
Playtest manager

playtest_manager is an unimplemented entity found in the PeTI Workshop instance (global_pti_ents.vmf).
Based on the entity's name and the inputs used in the instance, we can guess this entity may have been used for recording demos of the player while they played workshop maps. After the player finishes the map, these could have potentially been sent to the map creator as playtest data (possibly through other inputs, or automatically).
== Usage in global_pti_ents.vmf ==
In the instance, this entity has targetname @playtest and has three inputs:
 logic_auto : OnMapSpawn : StartRecording
 logic_auto : OnMapLoad : StartRecording
 logic_relay(@relay_pti_level_end) : OnTrigger : StopRecording
The relay @relay_pti_level_end is triggered by a func_instance_io_proxy
== Keyvalues ==
== Inputs ==
== FGD Code ==
Sourced from TeamSpen's Hammer Addons FGD's, and from it's usage in the PeTI Workshop instance.
 @PointClass = playtest_manager : 
 	"Marker (?) entity found in the PeTI Workshop instance. Isn't implemented in the engine."
 [
 	targetname(target_source) : "Name" : : "The name that other entities refer to this entity by."
 		
 	// Inputs
 	input StartRecording(void) : "Start recording playtest"
 	input StopRecording(void) : "Stop recording playtest"
 ]
Category:Obsolete Entities
Point Insertion

Point Insertion is the first chapter of . Here, the player gains control of protagonist Gordon Freeman, learning the basic control scheme in the process.
== Introduction ==
A train hurdles towards City 17, with Gordon Freeman onboard. As he steps out, Dr. Breen begins speaking from a giant holograhic screen:
:"Welcome. Welcome to City 17. You have chosen, or been chosen, to relocate to one of our finest remaining urban centers. I thought so much of City 17 that I elected to establish…my administration here, in the Citadel so thoughtfully provided by…our benefactors. I have been proud to call City 17 my home. And so, whether you are here to stay, or passing through on your way to parts unknown…welcome to City 17. It's safer here."
Half-Life 2 has begun.
== Environment ==
In any area of City 17 the buildings would be diliapidated and run-down, and litter would be everywhere. It can be any time of day in your map, but a Citadel in the skybox is imperative!
== NPC's ==
Metropolice and citizens are a must for larger streets and buildings, unless they are somehow cut off or abandoned. Remember to make everything fit your purposes, yet still seem logical.
== Trivia ==
Payphones with cut cords can be found scattered around the train station and in the ration building.
Category:Regions & Atmospheres
Category:Half-Life Continuity
Point Of View

==Story==
 You have been Dr. Gordon Freeman, Corporal Adrian Shepard, Barney Calhoun, Dr. Gina Cross, and Dr. Colette Green.
And what did you did during all that time? You killed all those poor Xen aliens!
Have you ever thought about their Point of View?
POV - Point of View is a single player Half-Life mod where you will play as a Alien Slave named Xonxt.
You are an Alien Slave scientist working in a experiment, the XTBS (Xen Techno Biologic Sphere).
The story unfolds as you play the game. It is told through Xonxt's journal entries, using a popup text screen that pauses the game while the player reads it. You can read the entries or ignore them (an icon appears when a new entry is available).
Humans will try to kill you, xen forces will ignore or attack you and you will have to survive to all this. Friends will now be your enemies and enemies your friends now that you will play as a Alien Slave...
==Features==
Point Of View features:
*38 maps, all made by Davide 'DAV' Cintrão
*Amazing storyline, as you play the game the story is told to you through Xonxt's journal entries.
*A new training course: where you can learn to use the human technology
*Be back in the old areas from Black Mesa, Opposing Forces and Azure Sheep and play them from a different point of view
*See a lot of new areas you have never seen
*New and old Weapons, all Xen based (including the dual-hornet!)
*New Enemies
*New models, new animations for the old ones.
*New Sounds
*New Graphics 
== Media ==
Image:PointOfView_sc_01.jpg
Image:PointOfView_sc_02.jpg
Image:PointOfView_sc_03.jpg
Image:PointOfView_sc_04.jpg
Image:PointOfView_sc_05.jpg
== See also ==
* Azure Sheep
* DAVSub Source
== External links ==
* Point of View - the official website; includes download mirrors, additional media and a patch for full compatibility with Steam-based versions of Half-Life.
=== Reviews ===
* Hangar 16 - Gold award.
* Ten Four - Silver award.
* - Creativity award.
Category:Single Player Mods
Category:Half-Life series mods and fangames
Point camera

right | 300px It is a camera which outputs its view to the _rt_camera texture, which can be displayed using materials such as dev/dev_tvmonitor1a. The camera image will only update if a or the entity specified in an is on-screen. Since there is normally only one camera render texture, only one camera can be active at a time unless a mod increases the limit.
:
__TOC__
==Keyvalues==
==Flags==
== Inputs ==
Category:EntitiesCategory:Camera
Point changelevel

Used to make an easy, one-way map transition. If no landmarks are present in the map, the player will spawn at the info_player_start in the destination map.
However, if the current map contains an and the destination map contains an , the player's offset relative to the exit landmark will be applied relative to the entry landmark in the next map. Effectively, this makes the entity behave more like a . This will also cause all entities to transition over; to limit what entities this applies to, use a . In the Portal 2 campaign, this is positioned in such a way that no entities are ever inside it.
==Keyvalues==
==Inputs==
==Outputs==
== See also ==
* Level Transitions
* info_landmark
* trigger_changelevel
* trigger_transition
* point_changelevel 
* info_changelevel
Point clientcommand

It issues commands to the client console as if they were typed manually by the player. The client commands are sent as parameters of the Command input. Only one instance of the entity is ever needed in a map.
In multiplayer games, the commands are only executed on the Activator's client. If the activator was not a player, then it simply won't do anything (unless it's in commentary mode; then the command will be executed from the first player). If you require all players to execute the command, use the entity instead.
This command (in conjunction with and the config (cfg) file) used to allow a client to cheat on multiplayer servers through changing player names, execute client commands, and other things. On multiplayer servers, any command that DOES NOT HAVE the FCVAR_SERVER_CAN_EXECUTE flag set cannot be executed by this entity; any attempt will be reported and blocked.
== Keyvalues ==
== Inputs ==
== Usable ConVars/ConCommands in multiplayer ==
Following commands have "server_can_execute" flag.
=== ConCommands ===
=== ConVars ===
=== player class commands ===
Some commands are defined in player class and are completely hidden from auto complete. Such commands are also usable on clients connected to server via this entity
== See also ==
* Unlocking chapters in your mod
* 
*
Point combine ball launcher

== Entity description ==
This point entity launches combine balls from its origin.
 Note: this entity can be parented by manually adding the parentname keyvalue.
This entity is derived from func_combine_ball_spawner.
== Keyvalues ==
:* 1 : Combine Energy Ball 1
:* 2 : Combine Energy Ball 2
:* 3 : Combine Energy Ball 3
== Flags ==
* 1 : Attach bullseye
: Create my bullseye
* 2 : Ball/player collide
: Allow launched balls to collide with player
== Inputs ==
== Outputs ==
==See also==
*prop_combine_ball
Category:Half-Life 2: Episode One Entities
Point commentary node

The core entity used in the Commentary System. It appears as a floating speech bubble for the player, which can be interact with (Default: ) to play the commentary. This entity is typically placed with the Commentary Editor.
Unlike most entities, the point_commentary_node is often hand-edited into the commentary files, and as a result, there are some extra keys listed here that Hammer would normally fill in automatically for you.
To enable Commentary, the player must have cvar set to and the map must have a file in the same directory as the BSP while also having content inside the file to spawn the entity.
If a map with a point_commentary_node is being played in multiplayer only the first player to join will be considered the 'commentary player'. As such only their view will be ray traced to determine the active commentary node 
Although not explicitly stated, this entity may use fields from the RenderFields base class. The render options selected will affect the speech bubble model of the node.
__NOTOC__
== Keyvalues ==
== Inputs ==
== Outputs ==
==See also==
* Commentary System
* Commentary Editor
Category:Commentary System
Point commentary viewpoint

It's an entity automatically created by as part of the view-shifting feature. It appears while is scrolling and controls player's view.
point_commentary_viewpoint.jpg|thumb|550px|right|Example in ep2_outland_05.
point_commentary_viewpoint_spawned.jpg|thumb|550px|right|Shows its default model sprites/redglow1.vmt if created by console command.
==See also==
* Commentary System
* Commentary_Editor
Point devshot camera

right | 300px
 It is used by the -makedevshots system, which automatically takes screenshots at the position of every devshot camera in the level. 
__NOTOC__
==Basic Usage==
Place a point_devshot_camera entity in your map and give it a name, the name of the area it looks at is a good name. If you want you can make sure the angle and location are good by using spectate ingame and using getpos in the console to find your co-ordinates and angle. Adjust the FOV to match what you're using ingame if you wish and that's all the entity itself needs.
Next, open up your compile options and either in the input bar at the bottom of the normal mode add -makedevshots or in the $game_exe section of the expert mode add the same thing. Make sure you remove options such as -dev so that your screenshots don't have the console in them!
Once you have compiled your map the mod will load up and just let it be, it will load the map and take the screenshots automatically. The screenshots will be saved to <mod>/screenshots/<mapname>/<cameraname> as .tga files.
An example of what can be achieved with these from Team Fortress 2(Video broken.)
Devshot cameras can be loaded from a text file in the maps folder with the same name as the map, but with the extension *.txt, using standard keyvalue syntax. It's the same data as the entity keyvalues in hammer.
== Keyvalues ==
== Inputs ==
Category:Camera
Point dz weaponspawn

400px | thumb | right | point_dz_weaponspawn
== Entity Description ==
Acts as a spawn point for below specified survival entities. Trivially, this will also be a potential place that players land during warmup.
These should be scattered around the map.
There needs to be some distance between these otherwise they might fail to spawn.
=== Entities spawned by point_dz_weaponspawn ===
Entity 	Brief Description
dronegun 	Drone turret.
func_survival_c4_target 	Safe with money.
hostage_entity 	A hostage.
item_cash 	Stack of banknotes.
prop_ammo_box_generic 	Ammo box.
prop_loot_crate 	Can be various crates, utility, explosives, pistols, melees.
prop_metal_crate 	Metal crate with SMG weapons.
prop_money_crate 	Bag with money.
prop_weapon_upgrade_armor_helmet 	Armor and Helmet.
prop_weapon_upgrade_chute 	Parachute backpack.
prop_weapon_upgrade_contractkill 	Contract to kill a player that will reward $500.
prop_weapon_upgrade_tablet_droneintel	Tablet upgrade that shows drones and their trace.
prop_weapon_upgrade_tablet_highres 	Tablet upgrade that improves zone precision.
prop_weapon_upgrade_tablet_zoneintel 	Tablet upgrade that shows the next safe zone.
weapon_decoy 	Decoy grenade.
weapon_flashbang 	Flash grenade.
weapon_knife 	Knife.
weapon_molotov 	Molotov cocktail.
weapon_smokegrenade 	Smoke grenade.
== Keyvalues == 
*tagPreferLooseItem 1
: A loose item will spawn instead of a crate.
*tagPreferMelee 1
: A melee weapon/crate will spawn instead.
*tagBehindSteelDoor 1
: Used when combined with dz_door, more info about that here.
*tagOnRooftop 1
Point entity

__NOTOC__
Point Entities are entities created at a specific position point on the grid. Some require a model to be selected for them in order to function fully.
Brush entity - the other type of entity, that consists of a set of brushes.
===Logic entities===
These entities are invisible entities that affect the game, creating or adding to various environmental and game controlling systems, such as lighting, AI managers, math counters and choreography.
===Prop entities===
Prop Entities, available only in the Source SDK, are (usually) inanimate objects that use a model for their appearance and function. They can be static, dynamic, or physics. Some more specific props can even have functionality, such as a prop_door_rotating. Examples of prop entities include prop_detail, prop_dynamic and prop_ragdoll.
===NPC entities===
NPC entities, or "Non-Player Characters" entities, are computer controlled characters and creatures that can interact with the player(s) using their AI coding. NPCs generally fall into two categories, Friendly, NPCs that help, assist, or do not affect the player, and Hostile, NPCs that attack or negatively affect the player. Use ai_relationship to change this. 
== See also ==
* /Rendering related keyvalues and inputs
* Keyvalues / Inputs / Outputs available to all entities
*List of entities
*:Category:Point Entities
Category:Entities by type
Category:Source
Category:Source 2
Point flesh effect target

==Entity description==
Used to create flesh interior effects - i.e. seeing under the skin - in conjunction with the $flesh shader parameter. Ep2's Alyx model is already set up to work with it. In Episode 2 this entity is parented to a Vortigaunts claws with "SetParentAttachment".
==Keyvalues==
==Inputs==
==Outputs==
Category:Entities
Category:Half-Life 2: Episode Two Entities
Point laser target

==Entity description==
It provides a target for lasers to strike and will fire outputs when struck and unstruck. In this respect, it is functionally similar to both prop_laser_catcher and prop_laser_relay but does not provide its own model, sounds, or particle systems as they do. This makes it a useful entity for building custom laser catchers and relays.
== Keyvalues ==
== Inputs ==
== Outputs ==
Point message

Category:GUI Entities
 It displays a text message in the world, at its origin.
__NOTOC__
== Keyvalues ==
:
== Flags ==
== Inputs ==
 
== See also ==
* game_text - Displays a custom message directly on the player screen.
* game_text_tf - Displays a custom HUD message with icons on a specified team's screen.
* point_worldtext - A similar entity that displays a custom message in the world with far more flexibility.
* training_annotation - A similar entity that points to a specified location in the world.
* env_hudhint - Displays a custom HUD message. Commonly used to show key-binds. 
* env_message - Displays a pre-defined message on the players screen.
Point nav attribute region

The point entity version of . Like its brush entity version, it applies nav attributes to overlapping nav areas when it spawns in or the nav is being generated.
In VScripting, this entity may be seen in Entity Group scripts by Valve (especially Holdout), but is now less relevant since now exists after The Last Stand update.
== Keyvalues ==
==See also==
* Navigation Mesh Attributes (L4D)
* Navigation Meshes (L4D)
* 
*
Point prop use target

__NOTOC__
 It is an use target for carried props. Triggers the prop's use behavior. This is the point entity that players approach and "fills the gas" or "drops off the cola" with. Currently only available for gas can and cola props.
== Keyvalues ==
== Flags ==
== Outputs ==
== See also ==
* game_scavenge_progress_display
* L4D2 Level Design/Scavenge Maps