
There are a number of different things that can used here. Things between the Classtype declaration and the "= " help to define properties of the entity, how it will act and be displayed in Hammer. This mainly causes the entity to be shown in properties with the filterclasssprite type. This causes the targetsprite property to be linked up when the entity is of the special filter classes used to define what entities will be able to interact with each other in some way. This causes the NextKeysprite property to be linked up when the entity is for path_track and similar entities. It is typically referred to as a "brush entity" or "solid for move_rope and keyframe_rope. It is useful in conjunction with the npcclasssprite property type (see entity's area is defined by the solid (also referred to as a brush) that it is attached to. It is typically referred to as a " point entity." The entities are placed within Hammer by using the Entity tool is a special form of point entity tailored for NPC (non-player character) entities. The class type of an entity tells Hammer how this entity can be placed.Ĭlass class type of an entity tells Hammer how this entity can be entity exists at a certain non-arbitrary point. It defines keyvaules, flags and Inputs and Outputs.Įxplanations of what each of these parameters do will be explained on this page, in order. The first line defines the class name of your entity, followed by class properties, name of the entity and a description for it.Įverything in between the brackets defines how the entity itself works. Output OnSomethingElse(void) : "Fires when something else happens"Ībove is a generic example of an entity structure as defined in the FGD. Output OnSomethingHappened(void) : "Fires when something happens" Property_name_5(choices) : "second number" : 0 : "Your choice of numbers!" =Ģ : "A flag" : 0 // 0 means the flag isn't ticked by defaultĢ : "Another flag" : 1 // 1 means the flag is ticked by default

Property_name_4(boolean) : "Example Boolean Name" : 1 : "Description" Property_name_3(float) : "Example Float Name" : "1.5" : "Description" Property_name_2(integer) : "Example Interger Name" : 15 : "Description" Property_name_1(string) : "Example String Name" : "Example" : "Description"
#GMOD FILE LOCATION FINDER MOD#
The game or mod you are creating must ship with all FGD's that your own mod is base(Targetname, Angles, Origin) studio("path/model.mdl") = example_entity_name : "example entity description, visible in Hammers 'help' Box. For example Half-Life 2: Deathmatch has a FGD which halflife2.fgd, which in turn the base.fgd. Meaning a game can include another game's FGD, which already includes the base.fgd. This allows your FGD to read all the data of that can be nested. This visually changes the area in Hammer, but unless the game has been coded to allow this size, using anything beyond default values causes vbsp to the game you are writing your FGD for has a lot in common with another game ( Half-Life 2 and Half-Life 2: Deathmatch, for example), you can a file that has all of the common structures defined in it. Purpose: Half-Life 2 game definition file value defines the maximum usable area in Hammer. = Copyright © 1996-2005, Valve Corporation, All rights reserved. The various parts of the Half-Life 2 FGD (found in your SDK binary directory, for example: (path_to_steam)/SteamApps/common/Source SDK Base 2013 Singleplayer/bin/) are explained below.Ĭomments are defined simply by starting a line with //. It is a script file that sets up entity structures and relationships for Hammer. The FGD file follows a fairly simple format.

Due to trademark issues, however, the name Forge couldn't be used for the final version of Hammer. While Hammer was originally called Worldcraft, it was developed under the name The Forge (hence the name Forge Game Data).
