nyuuzyou/wikis huggingface dataset:
Game weapon manager

It is used to limit the number of a particular weapon class in the world. Useful in places where NPCs are spawning rapidly, dying, and dropping weapons.
* On spawn, this entity will try to create an entity of the classname specified in the KeyValue weaponname. If this fails, this entity removes itself. That's why wildcards like weapon_* cannot be used.
* This entity thinks every 2 seconds, potentially removing weapons.
* Every time this entity thinks, it conducts a count of all the weapons in the world of the specified class and checks if there is a surplus. If so, it tries to find suitable candidates for removal, namely all weapons of the specified class that satisfy ( !weapon->IsEffectActive( EF_NODRAW ) && weapon->IsRemoveable() ).
** Singleplayer games: It removes the first candidates that are found behind the player, or are out of the player's PVS.
** Multiplayer games: This entity removes the candidates with the lowest entity index, regardless of the players' PVS. That's because this entity is designed using UTIL_GetLocalPlayer, which returns NULL in any type of multiplayer game.
== Keyvalues ==
== Inputs ==
== FGD Code ==
This code adds the missing input SetMaxPieces (namely the penultimate line) in Hammer and must be pasted in the corresponding place of base.fgd.
@PointClass base(Targetname) = game_weapon_manager : 
	"An entity used to limit the number of a particular weapon type in the world. Useful in places where NPCs are spawning rapidly, dying, and dropping weapons." 
[
	weaponname(string) : "Weapon Classname" : "" : "Classname of the weapon type to limit."
	maxpieces(integer) : "Max Allowed in Level"	: 0 : "The maximum amount of the specified weapon type allowed in the world."
	ammomod(float)	 : "Ammo modifier" : 1 : 	"Modifier for ammount of ammo dropped by a weapon."
	// Inputs
	input SetAmmoModifier(float): "Adjust the ammo modifier."
	input SetMaxPieces(integer): "Adjust the maximum number of specified weapons in the map." // added
]
Gamecfg.ini conversion information

With the latest release, the file that contains the SDK game configuration information has changed to a new format. Previously, all game configuration data was stored in the gamecfg.ini file. This data is now stored in GameConfig.txt. Both of the these files can be found in the SteamApps\common\sourcesdk\bin directory.
When launching the new SDK update, your configuration stored in gamecfg.ini was automatically converted and stored in the new format, GameConfig.txt. Then your gamecfg.ini was renamed to gamecfg.ini.old, as it is no longer used or needed.
Category:Source SDK FAQ
Games Supported By The Source SDK

== Directly supported games ==
The Source SDK supports editing for the following games directly:
* Half-Life 2
* Half-Life 2: Deathmatch
* Half-Life 2: Episode One
* Half-Life 2: Episode Two
* Counter-Strike: Source
* Day of Defeat: Source
* Team Fortress 2
* Portal
* Half-Life: Source
The following games have their own Source SDKs or Authoring Tools:
* SiN Episodes: Emergence
* Left 4 Dead
* Left 4 Dead 2
* Alien Swarm
* Portal 2
* Counter-Strike: Global Offensive - replaced by counter strike 2
== User-supported ==
* The Ship 
* Garry's Mod
* Any mods developed using the Source Engine.
== Unsupported games ==
The Source SDK does not support editing for the following games:
* and other games using its engine aka (e.g. ).
* and other games using (e.g. )
Half-Life SDK 2.3 should be used for GoldSource games such as Half-Life. It includes an old version of Hammer editor, 3.4, which should be updated to 3.5 manually.
Category:Source SDK FAQ
Gangwars 1

This is the Goldsource version of the Half-Life 2 mod Gangwars 2 The original.
== History ==
Gangwars was originally a small Quake modification made by Topaz and AeroJ sometime between 1998 and 1999. The game did not garner much success on this engine, but with the rise of Half Life mods, in particular, Counter-Strike, the creators decided to port the game to HL using CS code. The game did fairly well, and overtime built a small community. Gangwars 1.3 was somewhat popular, even voted mod of the week by Planet Half-Life. Plus, it was given the originality award from Mod DB on Sat 4th Jan, 2003. However, during the interim period between Gangwars 1.3 and 1.4, the game's community died out, leaving only a few dedicated and talented players who played the game on personally hosted servers. With the beta testing of Gangwars 1.4, these few players were given full rights to administrate the Official Server. They formed a single super clan, the "Syndicate," and ran the Gangwars community until they eventually split. 
Gangwars 1.4x was the most successful development cycle of the game. However, due to the lack of updates and lack of server diversity, the community once again dwindled down over time. Sometime after the release of Gangwars 1.44, some community members banded together and formed the "Gangwars Alumni," which set out to modify what they could to improve the game and keep it alive. With the game based on ancient CS code, updating everything about the game was a necessity to any new releases. The Gangwars Alumni was given the full right to update and expand Gangwars by Topaz, who gave the new team the old SDK in July 2003. They were also given permission to move to the Source engine at a later point, also by Topaz. 
To date the Gangwars Alumni have only released one small update for Steam, Gangwars 1.45. In attempting to port the mod to the latest Half Life SDK, a necessity if Gangwars was to have more releases on the Half Life engine. It was found that the game would need essentially a complete rewrite from the bottom up. At that point, the team took a break to consider other options. The Gangwars Alumni have just recently announced that they will be building the mod from the ground up on the Source engine. 
Gangwars (Down) is a Half-Life 1 mod. Gameplay takes the form of a elimination game wherein the boss of the team (wears the drug bag) can respawn teammates, heal himself and players, but is traceable by radar. There are two playable teams, East Coast and West Coast.
== Weapons ==
Melee:
Knife
Pistols: 
Glock,
Beretta,
Magnum
SMG's:
Mac 10,
Kimel,
Uzi
Shotguns:
Mossberg,
Benelli
Rifles:
Ak74,
M-16,
Ak47,
KA DR2000,
PSG-1
== Game Characteristics ==
Gangwars has a very fast, Quake style of gameplay, with no armor or special weapons available to the player. The game forces players to rely on reflexes and aim. The first two bullets of the automatic weapons in Gangwars are some of the most accurate in all of Half Life.
== External links ==
*Gangwars Alumni
*Gangwars Alumni: Forums
*Mirror of the official Gangwars website
* (Previously .)
Category:Multiplayer Mods
Gangwars 2

Gangwars 2 was to be the Source based sequel to the Half-Life mod Gangwars 1. It was to be in the same fast pace as its predecessor, but with improved gameplay. It reached the pre-alpha stage of development before it died due to the lack of help (like for instance a coder).
The weapon system for the first release was to be based off the current Gangwars 1.4 weapon system, with a few changes that were still undisclosed. The KA DR2000 rifle were to be removed because it was too powerful.
Gantz Source

== Overview ==
Gantz Source aims at making relive the experience of Gantz, including a lot of new stages, new players, new monsters, and a great gaming experience.
== Features ==
* three game modes: Coop, (Team-)Deathmatch and eventually Last Man Standing
* weapons, blood, and aliens
* a new gaming experience
== Media ==
All the weapons are created by D'Hell Pyros, who is a 3D Artist in the team.
You can take see more pics and the other weapons on the official gallery.
== History ==
This idea cames in summer 2006. Wind Helleven, graphic designer in the Mario Kart Source's dev team, had just discovered Gantz and he recruited people to make the mod. Regrettably the project had been abandoned, but it was relaunched finally at the beginning of 2008. Now, at the end of 2008, the project really started.
== Team ==
* Wind Helleven: Leader of the team, he is the webmaster and a SFX Artist in the team too.
* D'Hell Pyros: 3D Artist, he mades the awesomes weapons of the mod.
* Phenicks: Coder
* JacobH: Coder
* ChaosLink: Illustrator
We are seeking for coders and animators who have a good experience in their domains.
== External links ==
* Official website (english and french): http://gantzsourcemod.fr/
* Forums: http://gantzsourcemod.fr/forum
* (page not done yet)
Category:Help Wanted
Category:Multiplayer Mods
Garry's Mod Level Creation

This article focuses on Level Design. For general mapping tutorials, see :Category:Level Design.
== Getting Started ==
* Getting started with Hammer for Garry's Mod
* 
== Garry's Mod Gamemodes ==
* Sandbox
* Trouble in Terrorist Town (TTT)
* Trouble in Terrorist Town 2 (TTT2)
* DarkRP
== References ==
* List of entities
Category:Garry's Mod
Gearbox Software

is a Dallas-Fort Worth Texas video game developer founded in January 1999. They are best known for a number of high-profile PC games such as Brothers In Arms: Road to Hill 30, Borderlands series and the Half-Life expansions Half-Life: Opposing Force and Blue Shift. They are also known for co-developing the infamous Duke Nukem Forever and Aliens: Colonial Marines which both suffered from (long development time).
==Products==
==See also==
* 
* Gearbox Software's website
Category:Developer Corporations
Gearcraft

(also known as Nightfire Map Editor) is the official mapping tool for created by .
==Overview==
This level editor support rmf, map, gbx file formats.
== Features ==
==Drawbacks==
==Media==
Gearcraft-Gui.jpg|Gearcraft 5.0 GUI 
Gearcraft1.png|Gearcraft with a map opened
Gearcraft2.png|New buttons on the toolbar
Gearcraft3.png|Same
File:Gearcraft4.png|thumb|Another Map edit tools toolbar, that looks like the one from early Worldcraft versions
== See also ==
* , level editor for 
* Svencraft, level editor for 
* 
== External links ==
ModDB
General Sites

This is a list of external modding related sites that do not quite fit into any specific category.
* Official Source SDK Forums and the now-defunct VERC Network Forums
* Game Design Theory - Interesting for art directors, team leaders
* Gamedesign.net - Some helpful modding and mapping tutorials (broken site)
* GamesModding.com Tutorial Database (Down) archived version - A list of almost every Half-Life 2 modding tutorial out there.
* HL2World.com - Half-Life 2 Knowledge Base
* Interlopers.net - News and general resources 
* Mapcore - A great place to get mapping, modeling and texture help from industry pros.
* Mod Database - Free listings of mods for almost every moddable game. A great database full of tons of information on mods that are out there.
* Nem's Tools - Several useful Source tools including GCFScape
* SourceWiki Forums - (Main site now closed)
* The RaZZeR App Tutorials/Tools about Source engine development.
* Type 3 Studios - Mods, Maps, Tutorials, Forums, and a thorough community site on the way.
* Wavelength - One of the original sources of HL1 editing material, now steadily servicing HL2
* Wunderboy.org - Several useful Source tools including VTFTool
* ZeqMacaw's Tidbits - Contains tutorials about more advanced stuff for L4D2
* sourcemodding - An Attempt to preserve the modding legacy of Goldsrc, Source and Source 2.
Category:External Sites
Generic Keyvalues, Inputs and Outputs

The following are generic keyvalues, inputs and outputs available to all entities. They are not necessarily in FGD of every game / entity but do exist on each entity as they come from CBaseEntity class. If they are not in FGD for an entity it may be because using them for that entity is unintended or may not work well (ex. parenting a ) and such cases are up for testing and documenting those would be on given entity's page. Some entities may also override the functionality of the given k/i/o and those cases also would be documented on the given entity's page.
== See Also ==
* CBaseEntity
* Rendering and studio model related KIO
* FGD
Generic actor

It is a generic NPC purely made for scripted sequence work.
==Keyvalues==
:*HUMAN_HULL: Human
:*WIDE_HUMAN_HULL: Wide
:*TINY_HULL: Tiny
:*MEDIUM_HULL: Medium
:*LARGE_HULL: Large
==Flags==
==Inputs==
==Outputs==
== See also ==
* 
Category:Entities
Category:NPCs
Genetics

== News ==
19/8/08 - Holywood Demo is being released later today. New screenshots will be posted also.
13/8/08 - New screenshots have been taken, and we are currently creating our ModDB account.
Last update on ModDB was four years ago, so the mod is presumed dead.
==Overview ==
Genetics (formerly known as Holywood) was a Half-Life 2: Episode Two modification being developed by Scott Baker (Sythen).
You take the role of Gordon Freeman, who finds himself inside a facility known only as "Holywood". According to Scientists that worked inside the facility, a specimen that they were keeping contained in a storage area had broken loose and made it's way through the ventilation shafts, attacking all civilian and Holywood personnel. You must make your way through the facility, eliminating any signs of infected people or creatures. And save the people that you can.
This modification has been dedicated to Alice Williams, a friend of mine that passed away a few months ago... As a result my aim was to
create a horror game that both I and Alice would be extremely proud of...
==Features ==
* A brand new storyline, consisting of only Half-Life 2, Episode One, and Episode Two content.
* A game that will never leave you without a fright, 
* Various different characters (Alyx, Kleiner etc..) from Half-Life 2 that have come back to help you work out what went wrong in the facility.
== Development Members ==
Sythen - Sythen has been doing level editing for various games such as Half-Life 2, Doom 3 and Unreal Tournament 3
for the last two years, but even though he's been mapping for a long time, he has always used his mapping as a
learning experience. This is the first time he has released any maps he has created.
Shane Murphy - Long time 3Ds Max user, decides to do a voice over. He plays "John Hunter" the main role of the player
in Holywood. Shane has helped me throughout the mapping and gameplay design of Holywood, as much as I've tried to help
him in return, and for that, I thank you Shane. :)
Martin Collins - Also known as MartinCo from 3DBuzz IRC. An extremely nice person who helped us near the end of the
release of the demo, as we needed a voice. He plays "Michel Jones" a character seen at the beginning of Holywood.
Michel is a civilian ordered by the security to give the H.E.V suit to anyone who looks like they can "kick ass!"
== External links ==
*
Gesture Animations

:Main article: $animation#Blending
After struggling to create attack gesture activities that didn't completely seize control of the model and studying the QC command list this technique was developed. After making an animation "attack.smd" containing the animation including lines like the following in the models QC file:
$animation a_attack "attack"
$animation b_attack "attack" subtract a_attack 0
$sequence weapon_attack "b_attack" activity ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG1 1 fps 60 delta
Subtracting frame 0 of the attack animation from the rest of the animation then using it as a "delta" type sequence seems to do the job, "attack" can now be overlaid over other similar animations like idling, crouching and running.
category:modeling
GetAbsOrigin()

Category:FunctionsCategory:Networking
 returns the absolute (i.e., world-relative) origin of an entity as a vector. Its sister function SetAbsOrigin() changes it.
The origin is technically stored in local space (i.e., parent-relative). If an entity has a parent, the Abs functions perform extra calculations to get the position relative to the world. This value is cached and only recalculated if the origin has changed since the last time it was used. On the other hand, GetLocalOrigin() and SetLocalOrigin() work directly with the stored origin (m_vecOrigin) with no extra calculations, so if one entity is parented to another entity, the returned origin will be relative to the origin of its parent. Get/SetLocalOrigin should only be used when world space isn't important (e.g. an entity that can't be parented) or is undesirable while an entity is parented.
== Alternatives ==
A different approach for finding the position of an entity can be useful, particularly when dealing with a brush entity which might not have a valid origin. Bear in mind that these alternatives are all significantly more expensive than the "vanilla" functions listed above.
; : Returns the centre of an entity's bounding box.
; void CollisionProp()->CalcNearestPoint(&vecWorldPt,*pVecNearestWorldPt)
: Finds the nearest point on the entity's bounding box to vecWorldPt. Modifies pVecNearestWorldPt with the result instead of returning anything.
== Cells ==
Starting with , CBaseEntity transmits its origin in "cells." This splits the entity's local coordinate space up into cells of 32 units X/Y/Z, then uses that reduced range to compress the networked value to a mere 5 bits per ordinate. The index of the current cell also has to be networked, but it changes relatively infrequently.
This system leads to a huge reduction in network traffic at the price of imprecision. The sensitivity of prediction requires the local player to be sent an uncompressed origin.
GetCollisionBounds

This function does not actually exist but is a combination of 2 functions.
== const Vector& CCollisionProperty::OBBMins( ) const ==
This function returns the lowest right point of the collisionhull. It's callable via C_BaseEntity::CollisionProp()->OBBMins()
== const Vector& CCollisionProperty::OBBMaxs( ) const ==
This function returns the highest left point of the collisionhull. It's callable via C_BaseEntity::CollisionProp()->OBBMaxs()
== void CCollisionProperty::GetCollisionBounds( const Vector& mins, const Vector &maxs ) ==
void CCollisionProperty::GetCollisionBounds( const Vector& mins, const Vector &maxs )
{
	mins = CollisionProp()->OBBMins();
	maxs = CollisionProp()->OBBMaxs();
}
Category:Functions
GetLocalPlayer

UTIL_GetLocalPlayer is a function that's used extensively in the Source SDK 2013 code base. Unfortunately, it always returns null in Multiplayer and therefore doesn't work. When fixing this code up, you can use multiple other functions to replace UTIL_GetLocalPlayer depending on the situation.
==UTIL_GetListenServerHost==
UTIL_GetListenServerHost already exists in the codebase, so you won't need to insert any additional code. Obviously, the function returns the listenserver-host, which is the client that also hosts the "server" on his machine. When on a dedicated server, NULL will be returned.
==UTIL_GetNearestPlayer==
UTIL_GetNearestPlayer can be incredibly useful when fixing up code for multiplayer, however you'll need to add it into your code first as it was not written by Valve. To do this, open up util.cpp and paste the following function underneath the GetLocalPlayer() function at around line 660.
//
// Returns nearest player. 
// Control with boolean if line of sight is needed.
//
CBasePlayer *UTIL_GetNearestPlayer(CBaseEntity *pLooker, bool bNeedsLOS)
{
	float flFinalDistance = 999999.0f;
	CBasePlayer *pFinalPlayer = NULL;
	for (int i = 1; i < gpGlobals->maxClients; i++)
	{
		CBasePlayer *pPlayer = UTIL_PlayerByIndex(i);
		if (!pPlayer){
			continue;
		}
		float flDistance = (pPlayer->GetAbsOrigin() - pLooker->GetAbsOrigin()).LengthSqr();
		if (flDistance < flFinalDistance)
		{
			if (bNeedsLOS)
			{
				//Check if the player is visible to the entity (only brushes obstruct vision)
				if (!pLooker->FVisible(pPlayer, MASK_SOLID_BRUSHONLY))
				{
					continue;
				}				
			}
			
			pFinalPlayer = pPlayer;
			flFinalDistance = flDistance;
		}
	}
	return pFinalPlayer;
}
Now add this line in util.h at line 231:
CBasePlayer *UTIL_GetNearestPlayer(CBaseEntity *pLooker, bool needsLOS = false);
By default, you will only need to pass the entity pointer through the parameters and the nearest player will be returned. If you only want the nearest visible player returned, you also need to pass a (true) boolean.
==Fix up UTIL_GetLocalPlayer==
This is not a proper solution, UTIL_GetLocalPlayer will never work properly in multiplayer because of its very concept. However, you can still fix it up to return a player, even when in multiplayer mode.
In util.cpp, search for the UTIL_GetLocalPlayer() function.
Delete it and replace it with:
//
// Return the listenserver-host.
// If that's not possible, try to return literally ANY player
// 
CBasePlayer *UTIL_GetLocalPlayer( void )
{
	//try to return the listenserver-host
	CBasePlayer *pHost = UTIL_GetListenServerHost();
	if (pHost){
		return pHost;
	}
	//try to return literally any other client on the server
	for (int i = 1; i < gpGlobals->maxClients; i++)
	{
		CBasePlayer *pPlayer = UTIL_PlayerByIndex(i);
		if (pPlayer){
			return pPlayer;
		}	
	}
	return NULL;
}
Get a Life

is a total-conversion mod for . Players assume the role of Alexander Zemlinsky, a subway technician dealing with the consequences of a leukemia treatment administered by his sister, leading to a series of chaotic events.
== Features ==
*Introduces new maps, weapons, enemies, NPCs, sound effects, soundtrack, models and textures.
*Runs on Source 2006, so you'll see HDR and the enhanced shadow system (as seen in HL2: EP1) in "Get a Life" as well.
*Offers a custom HUD, an innovative healing system with several damage zones, drugs that will trigger slow motion, upgradeable weapons, 24 maps, enhanced enemy AI and about 10 hours of gameplay.
=== Media ===
Get A Life - Screenshot 1.jpg
Get A Life - Screenshot 2.jpg
Get A Life - Screenshot 3.jpg
Get A Life - Screenshot 5.jpg
Get A Life - Screenshot 6.jpg
Get A Life - Screenshot 7.jpg
Get A Life - Screenshot 8.jpg
Get A Life - Screenshot 9.jpg
Get A Life - Screenshot 10.jpg
Get A Life - Screenshot 11.jpg
Get A Life - Screenshot 12.jpg
Get A Life - Screenshot 13.jpg
== See also==
* List of Get a Life entities
== External links ==
* TvTropes
Category:Half-Life series mods and fangames
Category:Single Player Mods