Counter-Strike: Condition Zero Deleted Scenes FGD: Difference between revisions
Jump to navigation
Jump to search
Tip:Select the beginning of the line (usually the "//" comment) by clicking it, scroll down then hold ⇧ Shift, and click at the end of the line to select all.
No edit summary |
No edit summary |
||
(15 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
This FGD is considered to be a work-in-progress, while it does have all the functionality to make maps to the same quality of the main game, there might be some wonky stuff, mistakes or non-complete information about entities. There are still keys that are not fully understood and might not be understood until more experimentation is done. | |||
== Important == | |||
This FGD is considered to be a work-in-progress, while it does have all the functionality to make maps to the same quality of the main game, there might be some wonky stuff, mistakes or non-complete information about entities. There are still keys that | Here are some things to remember when choosing to use this FGD. Alternatively, you can pick this FGD up [https://twhl.info/vault/view/6501 from TWHL vault]. | ||
* Hammer 3.5 only supports entity classnames with up to 32 characters. Therefore, This version of the CS:CZDS FGD file is not compatible with the default Hammer Editor that is provided with HL1. In this case, It is suggested to use {{jack|4.1}}, an alternative to Hammer for GoldSource. The program supports Windows and Linux and adds a number of features for level editing and modding. If you still want to use Hammer, you should refer to this [[Condition_Zero_Deleted_Scenes.fgd|page]] and just add in the missing content. | |||
=Important= | * This is the most up-to-date FGD for CS:CZDS. It is an ongoing effort to bring users the best version of this FGD. If there are any bugs or things missing, please contact me and I will do my best to update it in a timely manner. | ||
Here are some things to remember when choosing to use this FGD. Alternatively, you can pick this FGD up | |||
* Hammer 3.5 only supports entity classnames with up to 32 characters. Therefore, This version of the CS:CZDS FGD file is not compatible with the default Hammer Editor that is provided with HL1. In this case, | |||
* This is | |||
* There are fixes provided in the FGD for the most common bugs in the game. | * There are fixes provided in the FGD for the most common bugs in the game. | ||
* If you are using J.A.C.K, the help button has a lot of information on usage of the entities. | * If you are using J.A.C.K, the help button has a lot of information on usage of the entities. | ||
* There is a section of the FGD dedicated to things that are slightly janky. This space is | * There is a section of the FGD dedicated to things that are slightly janky. This space is a space to document oddities within the game. | ||
=FGD= | == FGD == | ||
< | {{TextFile|FGD}} | ||
//////////////////////////////////////////////////////////////////////////////// | {{codeblock|lang=fgd|src=czds_full.fgd|<!-- | ||
--><nowiki>//////////////////////////////////////////////////////////////////////////////// | |||
// | // | ||
// :INTRODUCTION AND IMPORTANT THINGS: | // :INTRODUCTION AND IMPORTANT THINGS: | ||
Line 20: | Line 18: | ||
// When I have more information or something to fix. So please check back as there might be an update waiting for you! | // When I have more information or something to fix. So please check back as there might be an update waiting for you! | ||
// There are most likely a lot of missing things and undocumented stuff. I've tried to include as much information on the entities in the help section of JACK. | // There are most likely a lot of missing things and undocumented stuff. I've tried to include as much information on the entities in the help section of JACK. | ||
// If anyone who was a dev of CS:CZDS and has any knowledge of any data or insights into the specifics of it, please contact me ('I have a plan') at the TWHL forum/discord. | // If anyone who was a dev of CS:CZDS and has any knowledge of any data or insights into the specifics of it, please contact me ('I have a plan') at the TWHL forum/discord. | ||
// | |||
// | // | ||
// :A WORD FROM CASTLE: FORMER LD FOR RITUAL ENTERTAINMENT: | // :A WORD FROM CASTLE: FORMER LD FOR RITUAL ENTERTAINMENT: | ||
Line 41: | Line 40: | ||
// :DETAILS AND NOTES: | // :DETAILS AND NOTES: | ||
// | // | ||
// Release version: | // Release version: 1.1.6 'Another One' Edition | ||
// Release date: | // Release date: 16/7/2023 | ||
// Authors: cs_expert-tom793 : 小冬冬 / Dong : I have a plan : Castle | // Authors: cs_expert-tom793 : 小冬冬 / Dong : I have a plan : Castle | ||
// | // | ||
Line 53: | Line 52: | ||
// | // | ||
// Unfortunatly, I am not an expert in reading decompiled code. Some keys, values and spawnflags will be missing or have no 'Help' information. | // Unfortunatly, I am not an expert in reading decompiled code. Some keys, values and spawnflags will be missing or have no 'Help' information. | ||
// I would need the old | // I would need the old UberRadiant .def that Ritual Entertainment used. But, we will never fully know what they were/ or do until the .def or SDK is found/given to us by Valve. | ||
// I'm very sorry if there are missing keys, values or spawnflags. I'll continue trying to find the contacts I need to speak to in order to complete this. | // I'm very sorry if there are missing keys, values or spawnflags. I'll continue trying to find the contacts I need to speak to in order to complete this. | ||
// List of keys that are used in the game files! | // List of keys that are used in the game files! | ||
Line 59: | Line 58: | ||
//!NOTE! CBaseTrigger Still trying to work out what they do!! | //!NOTE! CBaseTrigger Still trying to work out what they do!! | ||
//> CBaseTrigger (Things like trigger_once, trigger_multiple, etc...) >> QUEARY TARGET NEEDS TO BE SET FOR THESE TO WORK!!!! | //> CBaseTrigger (Things like trigger_once, trigger_multiple, etc...) >> QUEARY TARGET NEEDS TO BE SET FOR THESE TO WORK!!!! | ||
// - isdead > ??? something about a deadflag, could be a normal trigger condition ??? | // - isdead > ??? something about a deadflag, could be a normal trigger condition ??? | ||
// - hasclassname > if classname is 'xyz', trigger this (this one is a bit tricky. >> SEEMS TO WORK SOMETIMES WITH Terrorist_xyz) | // - hasclassname > if classname is 'xyz', trigger this (this one is a bit tricky. >> SEEMS TO WORK SOMETIMES WITH Terrorist_xyz) | ||
// - usingweapon > ??? | // - usingweapon > Takes the weapon model (v/w/p_m4a1.mdl) AS the input value??? > Could seems to be related to the Monster `weapon` KV. | ||
// - takingdamage > Seems to be under the normal trigger condtions of the monster. | // - takingdamage > Seems to be under the normal trigger condtions of the monster. | ||
// - hearcombat > Seems to be under the normal trigger condtions of the monster. | // - hearcombat > Seems to be under the normal trigger condtions of the monster. | ||
Line 88: | Line 84: | ||
// The skills.cfg can be used in a custom mod to define certain properties within CS:CZDS. Some entites in this FGD are tagged with a 'help' | // The skills.cfg can be used in a custom mod to define certain properties within CS:CZDS. Some entites in this FGD are tagged with a 'help' | ||
// dialog that can be accessed in JACK that will let you know. But, here is a quick reference list. | // dialog that can be accessed in JACK that will let you know. But, here is a quick reference list. | ||
// - | // - sk_hgrunt_health (CT/T health) | ||
// | // - sk_turret_health (Turret health) | ||
// | // - sk_miniturret_health (Turret health) | ||
// | // - sk_sentry_health (Turret health) | ||
// | // - sk_suitcharger (Armor charger amount) | ||
// - | // - sk_battery1 (Armor pickup amount) | ||
// - | // - sk_healthkit (Healthkit pickup amount) | ||
// - | // - sk_scientist_heal (Scientist 'syringe boost' amount) | ||
// - sk_plr_buckshot (Player shotgun) | |||
// | // | ||
// :CONVERTING BRUSH ENTITIES TO POINT ENTITIES: | // :CONVERTING BRUSH ENTITIES TO POINT ENTITIES: | ||
Line 109: | Line 106: | ||
// You will not be able to see the entity next time you | // You will not be able to see the entity next time you | ||
// load it on Hammer. Next time you save, the origin will be erased. | // load it on Hammer. Next time you save, the origin will be erased. | ||
// | // | ||
// :INFO_TEXLIGHTS: | // :INFO_TEXLIGHTS: | ||
Line 136: | Line 125: | ||
// since there's a bug where cameras still use the player position for visibility testing this is used to get things to still render | // since there's a bug where cameras still use the player position for visibility testing this is used to get things to still render | ||
// if an entity isn't including in visibility testing it always gets added to the list of visible entities' -SOLOKILLER | // if an entity isn't including in visibility testing it always gets added to the list of visible entities' -SOLOKILLER | ||
// | // | ||
// :TRIGGER_ZIPLINE (AKA FANCY TELEPORTER): | // :TRIGGER_ZIPLINE (AKA FANCY TELEPORTER): | ||
Line 189: | Line 172: | ||
// :MAPTIER KEY: | // :MAPTIER KEY: | ||
// | // | ||
// This is an interesting key. The code suggests that, depending on the | // This is an interesting key. The code suggests that, depending on the number given, enemy behavior and schedules are changed. | ||
// | // | ||
// :ENV_PARTICLE CRASH: | // :ENV_PARTICLE CRASH: | ||
Line 230: | Line 213: | ||
// !NOTE! > is used to tag important things! Feel free to add your own! | // !NOTE! > is used to tag important things! Feel free to add your own! | ||
// | // | ||
// > 16/7/2023 1.1.6 'Another One' Edition | |||
// | // | ||
// - !!NOTE!! For the sake of parity between the original game maps and user maps. monster_terrorist will remain. One can manually change it to monster_t for a shorter list in JACK. | |||
// Hammer will have to be monster_t due to 32 bit limits on ent names. | |||
// - Added all weapon_ tools and ambient_generic to game_player_equip | |||
// - Added "killtarget" KV to "trigger_usetool" | |||
// - Added all music tracks to "Trigger_cdaudio" | |||
// - Rewrote "Viewcone Degree" KV description in the "Trigger" baseclass to more accurately discribe how to use it. | |||
// - Fixed and added more info to Func_mortar_zone. | |||
// - Added model selections for Monster_apache to better align with the ingame decompiles. | |||
// - Changed "Clips" from ammo entites to either magazines or boxes respectively. | |||
// | // | ||
// > 18/12/2021 | // > 20/4/2022 1.1.5 'A lil update' Edition | ||
// | |||
// - Added in 'ammo_bomb'. The ammo that the RCbomb tool uses. | |||
// - Added in all of the custom gibs list from Czero for easy access. | |||
// - Added test_effect > Leftover from early builds of the HL1 SDK. | |||
// - Added `weaponbox`. | |||
// - Added in "healthvalue" for func_door_rotating. Functions as an HL1 Beta wallkit health dispenser that can be set by the level designer. | |||
// - Added in a choices section in "game_player_equip". Should make it easier to access every dispenser-able item in the game. | |||
// - Implemented `Item_xxx` into func_breakables so they can be spawned. | |||
// - Updated some information with the :DETAILS AND NOTES: section. | |||
// - Fixed MonsterMaker spawnflag discription. Thanks WINDAWZ! | |||
// - Fixed monster NPC. default value should have had quotes around it. Thanks PENGUINBOY! | |||
// | |||
// > 18/12/2021 1.1.4 'Fixin' stuff' fix | |||
// | // | ||
// - Added flavor text and other specifications (Ammo, uses etc...) to WEAPON ENTITIES, ITEM ENTITIES and AMMO ENTITIES. | // - Added flavor text and other specifications (Ammo, uses etc...) to WEAPON ENTITIES, ITEM ENTITIES and AMMO ENTITIES. | ||
Line 251: | Line 257: | ||
// - Fixed flags 1 'monsters', 2 'no clients' on 'trigger_teleport'. | // - Fixed flags 1 'monsters', 2 'no clients' on 'trigger_teleport'. | ||
// - Fixed 'trigger_once' from having 2 'master' keys. | // - Fixed 'trigger_once' from having 2 'master' keys. | ||
// - Fixed 'monster_generic' from having 2 render FX | // - Fixed 'monster_generic' from having 2 render FX arrays. | ||
// - Fixed 'language' key in BaseClass 'Monster' to have choices. | // - Fixed 'language' key in BaseClass 'Monster' to have choices. | ||
// - Fixed 'env_sprite' from having 0.0 on the 'scale' key. | // - Fixed 'env_sprite' from having 0.0 on the 'scale' key. | ||
// - Fixed 'lightmultiplier' keyvalue discription in 'Worldspawn' | // - Fixed 'lightmultiplier' keyvalue discription in 'Worldspawn' | ||
// - Fixed 'env_liveammoshooter' help info showing in value spot. | // - Fixed 'env_liveammoshooter' help info showing in value spot. | ||
// - Fixed item_generic KV load order... ( | // - Fixed item_generic KV load order... (argh) | ||
// - Fixed the mdl error for the tripmine. | // - Fixed the mdl error for the tripmine. | ||
// - Fixed 'env_explosion' help info showing in value spot. | // - Fixed 'env_explosion' help info showing in value spot. | ||
Line 351: | Line 357: | ||
// - env_particle disappears when in players view, no fix as of yet. | // - env_particle disappears when in players view, no fix as of yet. | ||
// - Unlocked sounds on doors and buttons seem to be broken. > !!!Can't fix unless Valve gives the CZEROR SDK!!! | // - Unlocked sounds on doors and buttons seem to be broken. > !!!Can't fix unless Valve gives the CZEROR SDK!!! | ||
// - player_weaponstrip: some things [weapon_blowtorch/weapon_camera/] dont seem to work | // - player_weaponstrip: some things [weapon_blowtorch/weapon_camera/] dont seem to work and crash the game. | ||
// - Item_soda needs to have a can.mdl in the active directory. Easy fix, move the can.mdl from HL1 into the mod directory | // - Item_soda needs to have a can.mdl in the active directory. Easy fix, move the can.mdl from HL1 into the mod directory | ||
// | |||
// :1.1.x 'x' x : Candidate Release version list: | |||
// | |||
// > KEY: {x = Completed} {r = Remove} {f = Future} {? = Unknown} {P = Partial} | |||
// | |||
// - [] trigger_endmission might have a use only spawnflag > check line 124343 | |||
// - [] Still working on `weapons` > 64 is no weps and no ammo | |||
// | |||
// | // | ||
// :FUTURE: | // :FUTURE: | ||
Line 362: | Line 376: | ||
// - [?] Find out what spawnflag 1 does on trigger_endmission. | // - [?] Find out what spawnflag 1 does on trigger_endmission. | ||
// - [f] Make pigeon sounds for monster_flyer. < Pigeon sounds may already exist in the base game, just need to change the file names to 'boidxyz'. | // - [f] Make pigeon sounds for monster_flyer. < Pigeon sounds may already exist in the base game, just need to change the file names to 'boidxyz'. | ||
// - [?] Figure out what flag 2 does on trigger_sequence. | // - [?] Figure out what flag 2 does on trigger_sequence. | ||
// - [?] Fix 'weapon' and 'behavior' key choices on BaseClass Monster to properly reflect code. < I don't know if this works at all... | // - [?] Fix 'weapon' and 'behavior' key choices on BaseClass Monster to properly reflect code. < I don't know if this works at all... | ||
// - [ | // - [] BASECLASS Monster is overriding the monstermaker "cyclic" discription. Need to seperate. | ||
// - [] Find the differences between the Trigger_tool > info_camera > info_landmark. If this functions as a waypoint to store the player location in reletive to whatever sight line thing in the trigger_once "look at key" | |||
// | // | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
Line 377: | Line 390: | ||
@SolidClass = worldspawn : "World entity" | @SolidClass = worldspawn : "World entity" | ||
[ | [ | ||
maptier(choices) : "Map Tier" : : "Apparently, This is may control what the enemy AI does in game. Not much information on this. CASTLE: This could have been for the Multiplayer section of the game, maybe nothing, its hard to say." = | maptier(choices) : "Map Tier" : "" : "Apparently, This is may control what the enemy AI does in game. Not much information on this. CASTLE: This could have been for the Multiplayer section of the game, maybe nothing, its hard to say." = | ||
[ | [ | ||
"": "None" : "Nothing." | |||
1 : "1" | 1 : "1" | ||
2 : "2" | 2 : "2" | ||
Line 399: | Line 413: | ||
skyname(sky) : "Environment map (cl_skyname)" : : "Choose what sky image you want.'" | skyname(sky) : "Environment map (cl_skyname)" : : "Choose what sky image you want.'" | ||
sounds(integer) : "CD track to play" : : "CD track to play when the level begins. Not working." | sounds(integer) : "CD track to play" : : "CD track to play when the level begins. Not working." | ||
light(integer) : "Default light level" : : " | light(integer) : "Default light level" : : "" | ||
WaveHeight(integer) : "Default Wave Height" : : "Set the default wave height here. A func_water will overide what is set here." | WaveHeight(integer) : "Default Wave Height" : : "Set the default wave height here. A func_water will overide what is set here." | ||
MaxRange(integer) : "Max viewable distance" : 8192 : "Maximum distance the world is rendered at. Can be changed for better performance." | MaxRange(integer) : "Max viewable distance" : 8192 : "Maximum distance the world is rendered at. Can be changed for better performance." | ||
chaptertitle(string) : "Chapter Title Message" : : "Text displayed when entering the level." | chaptertitle(string) : "Chapter Title Message" : : "Text displayed when entering the level." | ||
lightmultiplier(integer) : "Light multiplier" : : "Sets a global illumination on items, ammo and weapons. | lightmultiplier(integer) : "Light multiplier" : : "Sets a global illumination on items, ammo and weapons. Pretty much anything that is a model." | ||
radfile(string) : "Radfile" : : "Specifies a xyz.RAD file to use." | radfile(string) : "Radfile" : : "Specifies a xyz.RAD file to use." | ||
mapversion(integer) : "Map Version" : 220 : "Not sure what this does. Could be something to do with the way map versions were compiled from UBERRadiant." | mapversion(integer) : "Map Version" : 220 : "Not sure what this does. Could be something to do with the way map versions were compiled from UBERRadiant." | ||
Line 431: | Line 445: | ||
@BaseClass studio() = FuncAddition | @BaseClass studio() = FuncAddition | ||
[ | [ | ||
model(studio) : "Model (if not brush)" : : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | model(studio) : "Model (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | ||
body(integer) : "Body (if not brush)" : : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | body(integer) : "Body (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | ||
origin(string) : "Origin (XYZ) (if not brush)" : : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | origin(string) : "Origin (XYZ) (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | ||
zhlt_usemodel(string) : "Model Stealer" : : "Input the name of an item_generic that has a model, and it should steal the model from it to be used. Can also be used with brush entities." | zhlt_usemodel(string) : "Model Stealer" : "" : "Input the name of an item_generic that has a model, and it should steal the model from it to be used. Can also be used with brush entities." | ||
style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = | style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = | ||
[ | [ | ||
Line 456: | Line 470: | ||
@BaseClass base(FuncAddition) = Func2 | @BaseClass base(FuncAddition) = Func2 | ||
[ | [ | ||
skin(integer) : "Skin (if not brush)" : : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | skin(integer) : "Skin (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." | ||
] | ] | ||
@BaseClass = BeamStartEnd | @BaseClass = BeamStartEnd | ||
[ | [ | ||
LightningStart(target_destination) : "Start Entity" : : "The name of an entity to be used as the starting point for the beam. If undefined, the beam will choose a surface within the Radius to use as the starting point. (Note that if the Start Entity is undefined, the Ending Entity must also be undefined.)" | LightningStart(target_destination) : "Start Entity" : "" : "The name of an entity to be used as the starting point for the beam. If undefined, the beam will choose a surface within the Radius to use as the starting point. (Note that if the Start Entity is undefined, the Ending Entity must also be undefined.)" | ||
LightningEnd(target_destination) : "Ending Entity" : : "The name of an entity to be used as the end point for the beam. If undefined, the beam will choose a surface within the Radius to use as the end point." | LightningEnd(target_destination) : "Ending Entity" : "" : "The name of an entity to be used as the end point for the beam. If undefined, the beam will choose a surface within the Radius to use as the end point." | ||
] | ] | ||
@BaseClass = Global | @BaseClass = Global | ||
[ | [ | ||
globalname(string) : "Global Entity Name" : : "Global name of an entity, allows to have one entity in multiple maps (e.g. elevator in map1 and map2 have the same Global Entity Name which tells the engine to treat those entities as one single entity, so all elevator settings, positions, actions e.t.c. are copied to another map in map transitions)." | globalname(string) : "Global Entity Name" : "" : "Global name of an entity, allows to have one entity in multiple maps (e.g. elevator in map1 and map2 have the same Global Entity Name which tells the engine to treat those entities as one single entity, so all elevator settings, positions, actions e.t.c. are copied to another map in map transitions)." | ||
] | ] | ||
@BaseClass studio() = ModelFile | @BaseClass studio() = ModelFile | ||
[ | [ | ||
model(studio) : "Model" : : "Select an Model file to use." | model(studio) : "Model" : "" : "Select an Model file to use." | ||
body(integer) : "Body" : : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." | body(integer) : "Body" : "" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." | ||
skin(integer) : "Skin" : : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." | skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." | ||
head(integer) : "Head" : : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." | head(integer) : "Head" : "" : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." | ||
] | ] | ||
Line 488: | Line 502: | ||
6 : "Opaque + Concave Fix" : "The 'ConcaveFix' is needed for curved func_wall's, notably arch shapes. When they are set to opaque, the inner curve (the concave porition) will frequently have black fringes at the joins where brushes touch up. Setting the ConcaveFix flag fixes the black seams in these cases, but then the entity cannot have the EmbeddedFix set." | 6 : "Opaque + Concave Fix" : "The 'ConcaveFix' is needed for curved func_wall's, notably arch shapes. When they are set to opaque, the inner curve (the concave porition) will frequently have black fringes at the joins where brushes touch up. Setting the ConcaveFix flag fixes the black seams in these cases, but then the entity cannot have the EmbeddedFix set." | ||
] | ] | ||
zhlt_customshadow(integer) : "Shadow Transparency" : | zhlt_customshadow(integer) : "Shadow Transparency" : "" : "Defines the transparency and colouring of brush based entities for the purposes of the shadows that those brushes cast. Can be applied to any brush based entity." | ||
zhlt_embedlightmap(choices) : "Embed Light Map" : : "Transparent brush entities only. Set it to 'Yes' and this transparent entity will take light from the environment, making it look much more natural. This effect is pretty expensive so be careful with it." = | zhlt_embedlightmap(choices) : "Embed Light Map" : "" : "Transparent brush entities only. Set it to 'Yes' and this transparent entity will take light from the environment, making it look much more natural. This effect is pretty expensive so be careful with it." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
zhlt_embedlightmapresolution(integer) : "Embed Light Map Resolution" : : "Set to a power of 2 number. Controls the resolution of embedded lightmaps on transparent textures (see keyvalue above). Higher value for better optimization. Default and recommended value is 4." | zhlt_embedlightmapresolution(integer) : "Embed Light Map Resolution" : "" : "Set to a power of 2 number. Controls the resolution of embedded lightmaps on transparent textures (see keyvalue above). Higher value for better optimization. Default and recommended value is 4." | ||
light_origin(string) : "Light Origin (Zhlt 2.2+)" : : "Set optional light placement. Can be applied to any brush based entity. light_origin can be used to place a brush based entity to a new location for the purposes of lighting. Typical use requires placing an info_target at the relevant location, and then setting the light_origin to point the info_target's name. If the entity is opaque, it will also cast shadows from that location in addition to being lit as if it were there." | light_origin(string) : "Light Origin (Zhlt 2.2+)" : "" : "Set optional light placement. Can be applied to any brush based entity. light_origin can be used to place a brush based entity to a new location for the purposes of lighting. Typical use requires placing an info_target at the relevant location, and then setting the light_origin to point the info_target's name. If the entity is opaque, it will also cast shadows from that location in addition to being lit as if it were there." | ||
zhlt_copylight(string) : "Copy Light Information" : : "You can specify a name of an entity to copy it's lightning values. It can be a model-based entity, Brush entity or a simply info_target" | zhlt_copylight(string) : "Copy Light Information" : "" : "You can specify a name of an entity to copy it's lightning values. It can be a model-based entity, Brush entity or a simply info_target" | ||
] | ] | ||
Line 541: | Line 555: | ||
@BaseClass = Master | @BaseClass = Master | ||
[ | [ | ||
master(target_destination) : "Master" : : "The name of a multisource (or game_team_master) entity. A master must usually be active in order for the entity to work. Thus they act almost like an on/off switch, in their simplest form, and like an AND gate in the case of the multisource." | master(target_destination) : "Master" : "" : "The name of a multisource (or game_team_master) entity. A master must usually be active in order for the entity to work. Thus they act almost like an on/off switch, in their simplest form, and like an AND gate in the case of the multisource." | ||
] | ] | ||
@BaseClass = Target | @BaseClass = Target | ||
[ | [ | ||
target(target_destination) : "Target" : : "When an entity is activated, it triggers the entity with the name specified by Target." | target(target_destination) : "Target" : "" : "When an entity is activated, it triggers the entity with the name specified by Target." | ||
] | ] | ||
@BaseClass = Targetname | @BaseClass = Targetname | ||
[ | [ | ||
targetname(target_source) : "Name" : : "Property used to identify entities." | targetname(target_source) : "Name" : "" : "Property used to identify entities." | ||
] | ] | ||
@BaseClass = Classtype | @BaseClass = Classtype | ||
[ | [ | ||
classtype(choices) : "Class type" : : "This is for selecting the faction that the monster or NPC is on. Great for infighting | classtype(choices) : "Class type" : "" : "This is for selecting the faction that the monster or NPC is on. Great for infighting monsters. Classes are: TS1/TS2/CTS1/CTS2/TH/CTH/TVIP/CTVIP/CIV." = | ||
[ | [ | ||
"" : "No classtype" | |||
TS1 : "TS1" | TS1 : "TS1" | ||
TS2 : "TS2" | TS2 : "TS2" | ||
Line 572: | Line 587: | ||
@BaseClass base(Target) = Targetx | @BaseClass base(Target) = Targetx | ||
[ | [ | ||
delay(string) : "Delay before trigger" : " | delay(string) : "Delay before trigger" : "" : "Usually the time in seconds before an entity should trigger its target (after being triggered itself). Under other SmartEdit names, delay might also be the time to wait before performing some other action." | ||
killtarget(target_destination) : "KillTarget" : : "When an entity is triggered, it will remove from the game the entity specified by this property." | killtarget(target_destination) : "KillTarget" : "" : "When an entity is triggered, it will remove from the game the entity specified by this property." | ||
] | ] | ||
Line 583: | Line 598: | ||
@BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster | @BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster | ||
[ | [ | ||
forcedtarget(target_destination) : "Forced Target" : : "Forces the monster to aggressively persue and kill what ever target name is input." | forcedtarget(target_destination) : "Forced Target" : "" : "Forces the monster to aggressively persue and kill what ever target name is input." | ||
TriggerTarget(target_destination) : "TriggerTarget" : : "The event to trigger when the TriggerCondition is met. Used by monsters." | TriggerTarget(target_destination) : "TriggerTarget" : "" : "The event to trigger when the TriggerCondition is met. Used by monsters." | ||
TriggerCondition(Choices) : "Trigger Condition" : | TriggerCondition(Choices) : "Trigger Condition" : "" : "This controls the condition under which a monster will trigger its TriggerTarget. The options are:" = | ||
[ | [ | ||
0 : "No Trigger" | 0 : "No Trigger" | ||
Line 609: | Line 624: | ||
512 : "Fade Corpse" : 0 : "If enabled, fade the monsters corpse after death." | 512 : "Fade Corpse" : 0 : "If enabled, fade the monsters corpse after death." | ||
] | ] | ||
deathangle(integer) : "Death Angle" : : "The angle at which the monster will face on death." | deathangle(integer) : "Death Angle" : "" : "The angle at which the monster will face on death." | ||
deathanim(string) : "Death animation name" : : "Choose a specific animation that will play on death." | deathanim(string) : "Death animation name" : "" : "Choose a specific animation that will play on death." | ||
deathtrigger(target_destination) : "Death Trigger" : : "Choose a target to trigger on death." | deathtrigger(target_destination) : "Death Trigger" : "" : "Choose a target to trigger on death." | ||
language(choices) : "language (AM, SP, JA)" : : "Choose a language that the monster or NPC will speak. Can also accept a custom suffix defined in a .SEQ file." = | language(choices) : "language (AM, SP, JA)" : "" : "Choose a language that the monster or NPC will speak. Can also accept a custom suffix defined in a .SEQ file." = | ||
[ | [ | ||
"" : "Default" | |||
AM : "American" | AM : "American" | ||
BR : "British" | BR : "British" | ||
Line 623: | Line 639: | ||
SP : "Spanish" | SP : "Spanish" | ||
] | ] | ||
cantmove(choices) : "Movement" : | cantmove(choices) : "Movement" : "" : "Define the type of movement that the monster or NPC will use." = | ||
[ | [ | ||
0 : "Normal" | 0 : "Normal" | ||
Line 629: | Line 645: | ||
2 : "Turret" | 2 : "Turret" | ||
] | ] | ||
weaponaccuracy(integer) : "Weapon accuracy" : : "The accuracy of the monster or NPC weapons. Higher the number, the less accuracy the monster has." | weaponaccuracy(integer) : "Weapon accuracy" : "" : "The accuracy of the monster or NPC weapons. Higher the number, the less accuracy the monster has." | ||
healthmult(integer) : "Health Multiplier" : : "The multiplier that is added to the enemy health pool." | healthmult(integer) : "Health Multiplier" : "" : "The multiplier that is added to the enemy health pool." | ||
healthUpdateRate(integer) : "Health recharge rate" : : "Rate that, in seconds, health is recharged at." | healthUpdateRate(integer) : "Health recharge rate" : "" : "Rate that, in seconds, health is recharged at." | ||
healthModifier(integer) : "Health modifier" : : "Amount of health that is restored after every second. Use 'Health recharge rate' with this." | healthModifier(integer) : "Health modifier" : "" : "Amount of health that is restored after every second. Use 'Health recharge rate' with this." | ||
netname(target_destination) : "Squad Name" : : "In a monster or NPC case, this would be used as a squad identifier. Any monster with the same input will join the same squad." | netname(target_destination) : "Squad Name" : "" : "In a monster or NPC case, this would be used as a squad identifier. Any monster with the same input will join the same squad." | ||
unkillable(choices) : "Unkillable" : | unkillable(choices) : "Unkillable" : "" : "Choose if the monster or NPC is unable to be killed." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
invulnerable(choices) : "Invulnerable" : | invulnerable(choices) : "Invulnerable" : "" : "Choose if the monster or NPC is impervious to all damage." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
spawnawake(choices) : "Spawn awake" : | spawnawake(choices) : "Spawn awake" : "" : "Spawns a monster that is 'awake', meaning that the AI is active. Not sure if this key is working properly." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
idleanim(string) : "Idle Animation Name" : : "input the idle animation for the monster or NPC to use. (Use SOLOKILLERS HLMV for the value) | idleanim(string) : "Idle Animation Name" : "" : "input the idle animation for the monster or NPC to use. (Use SOLOKILLERS HLMV for the value)" | ||
usetarget(target_destination) : "Use Target" : "" : "If left blank, the Monster or NPC will can be a follower. If not, It will trigger the entity with the same name as what is filled in." | |||
alertable(choices) : "Alertable" : "" : "Choose if the enemy is immediatly alerted or not." = | |||
usetarget(target_destination) : "Use Target" : : "If left blank, the Monster or NPC will can be a follower. If not, It will trigger the entity with the same name as what is filled in." | |||
alertable(choices) : "Alertable" : | |||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
weapons(choices) : "Weapons" : : "CASTLE> This was used to override the monsters defined weapon attributes." = | weapons(choices) : "Weapons" : "" : "CASTLE> This was used to override the monsters defined weapon attributes. Still not sure if this is sound." = | ||
[ | [ | ||
1 : "1" | 1 : "1" | ||
Line 666: | Line 680: | ||
16 : "16" | 16 : "16" | ||
32 : "32" | 32 : "32" | ||
64 : " | 64 : "No weapons" : "Makes the monster hold nothing. When aggro, they constantly reload due to having 0 ammo at all times." | ||
128 : "128" | 128 : "128" : "s" | ||
256 : "256" | 256 : "256" | ||
] | ] | ||
silentdeath(choices) : "Silent Death" : | silentdeath(choices) : "Silent Death" : "" : "Not sure what this does." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
alertradius(integer) : "Alert Radius" : : "Supposedly, Sets the alert radius for the Terrorists. Not sure if working" | alertradius(integer) : "Alert Radius" : "" : "Supposedly, Sets the alert radius for the Terrorists. Not sure if working" | ||
behavior(choices) : "Behavior" : : "CASTLE> This was used to override the behavior of the set monster_T/CT_xyz class, making them adopt different movement and schedules, regardless of the weapon they have." = | behavior(choices) : "Behavior" : "" : "CASTLE> This was used to override the behavior of the set monster_T/CT_xyz class, making them adopt different movement and schedules, regardless of the weapon they have." = | ||
[ | [ | ||
0 : "PISTOL" | 0 : "PISTOL" | ||
Line 687: | Line 701: | ||
7 : "GRENADER" | 7 : "GRENADER" | ||
8 : "MP5" | 8 : "MP5" | ||
] | ] | ||
//count(integer) : "Count" : : "Not sure what this does. Could be a count to activate something." | //count(integer) : "Count" : : "Not sure what this does. Could be a count to activate something." | ||
Line 696: | Line 709: | ||
1 : "No" | 1 : "No" | ||
] | ] | ||
dontfall(integer) : "Don't Fall to Floor" : : " | dontfall(integer) : "Don't Fall to Floor" : "" : "Suspends the monster in the air." | ||
dropchance( | dropchance(integer) : "Chance of Drop" : "" : "Item drop chance. Put a value between 0.0 and 1.0." | ||
dropitem(choices) : "Drop" : : "Define the item that drops from the NPC or monster. Make sure the item you spawn is actually in the map first, some items WILL cause an error and throw you back to the menu." = | dropitem(choices) : "Drop" : "" : "Define the item that drops from the NPC or monster. Make sure the item you spawn is actually in the map first, some items WILL cause an error and throw you back to the menu." = | ||
[ | [ | ||
"" : "Nothing" : "Drops nothing" | |||
"weapon_knife" : "Knife" : "Spawn a Knife." | "weapon_knife" : "Knife" : "Spawn a Knife." | ||
"weapon_p228" : "P228" : "Spawn a P228 pistol." | "weapon_p228" : "P228" : "Spawn a P228 pistol." | ||
Line 749: | Line 763: | ||
"ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." | "ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." | ||
"ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." | "ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." | ||
"item_armor" : "Armor Vest" : "Spawn a normal armor vest. 100 AP on pickup." | |||
"item_battery" : "Moddable Armor" : "Spawn a moddable armor pickup. Set to whatever the battery is set to in skill.cfg." | |||
"item_healthkit" : "Normal Healthkit" : "Spawn a normal healthkit. 50 HP on pickup." | |||
"item_healthkitold" : "Moddable Healthkit" : "Spawn a moddable healthkit. Set to whatever the Healthkit is set to in skill.cfg." | |||
"item_antidote" : "Antidote" : "Spawn an antidote. Leftover code from HL1. Not sure if it functions." | |||
] | ] | ||
weaponrange(integer) : "Weapon Range" : : "Defines the range (in units) that the Monster or NPC will attack the player at." | weaponrange(integer) : "Weapon Range" : "" : "Defines the range (in units) that the Monster or NPC will attack the player at." | ||
// poisoned(integer) : "Poisoned (?)" !WARNING! > CAUSES CRASH ON LEVEL LOAD | // poisoned(integer) : "Poisoned (?)" !WARNING! > CAUSES CRASH ON LEVEL LOAD | ||
pumped(choices) : "Pumped" : : "Not sure what this does. The code suggests it changes how the monster's health works." = | pumped(choices) : "Pumped" : "" : "Not sure what this does. The code suggests it changes how the monster's health works." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
wander(choices) : "Wander" : : "Makes the NPC move randomly around the area. Just wandering around with no goal." = | wander(choices) : "Wander" : "" : "Makes the NPC move randomly around the area. Just wandering around with no goal." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
fadespeed(integer) : "Fade Speed" : : "Speed at which bodies will fade out at. Higher number means faster fade.." | fadespeed(integer) : "Fade Speed" : "" : "Speed at which bodies will fade out at. Higher number means faster fade.." | ||
deathfadedelay(integer) : "Death Fade Delay" : : "Delay (in seconds) at which bodies will begin to fade at." | deathfadedelay(integer) : "Death Fade Delay" : "" : "Delay (in seconds) at which bodies will begin to fade at." | ||
deathfade(choices) : "Death Fade" : 0 : "Choose if the body fades after death." = | deathfade(choices) : "Death Fade" : 0 : "Choose if the body fades after death." = | ||
[ | [ | ||
Line 773: | Line 792: | ||
@BaseClass base(Targetname, Classtype, Global, Target, RenderFields, Angles) = BaseTank | @BaseClass base(Targetname, Classtype, Global, Target, RenderFields, Angles) = BaseTank | ||
[ | [ | ||
master(target_destination) : "(Team) Master" : : "This version of the master keyvalue is mainly for use with 1009 team settings (game_team_master)." | master(target_destination) : "(Team) Master" : "" : "This version of the master keyvalue is mainly for use with 1009 team settings (game_team_master)." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 792: | Line 811: | ||
spriteflash(sprite) : "Flash Sprite" : "" : "Sprite that will be shown at the end of the barrel when the gun is fired." | spriteflash(sprite) : "Flash Sprite" : "" : "Sprite that will be shown at the end of the barrel when the gun is fired." | ||
spritescale(string) : "Sprite scale" : "1.0" : "Scale of the sprites that appear at the end of the barrel. 1 is normal, 0.5 is half, etc." | spritescale(string) : "Sprite scale" : "1.0" : "Scale of the sprites that appear at the end of the barrel. 1 is normal, 0.5 is half, etc." | ||
rotatesound(sound) : "Rotate Sound" : | rotatesound(sound) : "Rotate Sound" : : "Choose a sound to use when the turret is moving." | ||
firerate(string) : "Rate of Fire" : "1.0" : "Number of bullets fired per second." | firerate(string) : "Rate of Fire" : "1.0" : "Number of bullets fired per second." | ||
bullet_damage(integer) : "Damage Per Bullet" : 0 : "Default is 0, so if you want it to kill things you must enter something." | bullet_damage(integer) : "Damage Per Bullet" : 0 : "Default is 0, so if you want it to kill things you must enter something." | ||
Line 804: | Line 823: | ||
4 : "Extra-large cone" | 4 : "Extra-large cone" | ||
] | ] | ||
minRange(string) : "Minimum target range" : " | minRange(string) : "Minimum target range" : "" : "Minimum range the target can be at for a non-player-controlled gun to fire." | ||
maxRange(string) : "Maximum target range" : " | maxRange(string) : "Maximum target range" : "" : "Maximum range the target can be at for a non-player-controlled gun to fire." | ||
_minlight(integer) : "Minimum light level" : | _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." | ||
] | ] | ||
Line 840: | Line 859: | ||
11 : "Electric gate 2" : "Shorter, more muted electric gate locking sound." | 11 : "Electric gate 2" : "Shorter, more muted electric gate locking sound." | ||
] | ] | ||
wait(integer) : "delay before close" : | wait(integer) : "delay before close" : "" : "Time to wait before the door closes after opening (-1 or 0 makes it stay open, or else use >0.1)" | ||
lip(integer) : "Lip" : : "Number of units left after move (the lip value is subtracted from the move distance)." | lip(integer) : "Lip" : "" : "Number of units left after move (the lip value is subtracted from the move distance)." | ||
dmg(integer) : "Damage inflicted when blocked" : | dmg(integer) : "Damage inflicted when blocked" : "" : "Set the damage given to something if it blocks a door." | ||
message(string) : "Message if triggered" : : "Set if the door fires a message. This key might not work." | message(string) : "Message if triggered" : "" : "Set if the door fires a message. This key might not work." | ||
netname(target_destination) : "Fire on Close" : : "Input a entity name that will be triggered when the door is closed. This key might not work." | netname(target_destination) : "Fire on Close" : "" : "Input a entity name that will be triggered when the door is closed. This key might not work." | ||
health(integer) : "Health (shoot open)" : | health(integer) : "Health (shoot open)" : "" : "With a non-zero value here, the door will have to be damaged to this extent to open. This key might not work." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 913: | Line 932: | ||
8 : "Maintenance area" | 8 : "Maintenance area" | ||
] | ] | ||
_minlight(integer) : "Minimum light level" : | _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." | ||
skin(choices) : "Contents" : 0 = | skin(choices) : "Contents" : 0 = | ||
[ | [ | ||
Line 924: | Line 943: | ||
-16 : "Ladder" | -16 : "Ladder" | ||
] | ] | ||
explodemagnitude(integer) : "Explosion Magnitude" : : "Not sure what this does." | //explodemagnitude(integer) : "Explosion Magnitude" : : "Not sure what this does." | ||
] | ] | ||
@BaseClass size(-16 -16 -16, 16 16 16) base(Targetname, Angles) = gibshooterbase | @BaseClass size(-16 -16 -16, 16 16 16) base(Targetname, Angles) = gibshooterbase | ||
[ | [ | ||
m_iGibs(integer) : "Number of Gibs" : | m_iGibs(integer) : "Number of Gibs" : "" : "How many gibs to make." | ||
delay(string) : "Delay between shots" : " | delay(string) : "Delay between shots" : "" : "Delay (in seconds) between shots. If 0, all gibs shoot at once." | ||
m_flVelocity(string) : "Gib Velocity" : " | m_flVelocity(string) : "Gib Velocity" : "" : "How fast the gibs are fired." | ||
m_flVariance(string) : "Course Variance" : " | m_flVariance(string) : "Course Variance" : "" : "How much spread is added to the gibs." | ||
m_flGibLife(string) : "Gib Life" : " | m_flGibLife(string) : "Gib Life" : "" : "Time in seconds before the gibs disappear." | ||
bodygroup(integer) : "Bodygroup" : : "allows a specific bodygroup to be selected." | bodygroup(integer) : "Bodygroup" : "" : "allows a specific bodygroup to be selected." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 961: | Line 980: | ||
12 : "Underwater" | 12 : "Underwater" | ||
] | ] | ||
pattern(string) : "Custom Appearance" : : "Use a string of letters to provide a custom light style. The property allows you to enter a string of letters from a to z, representing brightness. If you entered 'abcdefghihgfedcba' then the light would go from bright to dim and back again and then repeat. Complicating things, to use this feature, you must name the light. However, if you then use a trigger to activate it, then it will behave as a normal light." | pattern(string) : "Custom Appearance" : "" : "Use a string of letters to provide a custom light style. The property allows you to enter a string of letters from a to z, representing brightness. If you entered 'abcdefghihgfedcba' then the light would go from bright to dim and back again and then repeat. Complicating things, to use this feature, you must name the light. However, if you then use a trigger to activate it, then it will behave as a normal light." | ||
_fade(integer) : "Fade (ZHLT Only)" : 1 : "In the simplest words, it customizes light fading. '1.0' for normal fade, larger values for 'shorter' lights." | _fade(integer) : "Fade (ZHLT Only)" : 1 : "In the simplest words, it customizes light fading. '1.0' for normal fade, larger values for 'shorter' lights." | ||
_falloff(Choices) : "Falloff (ZHLT Only)" : 0 : "Changes the way that light is calculated. Inverse square is default. Linear creates collimated lighting, similar to that of a projector." = | _falloff(Choices) : "Falloff (ZHLT Only)" : 0 : "Changes the way that light is calculated. Inverse square is default. Linear creates collimated lighting, similar to that of a projector." = | ||
[ | [ | ||
Line 974: | Line 992: | ||
1 : "Initially dark" : 0 : "If enabled, the entity will need to be triggered to work." | 1 : "Initially dark" : 0 : "If enabled, the entity will need to be triggered to work." | ||
] | ] | ||
] | ] | ||
Line 1,034: | Line 1,043: | ||
] | ] | ||
rotation(integer) : "Spin amount" : 0 : "This is the amount in degrees the track will turn on its way up / down." | rotation(integer) : "Spin amount" : 0 : "This is the amount in degrees the track will turn on its way up / down." | ||
train(target_destination) : "Train to switch" : "The Name of the train that is using the track." | train(target_destination) : "Train to switch" : "" : "The Name of the train that is using the track." | ||
toptrack(target_destination) : "Top track" : "This is the Name of the last path_corner in the upper track." | toptrack(target_destination) : "Top track" : "" : "This is the Name of the last path_corner in the upper track." | ||
bottomtrack(target_destination) : "Bottom track" : "The Name of the first path_corner in the lower track." | bottomtrack(target_destination) : "Bottom track" : "" : "The Name of the first path_corner in the lower track." | ||
speed(integer) : "Move/Rotate speed" : 0 : "The speed in units/sec that the track platform will move. If the Rotate Only flag is set this will be the speed of rotation only." | speed(integer) : "Move/Rotate speed" : 0 : "The speed in units/sec that the track platform will move. If the Rotate Only flag is set this will be the speed of rotation only." | ||
] | ] | ||
Line 1,042: | Line 1,051: | ||
@BaseClass base(Targetname, Master, Target) = Trigger | @BaseClass base(Targetname, Master, Target) = Trigger | ||
[ | [ | ||
delay(string) : "Delay before trigger" : " | delay(string) : "Delay before trigger" : "" : "Time delay before triggering the target" | ||
killtarget(target_destination) : "Kill target" : : "Removes the targeted entity from the game." | killtarget(target_destination) : "Kill target" : "" : "Removes the targeted entity from the game." | ||
netname(target_destination) : "Target path" : : "If a trigger has a netname, that netname will become the target of the triggered object." | netname(target_destination) : "Target path" : "" : "If a trigger has a netname, that netname will become the target of the triggered object." | ||
querytarget(string) : "Query target" : : "Used to query a target. It can be set to a variety of entities. can be set to 'player'." | querytarget(string) : "Query target" : "" : "Used to query a target. It can be set to a variety of entities. can be set to 'player'." | ||
viewtarget(string) : "View target" : : "Define a view target. Commonly used to define a spot that the player must be looking at in order to trigger something. Can be an info_target." | viewtarget(string) : "View target" : "" : "Define a view target. Commonly used to define a spot that the player must be looking at in order to trigger something. Can be an info_target." | ||
viewconedegrees(integer) : "Viewcone | viewconedegrees(integer) : "Viewcone angle" : "" : "Used with 'View target'. Define the angle that the target must be seen from in order to trigger something. Value can be set between '1' > '360'. Use the compass in JACK to get an accurate angle." | ||
globalstate(string) : "Global state" : : "Queries a global state to make sure it is active before triggering something, kinda like a second master key but for the view target." | healthover(string) : "Health over" : "" : "Used with 'Query target'. Tigger X when health is over Y amount." | ||
style(integer) : "Style" : 32 : "Not sure what this does." | healthunder(string) : "Health under" : "" : "Used with 'Query target'. Tigger X when health is under Y amount." | ||
sounds(choices) : "Sound style" : | healthequal(string) : "Health equal" : "" : "Used with 'Query target'. Tigger X when health is equal to Y amount." | ||
globalstate(string) : "Global state" : "" : "Queries a global state to make sure it is active before triggering something, kinda like a second master key but for the view target." | |||
//style(integer) : "Style" : 32 : "Not sure what this does." | |||
sounds(choices) : "Sound style" : "" : "This use to be the secret sounds found in Quake. It seems to not work anymore." = | |||
[ | [ | ||
0 : "No Sound" | 0 : "No Sound" | ||
] | ] | ||
message(string) : "Message" : : "A message to display when triggered." | message(string) : "Message" : "" : "A message to display when triggered." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 1,067: | Line 1,079: | ||
@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) flags (angle) = aiscripted_sequence : "AI Scripted Sequence: Like the scripted_sequence entity, the aiscripted_sequence entity allows you to make a monster entity move to a specific location and/or perform a given animation. Unlike scripted_sequence, aiscripted_sequence completely overrides the targeted monster's AI. Regardless of what you do to the monster, it will follow this sequence." | @PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) flags (angle) = aiscripted_sequence : "AI Scripted Sequence: Like the scripted_sequence entity, the aiscripted_sequence entity allows you to make a monster entity move to a specific location and/or perform a given animation. Unlike scripted_sequence, aiscripted_sequence completely overrides the targeted monster's AI. Regardless of what you do to the monster, it will follow this sequence." | ||
[ | [ | ||
m_iszEntity(target_destination) : "Target Monster" : : "The name of the monster entity that this sequence affects. You can also input a monster type (monster_scientist, for example. But, only one monster will be chosen to follow the sequence.)" | m_iszEntity(target_destination) : "Target Monster" : "" : "The name of the monster entity that this sequence affects. You can also input a monster type (monster_scientist, for example. But, only one monster will be chosen to follow the sequence.)" | ||
m_iszPlay(string) : "Action Animation" : : "The name of the animation that will be performed by Target Monster." | m_iszPlay(string) : "Action Animation" : "" : "The name of the animation that will be performed by Target Monster." | ||
m_flRadius(string) : "Search Radius" : "512.0" : "If you input a monster type into Target Monster, the entity will pick a monster within this radius of the entity to follow the sequence. If none are within the radius, the first monster to enter the radius will follow the sequence." | m_flRadius(string) : "Search Radius" : "512.0" : "If you input a monster type into Target Monster, the entity will pick a monster within this radius of the entity to follow the sequence. If none are within the radius, the first monster to enter the radius will follow the sequence." | ||
m_flRepeat(string) : "Repeat Rate ms" : " | m_flRepeat(string) : "Repeat Rate ms" : "" : "Seems to not work." | ||
m_fMoveTo(Choices) : "Move to Position" : 0 : "Sets how (or if) the monster moves before performing the animation. Choices are:" = | m_fMoveTo(Choices) : "Move to Position" : 0 : "Sets how (or if) the monster moves before performing the animation. Choices are:" = | ||
[ | [ | ||
Line 1,079: | Line 1,091: | ||
5 : "No - Turn to Face" : "The monster will not move, but will turn to the aiscripted_sequence's angle before performing the animation." | 5 : "No - Turn to Face" : "The monster will not move, but will turn to the aiscripted_sequence's angle before performing the animation." | ||
] | ] | ||
m_iFinishSchedule(Choices) : "AI Schedule when done" : | m_iFinishSchedule(Choices) : "AI Schedule when done" : "" : "Allows you to have the monster's AI schedule change to 'Ambush' when the sequence is done, which means that the monster will be in an attentive state and encounter enemies more actively. This key might not work." = | ||
[ | [ | ||
0 : "Default AI" | 0 : "Default AI" | ||
Line 1,099: | Line 1,111: | ||
@PointClass iconsprite("sprites/Hammer/AmbientGeneric.spr") base(Targetname, Angles) = ambient_generic : "Universal Ambient" | @PointClass iconsprite("sprites/Hammer/AmbientGeneric.spr") base(Targetname, Angles) = ambient_generic : "Universal Ambient" | ||
[ | [ | ||
message(sound) : "Path/filename.wav of WAV" : : "This defines which sound file will be played by the entity. This accepts an input of the form: path/filename.wav (starting from the sound folder). (Example: ambience/drips.wav). The name of a sentence defined in sentences.txt will also be accepted with the form: !SENTENCENAME. (Example: !HG_ALERT1)" | message(sound) : "Path/filename.wav of WAV" : "" : "This defines which sound file will be played by the entity. This accepts an input of the form: path/filename.wav (starting from the sound folder). (Example: ambience/drips.wav). The name of a sentence defined in sentences.txt will also be accepted with the form: !SENTENCENAME. (Example: !HG_ALERT1)" | ||
health(integer) : "Volume (10 = loudest)" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default). (If using dynamics attributes below, this is the maximum volume the sound will reach)." | health(integer) : "Volume (10 = loudest)" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default). (If using dynamics attributes below, this is the maximum volume the sound will reach)." | ||
preset(choices) :"Dynamic Presets" : 0 : "Sets the ambient_generic to use a predefined set of dynamics. If set to anything other than :None:, this will override every other attribute apart from Name and WAV Name." = | preset(choices) :"Dynamic Presets" : 0 : "Sets the ambient_generic to use a predefined set of dynamics. If set to anything other than :None:, this will override every other attribute apart from Name and WAV Name." = | ||
Line 1,132: | Line 1,144: | ||
27 : "Haunted" : "Slow switch between normal and slow speed. Quick fade out." | 27 : "Haunted" : "Slow switch between normal and slow speed. Quick fade out." | ||
] | ] | ||
volstart(integer) : "Start Volume" : | volstart(integer) : "Start Volume" : "" : "Sets the volume that the sound should start at when fading in, and that it should stop at when fading out. Scales from 0 (completely silent) to 10 (maximum). (Should be lower than Volume.)." | ||
fadein(integer) : "Fade in time (0-100)" : | fadein(integer) : "Fade in time (0-100)" : "" : "Sets how long the sound should take to fade in from Start Volume to Volume. Scales from 0 (instant) to 100 (very long)." | ||
fadeout(integer) : "Fade out time (0-100)" : | fadeout(integer) : "Fade out time (0-100)" : "" : "Sets how long the sound should take to fade out from Volume to Start Volume. Scales from 0 (instant) to 100 (very long)." | ||
pitch(integer) : "Pitch (> 100 = higher)" : | pitch(integer) : "Pitch (> 100 = higher)" : "" : "Sets the pitch of the sound. Scales from 100 (default), with lower values meaning lower pitch and higher values meaning higher pitch." | ||
pitchstart(integer) : "Start Pitch" : | pitchstart(integer) : "Start Pitch" : "" : "Sets the pitch that the sound should start at when spinning up, and that it should stop at when spinning down. Scales from 100 (default), with lower values meaning lower pitch and higher values meaning higher pitch. (Should be lower than Pitch.)" | ||
spinup(integer) : "Spin up time (0-100)" : | spinup(integer) : "Spin up time (0-100)" : "" : "Sets how long the sound should take to spin up from Start Pitch to Pitch. Scales from 0 (instant) to 100 (very long)." | ||
spindown(integer) : "Spin down time (0-100)" : | spindown(integer) : "Spin down time (0-100)" : "" : "Sets how long the sound should take to spin down from Pitch to Start Pitch. Scales from 0 (instant) to 100 (very long)." | ||
lfotype(choices) : "LFO type" : : "Allows the sound to have certain oscillating effects applied to its pitch." = | lfotype(choices) : "LFO type" : 0 : "Allows the sound to have certain oscillating effects applied to its pitch." = | ||
[ | [ | ||
0 : "Off" : "Disables the LFO effects." | 0 : "Off" : "Disables the LFO effects." | ||
Line 1,146: | Line 1,158: | ||
3 : "RND" : "Randomly switches pitches." | 3 : "RND" : "Randomly switches pitches." | ||
] | ] | ||
lforate(integer) : "LFO rate (0-1000)" : | lforate(integer) : "LFO rate (0-1000)" : "" : "Sets how quickly the pitch changes with the LFO effects. Scales between 0 (does not change) and 1000 (changes extremely quickly)." | ||
lfomodpitch(integer) : "LFO mod pitch (0-100)" : | lfomodpitch(integer) : "LFO mod pitch (0-100)" : "" : "Sets how much the pitch should change with the LFO effects. Scales between 0 (does not change) and 100 (very large changes)." | ||
lfomodvol(integer) : "LFO mod vol (0-100)" : | lfomodvol(integer) : "LFO mod vol (0-100)" : "" : "Sets how much the volume should change with the LFO effects. Seems to coincide with lower pitches. Scales between 0 (does not change) and 100 (silent)." | ||
cspinup(integer) : "Incremental spinup count" : | cspinup(integer) : "Incremental spinup count" : "" : "Sets how many times the ambient_generic can be triggered to have the pitch spin up on top of the pitch it was already playing at. Setting this to a value other than 0 will disable toggling the sound, and will prevent the sound from being turned off even it has been triggered that many times." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 1,169: | Line 1,181: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (10 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines (Fill AWP)" | ||
] | ] | ||
] | ] | ||
Line 1,179: | Line 1,191: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (13 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines" | ||
4 : "4 | 4 : "4 Magazines (Fill P-228)" | ||
] | ] | ||
] | ] | ||
Line 1,190: | Line 1,202: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (12 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines" | ||
4 : "4 | 4 : "4 Magazines (Fill USP45)" | ||
5 : "5 | 5 : "5 Magazines" | ||
6 : "6 | 6 : "6 Magazines" | ||
7 : "7 | 7 : "7 Magazines" | ||
8 : "8 | 8 : "8 Magazines (Fill Mac-10)" | ||
9 : "9 | 9 : "9 Magazines (Fill UMP 45)" | ||
] | ] | ||
] | ] | ||
Line 1,206: | Line 1,218: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (7 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines" | ||
4 : "4 | 4 : "4 Magazines" | ||
5 : "5 | 5 : "5 Magazines (Fill Desert Eagle)" | ||
] | ] | ||
] | ] | ||
Line 1,218: | Line 1,230: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (30 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines (Fill SG552, M4A1, Aug and SG550)" | ||
] | ] | ||
] | ] | ||
Line 1,228: | Line 1,240: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (30 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines" | ||
4 : "4 | 4 : "4 Magazines" | ||
5 : "5 | 5 : "5 Magazines" | ||
6 : "6 | 6 : "6 Magazines" | ||
7 : "7 | 7 : "7 Magazines (Fill FN M249 Para)" | ||
] | ] | ||
] | ] | ||
Line 1,242: | Line 1,254: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (60 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines" | ||
4 : "4 | 4 : "4 Magazines (Fill M60)" | ||
] | ] | ||
] | ] | ||
Line 1,253: | Line 1,265: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (50 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines (Fill Five-Seven & P90)" | ||
] | ] | ||
] | ] | ||
Line 1,262: | Line 1,274: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (30 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines (Fill Scout & G3/S-G1)" | ||
3 : "3 | 3 : "3 Magazines (Fill AK-47)" | ||
] | ] | ||
] | ] | ||
Line 1,272: | Line 1,284: | ||
numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Magazine (30 Bullets Per Magazine)" | ||
2 : "2 | 2 : "2 Magazines" | ||
3 : "3 | 3 : "3 Magazines (Fill Glock 18)" | ||
4 : "4 | 4 : "4 Magazines (Fill Elites, MP5 & TMP)" | ||
] | ] | ||
] | ] | ||
Line 1,281: | Line 1,293: | ||
@PointClass base(RenderFields, Angles) studio("models/w_shotbox.mdl") = ammo_buckshot : "12 Gauge Ammo: For the M3 and XM1014." | @PointClass base(RenderFields, Angles) studio("models/w_shotbox.mdl") = ammo_buckshot : "12 Gauge Ammo: For the M3 and XM1014." | ||
[ | [ | ||
numclips(choices) : "Number of | numclips(choices) : "Number of shells" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = | ||
[ | [ | ||
1 : "1 | 1 : "1 Box (8 Shells Per Magazine)" | ||
2 : "2 | 2 : "2 Boxes" | ||
3 : "3 | 3 : "3 Boxes" | ||
4 : "4 | 4 : "4 Boxes (Fill Benelli M3, XM1014)" | ||
] | ] | ||
] | ] | ||
@PointClass base(RenderFields, Angles) studio("models/w_weaponbox.mdl") = ammo_generic : "Generic Ammo: Every ammo type at max is given." [] | @PointClass base(RenderFields, Angles) studio("models/w_weaponbox.mdl") = ammo_generic : "Generic Ammo: Every ammo type at max is given." [] | ||
@PointClass size(-16 -16 0, 16 16 64) color(0 128 0) studio("models/w_weaponbox.mdl") = weaponbox : "Ammo Container: Can specify a specific amount of ammo to give the player. 1 = 1 unit of ammo." | |||
[ | |||
357SIG : "357SIG Amount" : "" : "Amount of 357SIG to give the player." | |||
9mm : "9mm Amount" : "" : "Amount of 9mm to give the player." | |||
45acp : "45acp Amount" : "" : "Amount of 45acp to give the player." | |||
50AE : "50AE Amount" : "" : "Amount of 50AE to give the player." | |||
57mm : "57mm Amount" : "" : "Amount of 57mm to give the player." | |||
556Nato : "556Nato Amount" : "" : "Amount of 556Nato to give the player." | |||
762Nato : "762Nato Amount" : "" : "Amount of 762Nato to give the player." | |||
556NatoBox : "556NatoBox Amount" : "" : "Amount of 556NatoBox to give the player." | |||
762NatoBox : "762NatoBox Amount" : "" : "Amount of 762NatoBox to give the player." | |||
338Magnum : "338Magnum Amount" : "" : "Amount of 338Magnum to give the player." | |||
buckshot : "Buckshot Amount" : "" : "Amount of buckshot to give the player." | |||
bomb : "Bomb Amount" : "" : "Amount of bombs to give the player." | |||
skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)" | |||
body(choices) : "Body" : "1" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)" = | |||
[ | |||
1 : "Bomb pack" | |||
2 : "Supply pack" | |||
] | |||
] | |||
@PointClass base(RenderFields, Angles) studio("models/w_357sig.mdl") = ammo_bomb : "RC Bomb ammo. Gives 5 bombs. Functions like any other ammo, only issue is the spawned model is a 9mm box. Best to use a ent setup with game_player_equip." [] | |||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
Line 1,367: | Line 1,403: | ||
@PointClass iconsprite("sprites/Hammer/EnvRain.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = env_rain : "env_rain: Point class version of the entity of the same name." [] | @PointClass iconsprite("sprites/Hammer/EnvRain.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = env_rain : "env_rain: Point class version of the entity of the same name." [] | ||
@PointClass iconsprite("sprites/Hammer/EnvBeam.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = test_effect : "test_effect: A strange sprite based entity that looks like a HL1 vortigaunt spawn." [] | |||
@PointClass iconsprite("sprites/Hammer/EnvBeam.spr") base(Targetname, BeamStartEnd, RenderFields) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect: The env_beam entity creates a line composed of a loop of sprites with various effects. It is often used to create lasers or electricity." | @PointClass iconsprite("sprites/Hammer/EnvBeam.spr") base(Targetname, BeamStartEnd, RenderFields) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect: The env_beam entity creates a line composed of a loop of sprites with various effects. It is often used to create lasers or electricity." | ||
Line 1,411: | Line 1,449: | ||
@PointClass iconsprite("sprites/Hammer/EnvBlood.spr") base(Targetname, Angles, RenderFields) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects: When triggered, an env_blood entity will spawn a spray of blood, similar to the blood effect generated when one attacks an enemy." | @PointClass iconsprite("sprites/Hammer/EnvBlood.spr") base(Targetname, Angles, RenderFields) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects: When triggered, an env_blood entity will spawn a spray of blood, similar to the blood effect generated when one attacks an enemy." | ||
[ | [ | ||
color(choices) : "Blood Color" : | color(choices) : "Blood Color" : "" : "Sets the colour of the blood." = | ||
[ | [ | ||
"" : "Grey" | |||
1 : "Yellow (Alien)" | 1 : "Yellow (Alien)" | ||
2 : "Red" | 2 : "Red" | ||
Line 1,453: | Line 1,491: | ||
smokesprite(sprite) : "Smoke sprite" : : "The smoke ball sprite that will appear after the env_explosion is triggered." | smokesprite(sprite) : "Smoke sprite" : : "The smoke ball sprite that will appear after the env_explosion is triggered." | ||
spritescale(integer) : "Sprite scale" : 1.0 : "Set the size that the sprite is rendered at." | spritescale(integer) : "Sprite scale" : 1.0 : "Set the size that the sprite is rendered at." | ||
poisongas(choices) : "Poison explosion" : | poisongas(choices) : "Poison explosion" : "" : "Choose if poison gas FX replaces the explosion(Poison gas has no damage.)" = | ||
[ | [ | ||
"" : "No" | |||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
nosound(choices) : "No sound" : | nosound(choices) : "No sound" : "" : "TESTING: Turns the explosion sound off." = | ||
[ | [ | ||
"" : "No" | |||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
Line 1,565: | Line 1,603: | ||
@PointClass iconsprite("sprites/Hammer/EnvLiveAmmoShooter.spr") base(Targetname, Target, Angles) = env_liveammoshooter : "Live Ammo Shooter: Shoots active explosives at its target. This one has to have a 'target' otherwise it does nothing. Very amusing to use the type 'player' as a target." | @PointClass iconsprite("sprites/Hammer/EnvLiveAmmoShooter.spr") base(Targetname, Target, Angles) = env_liveammoshooter : "Live Ammo Shooter: Shoots active explosives at its target. This one has to have a 'target' otherwise it does nothing. Very amusing to use the type 'player' as a target." | ||
[ | [ | ||
type(choices) : "Ammo Type" : : "Choose the type of ammo that this entity fires. Options are:" = | type(choices) : "Ammo Type" : "" : "Choose the type of ammo that this entity fires. Options are:" = | ||
[ | [ | ||
"hegrenade" : "HE Grenade" | "hegrenade" : "HE Grenade" | ||
Line 1,574: | Line 1,612: | ||
] | ] | ||
//shootsounds(integer) : "Shoot sound" : 0 : "Sound the entity makes when triggered." | //shootsounds(integer) : "Shoot sound" : 0 : "Sound the entity makes when triggered." | ||
velmod(string) : "Velocity | velmod(string) : "Velocity" : "1.0" : "Changes the velocity of the explosive being fired." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 1,583: | Line 1,621: | ||
@PointClass iconsprite("sprites/Hammer/EnvMessage.spr") base(Targetname, Target) = env_message : "HUD Text Message: The env_message entity allows you to display predefined text messages on the screen. The messages it can display are defined in the titles.txt file. Due to the titles.txt file being a generic file (not map specific), editing this file is not recommended unless you are creating a custom mod. You should use a game_text entity if you require custom messages outside of a custom mod." | @PointClass iconsprite("sprites/Hammer/EnvMessage.spr") base(Targetname, Target) = env_message : "HUD Text Message: The env_message entity allows you to display predefined text messages on the screen. The messages it can display are defined in the titles.txt file. Due to the titles.txt file being a generic file (not map specific), editing this file is not recommended unless you are creating a custom mod. You should use a game_text entity if you require custom messages outside of a custom mod." | ||
[ | [ | ||
message(string) : "Message Name" : "This should specify the name of the message that will be displayed, as defined in the titles.txt file." | message(string) : "Message Name" : "" : "This should specify the name of the message that will be displayed, as defined in the titles.txt file." | ||
messagesound(sound) : "Sound effect" : "This allows you to specify a sound that should play when the message is shown to the player." | messagesound(sound) : "Sound effect" : : "This allows you to specify a sound that should play when the message is shown to the player." | ||
messagevolume(integer) : "Volume 0-10" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." | messagevolume(integer) : "Volume 0-10" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." | ||
messageattenuation(Choices) : "Sound Radius" : 0 : "Sets how far away from the env_message entity the sound can be heard." = | messageattenuation(Choices) : "Sound Radius" : 0 : "Sets how far away from the env_message entity the sound can be heard." = | ||
Line 1,632: | Line 1,670: | ||
] | ] | ||
@PointClass iconsprite("sprites/Hammer/EnvShooter.spr") base(gibshooterbase | @PointClass iconsprite("sprites/Hammer/EnvShooter.spr") base(RenderFields ,gibshooterbase) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter: The env_shooter entity, when triggered, shoots out a number of models or sprites, often used to create a spilling or bursting effect." | ||
[ | [ | ||
shootmodel(studio) : "Model" : "" : "This defines which model or sprite file will be shot by the entity." | shootmodel(studio) : "Model" : "" : "This defines which model or sprite file will be shot by the entity." | ||
Line 1,730: | Line 1,768: | ||
@BaseClass base () = Breakable | @BaseClass base () = Breakable | ||
[ | [ | ||
gibentityvelocity(integer) : "Gib velocity" | //gibentityvelocity(integer) : "Gib velocity" : "" : "Not sure what this does." | ||
delay(string) : "Delay before fire" : "0.0" : "Delay before Target on Break is triggered after being broken." | delay(string) : "Delay before fire" : "0.0" : "Delay before Target on Break is triggered after being broken." | ||
health(integer) : "Durability" : : "The amount of damage the entity will take before breaking." | health(integer) : "Durability" : 15 : "The amount of damage the entity will take before breaking." | ||
material(choices) : "Material" : : "The type of material that a func_breakable or func_pushable should act as. Options are:" = | material(choices) : "Material" : "" : "The type of material that a func_breakable or func_pushable should act as. Options are:" = | ||
[ | [ | ||
0: "Glass" | 0: "Glass" | ||
Line 1,754: | Line 1,791: | ||
directed : "Attack direction" | directed : "Attack direction" | ||
] | ] | ||
gibmodel( | gibmodel(choices) : "Custom gib model" : "" : "Model to use for gibs (overrides default specified by Material Type)." = | ||
spawnobject(choices) : "Spawn when broken" : : "Used by func_breakable and func_pushable. Determines what item is spawned when the entity is broken. Options are:" = | [ | ||
"models/gibs_null.mdl" : "No model" : "Null. Nothing. Zip. Nill." | |||
"models/gibs_woodplank.mdl" : "Wooden Planks" : "Wooden Plank. For all your wood needs." | |||
"models/gibs_vent1.mdl" : "Big Vent" : "Big Vent. Looks kinda new." | |||
"models/gibs_vent2.mdl" : "Rusty Vent" : "Rusty Vent. Nothing more, nothing less." | |||
"models/gibs_vent3.mdl" : "Office Vent" : "Office Vent. The kind you'd find in your local office job." | |||
"models/gibs_wallbrown.mdl" : "Brown Wall" : "Brown Brick wall." | |||
"models/gibs_wallgrey.mdl" : "Grey Wall" : "Grey Concrete wall. Less brick, more concrete." | |||
"models/gibs_wallorange.mdl" : "Orange Wall" : "Orange Brick Wall. Brown Bricks with orange insides." | |||
"models/gibs_twig.mdl" : "Twigs" : "Twig and Leaves. Cutting down a tree? Use this one." | |||
"models/gibs_stairsmetal.mdl" : "Metal Stairs" : "Metal Stairs. Specific use case, but handy to have." | |||
"models/gibs_anime.mdl" : "Manga" : "Manga. Straight up Japanese manga." | |||
"models/gibs_brickred.mdl" : "Red Brick" : "Red Brick wall. Pretty nice Brick wall." | |||
"models/gibs_brickyellow.mdl" : "Yellow Brick" : "Yellow Brick. Looks more like a sandstone wall texture." | |||
"models/gibs_bars.mdl" : "Metal Bars" : "Metal Bars. Not much to say for this one." | |||
"models/gibs_food.mdl" : "Food" : "Food. That is all it is." | |||
"models/gibs_crate.mdl" : "Crate" : "Wooden Crate. Uses a generic crate texture, looks nice." | |||
"models/gibs_barrel.mdl" : "Explosive Barrel" : "Explosive Barrel. Good for cool entity set ups with a boom element." | |||
] | |||
spawnobject(choices) : "Spawn when broken" : "" : "Used by func_breakable and func_pushable. Determines what item is spawned when the entity is broken. Options are:" = | |||
[ | [ | ||
"": "None, No drop" : "Nothing." | |||
"weapon_knife" : "Knife" : "Spawn a Knife." | "weapon_knife" : "Knife" : "Spawn a Knife." | ||
"weapon_p228" : "P228" : "Spawn a P228 pistol." | "weapon_p228" : "P228" : "Spawn a P228 pistol." | ||
Line 1,806: | Line 1,863: | ||
"ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." | "ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." | ||
"ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." | "ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." | ||
"item_armor" : "Armor Vest" : "Spawn a normal armor vest. 100 AP on pickup." | |||
"item_battery" : "Moddable Armor" : "Spawn a moddable armor pickup. Set to whatever the battery is set to in skill.cfg." | |||
"item_healthkit" : "Normal Healthkit" : "Spawn a normal healthkit. 50 HP on pickup." | |||
"item_healthkitold" : "Moddable Healthkit" : "Spawn a moddable healthkit. Set to whatever the Healthkit is set to in skill.cfg." | |||
"item_antidote" : "Antidote" : "Spawn an antidote. Leftover code from HL1. Not sure if it functions." | |||
"item_longjump" : "Long Jump Module" : "Spawn a Long Jump Module. Functions the same way as HL1." | |||
] | ] | ||
explodemagnitude(integer) : "Explosion range" : : "This will determine the size of the explosion that occurs when the brush breaks." | explodemagnitude(integer) : "Explosion range" : "" : "This will determine the size of the explosion that occurs when the brush breaks." | ||
explodespritescale(integer) : "Explosion sprite scale" : : "Size of the sprite that spawns form the explosion range." | explodespritescale(integer) : "Explosion sprite scale" : "" : "Size of the sprite that spawns form the explosion range." | ||
onlydamagedby(choices) : "Only damaged by" : : "Choose what weapon or tool can damage this breakable." = | onlydamagedby(choices) : "Only damaged by" : "" : "Choose what weapon or tool can damage this breakable." = | ||
[ | [ | ||
"" : "None" : "None" | |||
"weapon_knife" : "Knife" : "A Knife." | "weapon_knife" : "Knife" : "A Knife." | ||
"weapon_p228" : "P228" : "P228 pistol." | "weapon_p228" : "P228" : "P228 pistol." | ||
Line 1,846: | Line 1,910: | ||
"bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." | "bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." | ||
] | ] | ||
notdamagedby(choices) : "Not damaged by" : : "Specify what item the breakable is not damaged by. Disables the 'onlydamagedby' key." = | notdamagedby(choices) : "Not damaged by" : "" : "Specify what item the breakable is not damaged by. Disables the 'onlydamagedby' key." = | ||
[ | [ | ||
"" : "None" : "None" | |||
"weapon_knife" : "Knife" : "A Knife." | "weapon_knife" : "Knife" : "A Knife." | ||
"weapon_p228" : "P228" : "P228 pistol." | "weapon_p228" : "P228" : "P228 pistol." | ||
Line 1,883: | Line 1,948: | ||
"bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." | "bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." | ||
] | ] | ||
grenadetouch(choices) : "Grenade touch" : "" : "This is a weird key to use, it is pretty good for realistic glass though, here is how to use it. Case 1: If spawnflag 2 (Touch) or 4 (Pressure) is on, and grenadetouch key is set to 'Yes', it will break on contact. Case 2: If the rendermode for the breakable is set to something other than 'normal', and the key is set to 'yes' it will break on touch." = | |||
grenadetouch(choices) : "Grenade touch" : : "This is a weird key to use, it is pretty good for realistic glass though, here is how to use it. Case 1: If spawnflag 2 (Touch) or 4 (Pressure) is on, and grenadetouch key is set to 'Yes', it will break on contact. Case 2: If the rendermode for the breakable is set to something other than 'normal', and the key is set to 'yes' it will break on touch." = | |||
[ | [ | ||
"" : "No" | |||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
Line 1,917: | Line 1,981: | ||
[ | [ | ||
speed(integer) : "Speed" : 5 : "The speed a moving button will move from its resting state to its activated state." | speed(integer) : "Speed" : 5 : "The speed a moving button will move from its resting state to its activated state." | ||
health(integer) : "Health (shootable if > 0)" : : "If the button has to be shot, rather than pressed, specify a value greater than 0 here. When this amount of damage occurs, the button will activate." | //health(integer) : "Health (shootable if > 0)" : : "If the button has to be shot, rather than pressed, specify a value greater than 0 here. When this amount of damage occurs, the button will activate." | ||
lip(integer) : "Lip" : : "Number of units left after move (the lip value is subtracted from the move distance)." | lip(integer) : "Lip" : : "Number of units left after move (the lip value is subtracted from the move distance)." | ||
changetarget(target_destination) : "Change Target Name" : : "changetarget will change the button's target's TARGET field to the button's changetarget." | changetarget(target_destination) : "Change Target Name" : : "changetarget will change the button's target's TARGET field to the button's changetarget." | ||
Line 2,040: | Line 2,104: | ||
] | ] | ||
distance(integer) : "Distance (deg)" : 90 : "Distance in degrees to rotate." | distance(integer) : "Distance (deg)" : 90 : "Distance in degrees to rotate." | ||
health(integer) : "Health on touch" : "" : "When the player touches this door, it will give the specified health amount." | |||
] | ] | ||
Line 2,069: | Line 2,134: | ||
@SolidClass base(Targetname, RenderFields, ZHLT, Angles, FuncAddition) = func_illusionary : "Fake Wall/Light: The func_illusionary has all the properties of a func_wall entity, except for the fact that it is non-solid." | @SolidClass base(Targetname, RenderFields, ZHLT, Angles, FuncAddition) = func_illusionary : "Fake Wall/Light: The func_illusionary has all the properties of a func_wall entity, except for the fact that it is non-solid." | ||
[ | [ | ||
skin(choices) : "Contents" : | skin(choices) : "Contents" : "" : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = | ||
[ | [ | ||
0 : "Illusionary" | 0 : "Illusionary" | ||
Line 2,079: | Line 2,144: | ||
-16 : "Ladder" | -16 : "Ladder" | ||
] | ] | ||
_minlight(integer) : "Minimum light level" : | _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." | ||
] | ] | ||
Line 2,086: | Line 2,151: | ||
@SolidClass base(Targetname) = func_monsterclip : "Monster clip brush: This entity acts like the 'clip' brush, except it restricts monster movement, not the player's." [] | @SolidClass base(Targetname) = func_monsterclip : "Monster clip brush: This entity acts like the 'clip' brush, except it restricts monster movement, not the player's." [] | ||
@SolidClass base(Targetname) = func_mortar_field : "Mortar Field: This entity is used to define an area that an airstrike is called on." | @SolidClass base(Targetname) = func_mortar_field : "Mortar Field: FLASHBANGS ONLY!!! This entity is used to define an area that an airstrike is called on." | ||
[ | [ | ||
m_flSpread(integer) : "Spread Radius" : 64 : "Defines the accuracy of the bombardment." | m_flSpread(integer) : "Spread Radius" : 64 : "Defines the accuracy of the bombardment." | ||
Line 2,096: | Line 2,161: | ||
2 : "Table" : "Special case. The X and Y controllers can be used in cases where a table is used to define the strike location (as seen in Half-Life)." | 2 : "Table" : "Special case. The X and Y controllers can be used in cases where a table is used to define the strike location (as seen in Half-Life)." | ||
] | ] | ||
m_iszXController(target_destination) : "X Controller" : "The name of a momentary_rot_button to provide a relative strike position on the X axis." | m_iszXController(target_destination) : "X Controller" :"": "The name of a momentary_rot_button to provide a relative strike position on the X axis." | ||
m_iszYController(target_destination) : "Y Controller" : "The name of a momentary_rot_button to provide a relative strike position on the Y axis." | m_iszYController(target_destination) : "Y Controller" :"": "The name of a momentary_rot_button to provide a relative strike position on the Y axis." | ||
] | ] | ||
Line 2,182: | Line 2,247: | ||
changetarget(target_destination) : "ChangeTarget Name" : : "UWU" | changetarget(target_destination) : "ChangeTarget Name" : : "UWU" | ||
speed(integer) : "Speed" : 50 : "How fast the button rotates when activated." | speed(integer) : "Speed" : 50 : "How fast the button rotates when activated." | ||
health(integer) : "Health (shootable if > 0)" : "If non-zero, the button must be damaged to this extent to activate it." | health(integer) : "Health (shootable if > 0)" : "" : "If non-zero, the button must be damaged to this extent to activate it." | ||
sounds(choices) : "Sounds" : 21 : "Choose the sound the button makes when rotating. Options are:" = | sounds(choices) : "Sounds" : 21 : "Choose the sound the button makes when rotating. Options are:" = | ||
[ | [ | ||
Line 2,240: | Line 2,305: | ||
@SolidClass base(BaseTank, ZHLT, Func2) = func_tank : "Brush Gun Turret: This entity allows you to create a controllable or automatic gun turret. To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." | @SolidClass base(BaseTank, ZHLT, Func2) = func_tank : "Brush Gun Turret: This entity allows you to create a controllable or automatic gun turret. To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." | ||
[ | [ | ||
bullet(choices) : "Bullets" : | bullet(choices) : "Bullets" : 1 : "Set the bullet type to fire. The damage that these output can be changed in the skill.cfg file if needed for a custom mod." = | ||
[ | [ | ||
0 : "None" | 0 : "None" | ||
Line 2,371: | Line 2,436: | ||
@SolidClass base(Targetname, RenderFields, ZHLT) = func_wall : "Wall: This entity lets you create a stationary piece of geometry in your level which can then be modified (through its rendering properties) for a number of effects. Often used for things like unbreakable glass, masked textures (fences, ladders). In the past it was also used for performance reasons, but nowadays func_detail (introduced by Vluzacn's compile tools) is often a better choice." | @SolidClass base(Targetname, RenderFields, ZHLT) = func_wall : "Wall: This entity lets you create a stationary piece of geometry in your level which can then be modified (through its rendering properties) for a number of effects. Often used for things like unbreakable glass, masked textures (fences, ladders). In the past it was also used for performance reasons, but nowadays func_detail (introduced by Vluzacn's compile tools) is often a better choice." | ||
[ | [ | ||
_minlight(integer) : "Minimum light level" : | _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." | ||
style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = | style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = | ||
[ | [ | ||
Line 2,389: | Line 2,454: | ||
12 : "Underwater" | 12 : "Underwater" | ||
] | ] | ||
skin(choices) : "Contents" : | skin(choices) : "Contents" : "" : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = | ||
[ | [ | ||
0 : "Normal" | 0 : "Normal" | ||
Line 2,452: | Line 2,517: | ||
] | ] | ||
@PointClass iconsprite("sprites/Hammer/GamePlayerEquip.spr") base(Targetname) = game_player_equip : "Initial player equipment: The game_player_equip entity allows you to provide the player with specific items when it is triggered. To add weapons and ammo, use this format: 'weapon_xyz' or 'item_xyz'." | |||
//!NOTE! Remove this | |||
//@PointClass iconsprite("sprites/Hammer/GamePlayerEquip.spr") base(Targetname) = game_player_equip : "Initial player equipment: The game_player_equip entity allows you to provide the player with specific items when it is triggered. To add weapons and ammo, use this format: 'weapon_xyz' or 'item_xyz'." | |||
//[ | |||
// master(string) : "Team Master" : : "This can be used to limit which team (in a deathmatch game) can receive the items. Takes the name of a game_team_master." | |||
// playerhealth(integer) : "# HP" : : "Sets the players health to the amount specified." | |||
// silent(choices) : "Disable pickup noise" : "" : "Turns the equipment sound on or off." = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// nightvision(choices) : "Nightvision" : "" : "Gives the player nightvision goggles." = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// spawnflags(flags) = | |||
// [ | |||
// 1 : "Use Only" : 0 : "If enabled, The entity cannot be triggered by the player walking into it, but must be triggered by another entity." | |||
// ] | |||
// | |||
//] | |||
@PointClass base(Targetname) iconsprite("sprites/Hammer/GamePlayerEquip.spr") = game_player_equip : "Initial player equipment: The game_player_equip entity allows you to provide the player with specific items when it is triggered. To add weapons and ammo, use this format: 'weapon_xyz' or 'item_xyz'." | |||
[ | [ | ||
master(string) : "Team Master | master(string) : "Team Master" | ||
silent(choices) : "Disable pickup noise" : "" : "Turns the equipment sound on or off." = | |||
silent(choices) : "Disable pickup noise" : | |||
[ | [ | ||
"" : "No" | |||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
nightvision(choices) : "Nightvision" : | |||
nightvision(choices) : "Nightvision" : "" : "Gives the player nightvision goggles." = | |||
[ | [ | ||
"" : "No" | |||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
1 : "Use Only" : 0 | 1: "Use Only" : 0 | ||
] | ] | ||
] | weapon_knife (choices) : "Give Knife" : "" = | ||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_usp (choices) : "Give USP45 (45acp Calibre)" : "" = | |||
[ | [ | ||
"": "No" | |||
1: "Yes" | |||
] | ] | ||
weapon_glock18 (choices) : "Give Glock 18 (9mm Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_deagle (choices) : "Give Desert Eagle (50ae Calibre)" : "" = | |||
[ | [ | ||
"": "No" | |||
1: "Yes" | |||
] | |||
] | |||
weapon_p228 (choices) : "Give P-228 (357sig Calibre)" : "" = | |||
[ | [ | ||
"": "No" | |||
1: "Yes" | |||
] | ] | ||
weapon_elite (choices) : "Give Beretta Elites (9mm Calibre)" : "" = | |||
[ | |||
] | "": "No" | ||
1: "Yes" | |||
] | |||
weapon_fiveseven (choices) : "Give Five-Seven (57mm Calibre)" : "" = | |||
[ | [ | ||
"": "No" | |||
] | 1: "Yes" | ||
] | |||
weapon_m3 (choices) : "Give Benelli M3 (12 Gauge)" : "" = | |||
[ | [ | ||
"": "No" | |||
1: "Yes" | |||
] | |||
] | |||
weapon_xm1014 (choices) : "Give Benelli XM1014 (12 Gauge)" : "" = | |||
[ | [ | ||
"": "No" | |||
1: "Yes" | |||
] | ] | ||
weapon_mp5navy (choices) : "Give MP5/Navy (9mm Calibre)" : "" = | |||
[ | [ | ||
1 : "All Players" : 0 : "Show the text to all players. If not set, only the player who activated the game_text will see the message." | "": "No" | ||
] | 1: "Yes" | ||
] | |||
weapon_tmp (choices) : "Give TMP (9mm Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_p90 (choices) : "Give FN P90 (57mm Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_mac10 (choices) : "Give Mac-10 (45acp Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_ump45 (choices) : "Give UMP 45 (45acp Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_ak47 (choices) : "Give AK-47 (762nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_sg552 (choices) : "Give SG552 (556nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_m4a1 (choices) : "Give M4A1 (556nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_aug (choices) : "Give Aug (556nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_scout (choices) : "Give Scout (762nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_awp (choices) : "Give AWP (338magnum Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_g3sg1 (choices) : "Give G3/SG-1 (762nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_sg550 (choices) : "Give SG550 (556nato Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_m249 (choices) : "Give M249 (556natobox Calibre)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_famas (choices) : "Give Famas (762nato)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_galil (choices) : "Give Galil (556natobox)" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_shield (choices) : "Give Police Riot Shield" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_flashbang (choices) : "Give Flash Bang" : "" = | |||
[ | |||
"": "No" | |||
1: "1" | |||
2: "2" | |||
] | |||
weapon_blowtorch (choices) : "Blowtorch Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_briefcase (choices) : "Briefcase Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_camera (choices) : "Camera Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_fiberopticcamera (choices) : "Fiber-Optic Camera Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_radiocontrolledbomb (choices) : "Radio Bomb Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_radio (choices) : "Radio Tool" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_hegrenade (choices) : "Give High-Explosive Grenade" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
weapon_smokegrenade (choices) : "Give Smoke Grenade" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
ammo_generic (choices) : "Give Smoke Grenade" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
ammo_9mm (choices) : "Give 9mm Parabellum Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (30 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines (Fill Glock 18)" | |||
4: "4 Magazines (Fill Elites, MP5 & TMP)" | |||
] | |||
ammo_45acp (choices) : "Give .45 ACP Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (12 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines" | |||
4: "4 Magazines (Fill USP45)" | |||
5: "5 Magazines" | |||
6: "6 Magazines" | |||
7: "7 Magazines" | |||
8: "8 Magazines (Fill Mac-10)" | |||
9: "9 Magazines (Fill UMP 45)" | |||
] | |||
ammo_50ae (choices) : "Give .50 Deagle Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (7 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines" | |||
4: "4 Magazines" | |||
5: "5 Magazines (Fill Desert Eagle)" | |||
] | |||
ammo_57mm (choices) : "Give 5.7mm Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (50 Bullets Per Magazine)" | |||
2: "2 Magazines (Fill Five-Seven & P90)" | |||
] | |||
ammo_357sig (choices) : "Give .357 SIG Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (13 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines" | |||
4: "4 Magazines (Fill P-228)" | |||
] | |||
ammo_buckshot (choices) : "Give 12 Gauge Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Box (8 Shells Per Magazine)" | |||
2: "2 Boxes" | |||
3: "3 Boxes" | |||
4: "4 Boxes (Fill Benelli M3, XM1014)" | |||
] | |||
ammo_762nato (choices) : "Give 7.62mm NATO Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (30 Bullets Per Magazine)" | |||
2: "2 Magazines (Fill Scout & G3/S-G1)" | |||
3: "3 Magazines (Fill AK-47)" | |||
] | |||
ammo_556nato (choices) : "Give 5.56mm NATO Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (30 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 (Fill SG552 M4A1 Aug SG550)" | |||
] | |||
ammo_556natobox (choices) : "Give 5.56mm NATO Box Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (30 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines" | |||
4: "4 Magazines" | |||
5: "5 Magazines" | |||
6: "6 Magazines" | |||
7: "7 Magazines (Fill FN M249 Para)" | |||
] | |||
ammo_338magnum (choices) : "Give .338 AWP Ammo" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Magazine (10 Bullets Per Magazine)" | |||
2: "2 Magazines" | |||
3: "3 Magazines (Fill AWP)" | |||
] | |||
item_armor (choices) : "Give Kevlar Vest" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
item_healthkitold (choices) : "Give Moddable Health Kit" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Healthkit" | |||
2: "2 Healthkits" | |||
3: "3 Healthkits" | |||
4: "4 Healthkits" | |||
5: "5 Healthkits" | |||
6: "6 Healthkits" | |||
7: "7 Healthkits" | |||
] | |||
item_healthkit (choices) : "Give Health Kit" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Healthkit = 25 Health Points" | |||
2: "2 Healthkits = 50 Health Points" | |||
3: "3 Healthkits = 75 Health Points" | |||
4: "4 Healthkits = 100 Health Points" | |||
] | |||
item_battery (choices) : "Give Moddable Armor" : "" = | |||
[ | |||
"": "No" | |||
1: "1 Battery" | |||
2: "2 Batteries" | |||
3: "3 Batteries" | |||
4: "4 Batteries" | |||
5: "5 Batteries" | |||
6: "6 Batteries" | |||
7: "7 Batteries" | |||
] | |||
item_longjump (choices) : "Give HL Long Jump Module" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
spark_shower (choices) : "Make sparks" : "" = | |||
[ | |||
"": "No" | |||
1: "Yes" | |||
] | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GamePlayerHurt.spr") base(Targetname, Master) = game_player_hurt : "Hurt/Heal player: The game_player_hurt entity can be used to inflict a set amount of damage to a player. Similar to a trigger_hurt, however this entity does not require the player to be in a particular location to take the damage. It also lacks some of the more specific options that a trigger_hurt has." | |||
[ | |||
dmg(string) : "Damage To Apply" : : "Sets the amount of damage to apply to the player that activated the entity. A negative value will heal the player." | |||
spawnflags(flags) = | |||
[ | |||
1 : "Remove On fire" : 0 : "If enabled, the entity will be removed after being triggered." | |||
] | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GameEnd.spr") base(Targetname, Master) = game_end : "End this MP game: The game_end entity is used to end a deathmatch map." [] | |||
@PointClass iconsprite("sprites/Hammer/GamePlayerTeam.spr") base(Targetname, Master) = game_player_team : "Allows player to change teams: " | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Remove On fire" : 0 : "After firing, this entity will be removed." | |||
2 : "Kill Player" : 0 : "The player will be killed when the entity is activated." | |||
4 : "Gib Player" : 0 : "The player will be pulled apart when the entity is activated." | |||
] | |||
target(target_destination) : "game_team_master to use" : : "The player that activates this entity will have his team changed to the team index of the game_team_master entity specified here." | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GameScore.spr") base(Targetname) = game_score : "Award/Deduct Points: The game_score entity gives or takes points from a player or their team." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Allow Negative" : 0 : "If enabled, the game_score is able to make scores negative." | |||
2: "Team Points" : 0 : "If enabled, the entity will affect the activating player's whole team." | |||
] | |||
points(integer) : "Points to add (+/-)" : 1 | |||
master(string) : "Master" | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GameTeamMaster.spr") base(Targetname, Target, Targetx, Master) = game_team_master : "Team based master/relay: This entity acts like a combination of the multisource and trigger_relay entities, but is based on teams. The game_team_master can replace the multisource as the master for any entity. It will only be active when the activating team matches the team index value." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Remove On fire" : 0 : "The entity will be removed after firing." | |||
] | |||
triggerstate(choices) : "Trigger State" : "" : "Activate the target with this trigger state" = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
2 : "Toggle" | |||
] | |||
teamindex(integer) : "Team Index (-1 = no team)" : -1 : "The team number that is valid for this entity. -1 allows all teams." | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GameTeamSet.spr") base(Targetname, Target, Targetx, Master) = game_team_set : "Sets team of team_master: " | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Remove On fire" : 0 : "The entity will be removed after firing." | |||
] | |||
] | |||
@PointClass iconsprite("sprites/Hammer/GameText.spr") base(Targetname, Target, Master) = game_text : "HUD Text Message: This entity is used to display messages on-screen. It is used instead of env_message because it doesn't need to a file full of message strings to be distributed with the map. Do not use an automatic trigger like trigger_auto to activate this entity if 'All Players' flag is disabled, otherwise the game will crash." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "All Players" : 0 : "Show the text to all players. If not set, only the player who activated the game_text will see the message." | |||
] | |||
message(string) : "Message Text" : : "The text to be displayed. Message text longer than 79 (or 127?) characters in a single line will make the game crash, instead, use line break before it exceeds. Line breaks can be added with by inserting a \n after each sentence where you want a new line." | |||
x(integer) : "X position on screen" : -1 : "X position of text (across screen). (0 - 1.0 = left to right, -1 = center)" | |||
y(integer) : "Y position on screen" : -1 : "Y position of text (up/down screen). (0 - 1.0 = top to bottom, -1 = center)" | |||
effect(Choices) : "Text Effect" : "" : " Effect to apply to the text. Options are:" = | |||
[ | |||
0 : "Fade In/Out" | |||
1 : "Credits" | |||
2 : "Scan Out" | |||
] | |||
color(color255) : "Color1" : "100 100 100" : "The main colour of the text." | |||
color2(color255) : "Color2" : "240 110 0" : "The highlight colour of the text." | |||
fadein(string) : "Fade in Time (or character scan time)" : "1.5" : "Time taken to fade in each character." | |||
fadeout(string) : "Fade Out Time" : "0.5" : "Time taken to fade out message." | |||
holdtime(string) : "Hold Time" : "1.2" : "Length of time to hold message on screen after fading in." | |||
fxtime(string) : "Scan time (scan effect only)" : "0.25" : "The amount of time the highlight lags behind the leading edge of the text." | |||
channel(choices) : "Text Channel" : 1 : "Any of four channels can be used by this entity. If while one channel is being used another entity on the same channel is triggered, the old text will be cleared from the screen." = | |||
[ | |||
1 : "Channel 1" | |||
2 : "Channel 2" | |||
3 : "Channel 3" | |||
4 : "Channel 4" | |||
] | |||
] | |||
@SolidClass base(Targetname) = game_zone_player : "Player Zone: This entity is used to trigger targets based on player locations." | |||
[ | |||
intarget(target_destination) : "Target for IN players" : : "All players inside the area covered by the brush fire this target." | |||
outtarget(target_destination) : "Target for OUT players" : : "All players outside the area covered by the brush fire this target." | |||
incount(target_destination) : "Counter for IN players" : : "This game_counter's value will be set to the number of players inside the area." | |||
outcount(target_destination) : "Counter for OUT players" : : "This game_counter's value will be set to the number of players outside the area." | |||
] | |||
@PointClass iconsprite("sprites/Hammer/Gibshooter.spr") base(gibshooterbase) = gibshooter : "Gib Shooter: An env_shooter that just shoots bodyparts. Handy >:)." [] | |||
//////////////////////////////////////////////////////////////////////////////// | |||
// INFO ENTITIES | |||
//////////////////////////////////////////////////////////////////////////////// | |||
@PointClass iconsprite("sprites/Hammer/HostageRescue.spr") = info_hostage_rescue : "Hostage rescue point: This entity creates a 'node' for the hostage rescue point. An area about 128 units around the entity is considered to be a hostage rescue area." | |||
[ | |||
hidden(choices) : "Show hud icon" : "" : "Choose if the icon is displayed on the HUD in-game." = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
quiet(choices) : "Quiet Hostage" : "" : "Choose if the hostage says a sentence on rescue." = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
] | |||
@PointClass iconsprite("sprites/Hammer/InfoLandmark.spr") base(Targetname, Angles) = info_landmark : "Transition Landmark: In a level transition, this entity defines the same point in both maps, so that the transition appears seamless." [] | |||
@PointClass iconsprite("sprites/Hammer/EnvTarget.spr") base(Targetname) = info_null : "Info_null: This entity's only purpose is to define the target of one or more light_spot entities. It is only used at compile time by RAD for this sole purpose. At runtime (during gameplay), it removes itself during its spawning process making it unreliable as 'reference/target' for other entities like paths for trains, targets for camera etc." [] | |||
@PointClass base(Angles) size(-24 -24 -4, 24 24 4) color(255 255 0) = info_node : "Ai node: nfo_nodes are essential for monsters who need to move under AI control. The engine draws a 'node graph' based on the positions of info_nodes in a map, and monsters can then find the quickest route from point A to point B via the nodes." | |||
[ | |||
nodetype(choices) : "Node type" : "" : "Type of node. The type decides how the monster interacts with the node. Options are:" = | |||
[ | |||
0 : "Default" : "Default kind of node. Nothing special." | |||
1 : "Duck node" : "Makes the AI seek this node for defense or a hiding spot." | |||
2 : "Corner node" : "Makes the AI pop out around corners for a quick shot." | |||
] | |||
nodeindex(integer) : "Node index" : : "Not sure what this does." | |||
hinttype(integer) : "Hint type" : : "Not sure what this does, or if it even works." | |||
] | |||
@PointClass base(info_node) size(-32 -32 0, 32 32 64) color(255 255 0) = info_node_air : "Ai air node: Similar to info_node, this entity is specifically for flying monsters like monster_apache." [] | |||
@PointClass base(PlayerClass) flags (Angle) size(-32 -32 0, 32 32 64) offset(0 0 36) sequence(0) studio("models/gordo_new.mdl") = info_player_start : "Player start: This entity defines the player starting point in single-player maps. Try to place near the ground, as the player will drop from the entity origin to the floor. Also, make sure the info_player_start is clear of any obstacles, or the player may be stuck at the start. " [] | |||
@PointClass iconsprite("sprites/Hammer/InfoCamera.spr") base(Targetname, Target) = info_camera : "Info Camera: Used to define the point that the fiber-optic camera view will be placed. One can also place a info_target as its target to futher define where the info_camera will look at." [] | |||
@PointClass iconsprite("sprites/Hammer/InfoTarget.spr") base(Targetname, Angles) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Static Target: An info_target is used to provide static (non-moving) targets for entities like trigger_camera and env_beam." [] | |||
@PointClass iconsprite("sprites/Hammer/InfoTeleport.spr") size(-8 -8 0, 8 8 16) base(Targetname, PlayerClass) = info_teleport_destination : "Teleport destination: Works in conjunction with trigger_teleport. This entity provides the exit point of the teleporter." [] | |||
@PointClass iconsprite("sprites/Hammer/InfoTexlight.spr") color(255 128 0) = info_texlights : "Texture Light Config: Special lighting entity. See the notes section of this FGD." [] | |||
] | |||
@ | @PointClass decal() base(Targetname, Angles) = infodecal : "Decal: This entity lets you place special textures in your map, on top of solid brushes. Things like scorch marks, cracks, oil, lettering, etc. can be applied. The Decal Tool in Hammer/JACK is an easier way to apply them. Triggering it will cause it to appear. Triggering it again will not cause it to disappear." | ||
[ | [ | ||
texture(decal) : : "Choose a decal from the decals.wad to put on a surface. It only works with that .wad" | |||
] | ] | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
// | // ITEM ENTITIES | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
@PointClass base(Angles, Targetx, ModelFile) studio("models/w_armor.mdl") = item_armor : "Armor: Gives the player 100 points of armor." [] | |||
@PointClass base(Angles, Targetx, ModelFile) studio("models/w_armor.mdl") = item_armor : "Armor: Gives the player 100 points of armor." [] | |||
@PointClass base (Angles, Targetx, ModelFile) studio("models/can.mdl") = item_sodacan : "Soda: The item_sodacan entity is usually only ever seen when being spawned by an env_beverage entity. Gives the player 1 health point." [] | @PointClass base (Angles, Targetx, ModelFile) studio("models/can.mdl") = item_sodacan : "Soda: The item_sodacan entity is usually only ever seen when being spawned by an env_beverage entity. Gives the player 1 health point." [] | ||
Line 2,640: | Line 3,090: | ||
@PointClass base(Targetname, Target, Angles, ModelFile, RenderFields) = item_generic : "Model entity: Widely used as a reliable way to display prop models in the map." | @PointClass base(Targetname, Target, Angles, ModelFile, RenderFields) = item_generic : "Model entity: Widely used as a reliable way to display prop models in the map." | ||
[ | [ | ||
removeonuse(choices) : "Remove on use" : | removeonuse(choices) : "Remove on use" : "" : "The entity will be removed after firing." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
Line 2,668: | Line 3,118: | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
@PointClass iconsprite("sprites/Hammer/lightsrc.spr") base(Targetname, Target, Light) = light : "Invisible lightsource: Point-based light. It can also be toggled on/off and pulse in a variety of pre-defined styles (as well as custom ones) in a limited fashion." [] | @PointClass iconsprite("sprites/Hammer/lightsrc.spr") flags(Light) base(Targetname, Target, Light) = light : "Invisible lightsource: Point-based light. It can also be toggled on/off and pulse in a variety of pre-defined styles (as well as custom ones) in a limited fashion." [] | ||
@PointClass | @PointClass iconsprite("sprites/Hammer/LightEnvironment.spr") flags(Light) base(Targetname, Target, Light) flags (angle) = light_environment : "Environment light: This entity makes the map's sky emit light. The only practical way of lighting outdoor maps. Sky brushes must have the 'SKY' texture on all faces or they won't emit light. The logic for this is a bit tricky." | ||
[ | [ | ||
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 270 0" : "Use Pitch to shift the sun (or moon) vertically (similar to daytime/hours) and Yaw to shift it horizontally (cardinal direction or obliquity)." | angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 270 0" : "Use Pitch to shift the sun (or moon) vertically (similar to daytime/hours) and Yaw to shift it horizontally (cardinal direction or obliquity)." | ||
Line 2,677: | Line 3,127: | ||
] | ] | ||
@PointClass | @PointClass iconsprite("sprites/Hammer/LightSpot.spr") base(Targetname, Target, Angles, Light) flags (angle) = light_spot : "Spotlight: The light_spot entity allows you to create direct beams of light (like from a flashlight, spotlight, projector, and beacon) rather than spreading light within a radius of 360." | ||
[ | [ | ||
pitch(integer) : "Pitch" : -90 : "The pitch of the light (-90 is straight down, 90 is straight up)." | pitch(integer) : "Pitch" : -90 : "The pitch of the light (-90 is straight down, 90 is straight up)." | ||
Line 2,744: | Line 3,194: | ||
@BaseClass = Grenadier | @BaseClass = Grenadier | ||
[ | [ | ||
hegrenadeonly(choices) : "HE Grenade Only" : | hegrenadeonly(choices) : "HE Grenade Only" : "" : "Choose if this monster throws HE grenades." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
flashbangonly(choices) : "Flash Grenade Only" : | flashbangonly(choices) : "Flash Grenade Only" : "" : "Choose if this monster throws flash grenades." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
Line 2,756: | Line 3,206: | ||
] | ] | ||
@PointClass base(Monster, Angles, Classtype, ModelFile | @PointClass base(Monster, Angles, Classtype, ModelFile) = monster_apache : "Apache: An attack helicopter. It can actually be turned into a HIND or HARRIER, with the use of the models from CZEROR." | ||
[ | [ | ||
health(integer) : "Health" : : "Changes the default health of the monster_apache." | |||
idlesound(sound) : "Idle sound" : : "Changes the idle sound of the monster_apache." | idlesound(sound) : "Idle sound" : : "Changes the idle sound of the monster_apache." | ||
deathsound(sound) : "Death sound" : : "Changes the death sound of the monster_apache." | deathsound(sound) : "Death sound" : : "Changes the death sound of the monster_apache." | ||
firesound(sound) : "Fire sound" : : "Changes the fire sound of the monster_apache." | firesound(sound) : "Fire sound" : : "Changes the fire sound of the monster_apache." | ||
quiet( | quiet(choices) : "No sound" : "" : "Disables sounds from the monster_apache" = | ||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
model(Choices) : "Model" : models/props/blackhawk_gunship.mdl = | |||
[ | |||
models/props/blackhawk_gunship.mdl : "Blackhawk" | |||
models/props/harrier_gunship.mdl : "Harrier" | |||
models/props/hind_gunship.mdl : "Hind" | |||
] | |||
body(integer) : "Body" : : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." | |||
skin(integer) : "Skin" : : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." | |||
head(integer) : "Head" : : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." | |||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 2,771: | Line 3,234: | ||
@PointClass base(Monster, Angles, Classtype, ModelFile) size(-16 -16 0, 16 16 16) studio("models/pigeon.mdl") = monster_flyer : "Flyers: Creates a pigeon. It can only fly around. The player can't interact with it at all." [] | @PointClass base(Monster, Angles, Classtype, ModelFile) size(-16 -16 0, 16 16 16) studio("models/pigeon.mdl") = monster_flyer : "Flyers: Creates a pigeon. It can only fly around. The player can't interact with it at all." [] | ||
@PointClass base(Monster, Angles, Classtype, ModelFile) size(-16 -16 0, 16 16 16) studio("models/pigeon.mdl") = monster_flyer_flock : "Flyers: Creates a group of pigeons. It can only fly around. The player can't interact with it at all." [] | |||
[ | |||
iflocksize(integer) : "Flock size" : "" : "How many pigeons you want to spawn." | |||
flflockradius(integer) : "Flock radius" : "" : "The higher the value is, the more distance will be kept between flyers" | |||
] | |||
@PointClass base(Monster, Angles, Classtype, ModelFile) = monster_counter_terrorist_repel : "Repel: Spawns a monster that drops down a rope to the nearest surface. The monster can be specified under 'Monster type'. Terrorist monster can also be spawned!." | @PointClass base(Monster, Angles, Classtype, ModelFile) = monster_counter_terrorist_repel : "Repel: Spawns a monster that drops down a rope to the nearest surface. The monster can be specified under 'Monster type'. Terrorist monster can also be spawned!." | ||
[ | [ | ||
repelskin(integer) : "Repel skin" : : "Choose the skin for the monster to use." | repelskin(integer) : "Repel skin" : : "Choose the skin for the monster to use." | ||
repelhead(integer) : "Repel head" : : "Choose a head for the monster to use." | repelhead(integer) : "Repel head" : : "Choose a head for the monster to use." | ||
monstertype(choices) : "Monster type" : : "Define the monster type to spawn. Options are:" = | monstertype(choices) : "Monster type" : "" : "Define the monster type to spawn. Options are:" = | ||
[ | [ | ||
"" : "None" : "No spawn." | |||
"monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." | "monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." | ||
"monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." | "monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." | ||
Line 2,912: | Line 3,381: | ||
@BaseClass = Turrets | @BaseClass = Turrets | ||
[ | [ | ||
maxsleep(integer) : "Time Before Deactivating" : | maxsleep(integer) : "Time Before Deactivating" : : "Time to auto-deactivation when no enemies are tracked." | ||
searchspeed(integer) : "Search Speed" : | searchspeed(integer) : "Search Speed" : : "Rate of speed that the turret rotates at when navigating to enemies." | ||
turnrate(integer) : "Turn Rate" : | turnrate(integer) : "Turn Rate" : : "The rate which the turret turns to target the player." | ||
orientation(Choices) : "Orientation" : 0 : "Choose the orientation of the turret. Options are:" = | orientation(Choices) : "Orientation" : 0 : "Choose the orientation of the turret. Options are:" = | ||
[ | [ | ||
Line 2,943: | Line 3,412: | ||
[ | [ | ||
rescuetarget(target_destination) : "Rescue Target" : : "Set a target to trigger when the hostage is rescued. If there is more than 1 hostage in the map then set the countdown for the trigger_counter to the amount of hostages needed to be rescued before the trigger will happen" | rescuetarget(target_destination) : "Rescue Target" : : "Set a target to trigger when the hostage is rescued. If there is more than 1 hostage in the map then set the countdown for the trigger_counter to the amount of hostages needed to be rescued before the trigger will happen" | ||
rescueanim(string) : "Rescue animation" : : "Code suggests this works, but it seems to not trigger on rescue." | //rescueanim(string) : "Rescue animation" : : "Code suggests this works, but it seems to not trigger on rescue." | ||
noautoremove(choices) : "Auto Remove on Rescue" : 0 : "Removes the hostage from the game on rescue (disappears completely)." = | noautoremove(choices) : "Auto Remove on Rescue" : 0 : "Removes the hostage from the game on rescue (disappears completely)." = | ||
[ | [ | ||
Line 2,957: | Line 3,426: | ||
@PointClass studio() base(Monster, Classtype, ModelFile) = monster_npc : "NPC: Spawns a generic NPC that can follow and give you a one time health shot. Very similar to a monster_scientist from HL1. Model can be changed." | @PointClass studio() base(Monster, Classtype, ModelFile) = monster_npc : "NPC: Spawns a generic NPC that can follow and give you a one time health shot. Very similar to a monster_scientist from HL1. Model can be changed." | ||
[ | [ | ||
model(studio) : "Model" : models/npc-scientist.mdl : "Select an Model file to use." | model(studio) : "Model" : "models/npc-scientist.mdl" : "Select an Model file to use." | ||
fleeondanger(choices) : "Flee On Danger" : : "Tells the monster to flee when danger is around. This might just be for monster_npc" = | fleeondanger(choices) : "Flee On Danger" : : "Tells the monster to flee when danger is around. This might just be for monster_npc" = | ||
[ | [ | ||
Line 2,980: | Line 3,449: | ||
@PointClass studio() size(-16 -16 0, 16 16 72) color(255 255 255) base(ModelFile) = monster_npc_dead : "Dead NPC: Spawns a dead NPC. Bleeds when shot but doesn't do much. Model can be changed." | @PointClass studio() size(-16 -16 0, 16 16 72) color(255 255 255) base(ModelFile) = monster_npc_dead : "Dead NPC: Spawns a dead NPC. Bleeds when shot but doesn't do much. Model can be changed." | ||
[ | [ | ||
pose(Choices) : "Pose" : | pose(Choices) : "Pose" : "" : "Choose a basic pose for the model to take." = | ||
[ | [ | ||
0 : "On back" | 0 : "On back" | ||
Line 2,987: | Line 3,456: | ||
3 : "On Table" | 3 : "On Table" | ||
] | ] | ||
deadanim(integer) : "Custom death animation pose" : | deadanim(integer) : "Custom death animation pose" : "" : "Input the name of a custom animation to use. It's recommended that the animation be in a dead pose on the 1st frame." | ||
] | ] | ||
Line 2,994: | Line 3,463: | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
// CT has less entities | // CT has less entities | ||
// This is because you could just change both the LANGAUGE value and the MODEL value to | // This is because you could just change both the LANGAUGE value and the MODEL value to Kidotai | ||
//////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||
@PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9 [] | |||
@PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_assaultrifle : "CT - GSG9 - Assault Rifle" [] | @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_assaultrifle : "CT - GSG9 - Assault Rifle" [] | ||
@PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_grenader : "CT - GSG9 - Grenadier" [] | @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_grenader : "CT - GSG9 - Grenadier" [] | ||
Line 3,007: | Line 3,477: | ||
@PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_sniperrifle : "CT - GSG9 - Sniper Rifle" [] | @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_sniperrifle : "CT - GSG9 - Sniper Rifle" [] | ||
@PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign [] | |||
@PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_assaultrifle : "CT - GIGN - Assault Rifle" [] | @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_assaultrifle : "CT - GIGN - Assault Rifle" [] | ||
@PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_grenader : "CT - GIGN - Grenadier" [] | @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_grenader : "CT - GIGN - Grenadier" [] | ||
Line 3,017: | Line 3,488: | ||
@PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_sniperrifle : "CT - GIGN - Sniper Rifle" [] | @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_sniperrifle : "CT - GIGN - Sniper Rifle" [] | ||
@PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz [] | |||
@PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_assaultrifle : "CT - Spetsnaz - Assault Rifle" [] | @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_assaultrifle : "CT - Spetsnaz - Assault Rifle" [] | ||
@PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_grenader : "CT - Spetsnaz - Grenadier" [] | @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_grenader : "CT - Spetsnaz - Grenadier" [] | ||
Line 3,027: | Line 3,499: | ||
@PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_sniperrifle : "CT - Spetsnaz - Sniper Rifle" [] | @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_sniperrifle : "CT - Spetsnaz - Sniper Rifle" [] | ||
@PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat [] | |||
@PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_assaultrifle : "CT - SWAT - Assault Rifle" [] | @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_assaultrifle : "CT - SWAT - Assault Rifle" [] | ||
@PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_grenader : "CT - SWAT - Grenadier" [] | @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_grenader : "CT - SWAT - Grenadier" [] | ||
Line 3,037: | Line 3,510: | ||
@PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_sniperrifle : "CT - SWAT - Sniper Rifle" [] | @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_sniperrifle : "CT - SWAT - Sniper Rifle" [] | ||
@PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_counter_terrorist_sas [] | |||
@PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_assaultrifle : "CT - SAS - Assault Rifle" [] | @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_assaultrifle : "CT - SAS - Assault Rifle" [] | ||
@PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_grenader : "CT - SAS - Grenadier" [] | @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_grenader : "CT - SAS - Grenadier" [] | ||
Line 3,124: | Line 3,598: | ||
@PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_sniperrifle : "Terrorist - Urban - Sniper Rifle" [] | @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_sniperrifle : "Terrorist - Urban - Sniper Rifle" [] | ||
@PointClass iconsprite("sprites/Hammer/MonsterMaker.spr") color(255 0 0) base(Monster, Angles | @PointClass iconsprite("sprites/Hammer/MonsterMaker.spr") color(255 0 0) base(Monster, Classtype, Angles) size(-16 -16 -16, 16 16 16) = monstermaker : "Monster Maker: Makes monster or anything that can be spawned. From enemies to weapons." | ||
[ | [ | ||
target(target_destination) : "Target On Release" : : "Event to trigger when a monster is spawned." | target(target_destination) : "Target On Release" : : "Event to trigger when a monster is spawned." | ||
monstertype(choices) : "Monster Type" : : "The entity name of the monster to be spawned. For example, 'monster_ct_swat' would spawn a CT with the swat faction. Things like 'item_xyz', 'weapon_xyz' and 'ammo_xyz' will also work." = | monstertype(choices) : "Monster Type" : "" : "The entity name of the monster to be spawned. For example, 'monster_ct_swat' would spawn a CT with the swat faction. Things like 'item_xyz', 'weapon_xyz' and 'ammo_xyz' will also work." = | ||
[ | [ | ||
"" : "None" : "Nothing." | |||
"monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." | "monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." | ||
"monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." | "monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." | ||
Line 3,247: | Line 3,722: | ||
1 : "Start On" : 0 : "If this is enabled, the monstermaker will start on and start spawning as soon as the map loads." | 1 : "Start On" : 0 : "If this is enabled, the monstermaker will start on and start spawning as soon as the map loads." | ||
2 : "PVS On/Off (NoImpl)" : 0 : "Potentially Visible Sets are used to accelerate the rendering of 3D environments. It is also related to NPCs. Refer to the notes section of this FGD" | 2 : "PVS On/Off (NoImpl)" : 0 : "Potentially Visible Sets are used to accelerate the rendering of 3D environments. It is also related to NPCs. Refer to the notes section of this FGD" | ||
4 : "Cyclic" : 0 : " | 4 : "Cyclic" : 0 : "HMM." | ||
8 : "MonsterClip" : 0 : "If this is enabled, spawned monsters will not be able to pass through func_monsterclip brushes." | 8 : "MonsterClip" : 0 : "If this is enabled, spawned monsters will not be able to pass through func_monsterclip brushes." | ||
] | ] | ||
Line 3,253: | Line 3,728: | ||
delay(integer) : "Frequency (-1 = on child death)" : 5 : "Delay, in seconds, between each monster being spawned. If 0, a new monster will only be spawned after the previous has been killed." | delay(integer) : "Frequency (-1 = on child death)" : 5 : "Delay, in seconds, between each monster being spawned. If 0, a new monster will only be spawned after the previous has been killed." | ||
m_imaxlivechildren(integer) : "Max live children (-1 = unlimited)" : 5 : "Maximum number of live children allowed at one time. Spawnings will be suspended until a monster dies. A value of 0 means infinite (obviously not recommended if delay is too low and monstercount is infinite)." | m_imaxlivechildren(integer) : "Max live children (-1 = unlimited)" : 5 : "Maximum number of live children allowed at one time. Spawnings will be suspended until a monster dies. A value of 0 means infinite (obviously not recommended if delay is too low and monstercount is infinite)." | ||
spawnawake(choices) : "Spawn awake" : : "Spawns a monster that is 'awake', meaning that the AI is active. Not sure if this key is working properly." = | spawnawake(choices) : "Spawn awake" : "" : "Spawns a monster that is 'awake', meaning that the AI is active. Not sure if this key is working properly." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
Line 3,263: | Line 3,738: | ||
1 : "No" | 1 : "No" | ||
] | ] | ||
monstermodel(studio) : "Monster model" : : "The model that the monster spawned from the monstermaker will use." | monstermodel(studio) : "Monster model" : "" : "The model that the monster spawned from the monstermaker will use." | ||
gagged(choices) : "Gagged" : : "Gags the idle sounds of the monster until angered." = | gagged(choices) : "Gagged" : "" : "Gags the idle sounds of the monster until angered." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
fadespeed(integer) : "Fade Speed" : : "The speed at which bodies will fade out at. Higher number means faster fade." | fadespeed(integer) : "Fade Speed" : "" : "The speed at which bodies will fade out at. Higher number means faster fade." | ||
deathfadedelay(integer) : "Death Fade Delay" : : "The delay (in seconds) at which bodies will begin to fade at." | deathfadedelay(integer) : "Death Fade Delay" : "" : "The delay (in seconds) at which bodies will begin to fade at." | ||
deathfade(choices) : "Death Fade" : : "Choose if the body fades after death." = | deathfade(choices) : "Death Fade" : "" : "Choose if the body fades after death." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
1 : "Yes" | 1 : "Yes" | ||
] | ] | ||
model(studio) : "Model" : : "Select an Model file to use." | //model(studio) : "Model" : "" : "Select an Model file to use." | ||
body(integer) : "Body" : | body(integer) : "Body" : "" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." | ||
skin(integer) : "Skin" : | skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." | ||
head(integer) : "Head" : | head(integer) : "Head" : "" : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." | ||
] | ] | ||
Line 3,455: | Line 3,930: | ||
[ | [ | ||
// e.g. ARAB_OUTSIDE_YELL | // e.g. ARAB_OUTSIDE_YELL | ||
message(choices) : "Sentence Group Name" : : "The sentence group to randomly select sentences from. Use the choices or enter your own. For example: ARAB_OUTSIDE_YELL." = | message(choices) : "Sentence Group Name" :"": "The sentence group to randomly select sentences from. Use the choices or enter your own. For example: ARAB_OUTSIDE_YELL." = | ||
[ | [ | ||
"COOM" : "Silly" : "Silly Announcements" | |||
"OFFICE_SFX" : "Office SFX" : "Typical office sounds." | "OFFICE_SFX" : "Office SFX" : "Typical office sounds." | ||
"arcticwind_gust" : "Arctic wind SFX" : "Wind sounds for windy places." | "arcticwind_gust" : "Arctic wind SFX" : "Wind sounds for windy places." | ||
Line 3,502: | Line 3,978: | ||
] | ] | ||
@SolidClass base(Targetname, Master) = trigger_autosave : "Trigger Auto-Save: When the player moves through the area covered by this entity, the game will be autosaved. This trigger only works once: it is removed when the auto-save occurs." [] | @SolidClass base(Targetname, Master) = trigger_autosave : "Trigger Auto-Save: When the player moves through the area covered by this entity, the game will be autosaved. This trigger only works once: it is removed when the auto-save occurs." | ||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Use Only" : 0 : "If enabled, The entity cannot be triggered by the player walking into it, but must be triggered by another entity." | |||
] | |||
] | |||
//!TEST! | //!TEST! | ||
Line 3,550: | Line 4,032: | ||
[ | [ | ||
trackname(string) : "Track Name" : "sound/music/TITLE" : "Input a track to play. Use this format: 'sound/music/xyz'." | trackname(string) : "Track Name" : "sound/music/TITLE" : "Input a track to play. Use this format: 'sound/music/xyz'." | ||
trackname(choices) : "Track Name" : "" : "Input a track to play. Use this format for custom music: 'sound/music/xyz'." = | |||
[ | |||
"" : "None" | |||
sound/music/alamo_battle : "Alamo - Battle" | |||
sound/music/alamo_found : "Alamo - Found" | |||
sound/music/alamo_intro : "Alamo - Intro" | |||
sound/music/alamo_success : "Alamo - Success" | |||
sound/music/brecon_airstrike : "Building Recon - Airstrike" | |||
sound/music/brecon_intro : "Building Recon - Intro" | |||
sound/music/brecon_seenuke : "Building Recon - See Nuke" | |||
sound/music/brecon_showdown : "Building Recon - Showdown" | |||
sound/music/brecon_success : "Building Recon - Success" | |||
sound/music/downed_blow : "Downed - Blow" | |||
sound/music/downed_gassed : "Downed - Gassed" | |||
sound/music/downed_intro : "Downed - Intro" | |||
sound/music/downed_package : "Downed - Package" | |||
sound/music/downed_success : "Downed - Success" | |||
sound/music/downed_wakeup : "Downed - Wakeup" | |||
sound/music/fastline_begin : "Fastline - Begin" | |||
sound/music/fastline_bomb : "Fastline - Bomb" | |||
sound/music/fastline_flashed : "Fastline - Flashed" | |||
sound/music/fastline_intro : "Fastline - Intro" | |||
sound/music/fastline_transcop : "Fastline - Transit Cop" | |||
sound/music/hank_final : "Hankagai - Final" | |||
sound/music/hank_intro : "Hankagai - Intro" | |||
sound/music/hank_success : "Hankagai - Success" | |||
sound/music/hank_toshdown : "Hankagai - Toshi Down" | |||
sound/music/hank_toshyell : "Hankagai - Toshi Yell" | |||
sound/music/hr_bossplat" : "High Rise - Boss Platform" | |||
sound/music/hr_groundass" : "High Rise - Gound Assault" | |||
sound/music/hr_hithead" : "High Rise - Hit Head" | |||
sound/music/hr_intro" : "High Rise - Intro" | |||
sound/music/hr_miniboss" : "High Rise - Mini Boss" | |||
sound/music/hr_missioncue" : "High Rise - Mission Cue" | |||
sound/music/hr_nukes" : "High Rise - Nukes" | |||
sound/music/hr_success" : "High Rise - Success" | |||
sound/music/hr_failure" : "High Rise - Failure" | |||
sound/music/hr_toolate" : "High Rise - Too Late" | |||
sound/music/jungle_intro : "Druglab - Intro" | |||
sound/music/jungle_start : "Druglab - Start" | |||
sound/music/jungle_success : "Druglab - Success" | |||
sound/music/lost_end : "Lost Cause - End" | |||
sound/music/lost_intro : "Lost Cause - Intro" | |||
sound/music/lost_success : "Lost Cause - Success" | |||
sound/music/lost_team : "Lost Cause - Team" | |||
sound/music/miami_intro : "Miami - Intro" | |||
sound/music/miami_success : "Miami - Success" | |||
sound/music/miami_threat : "Miami - Threat" | |||
sound/music/motor_intro : "Motorcade Assault - Intro" | |||
sound/music/motor_success : "Motorcade Assault - Success" | |||
sound/music/pipe_bomb : "Pipe Dream - Bomb" | |||
sound/music/pipe_getover : "Pipe Dream - Get Over" | |||
sound/music/pipe_intro : "Pipe Dream - Intro" | |||
sound/music/pipe_success : "Pipe Dream - Success" | |||
sound/music/recoil_intro : "Recoil - Intro" | |||
sound/music/recoil_meetsnip : "Recoil - Meet Sniper" | |||
sound/music/recoil_rescuesnip : "Recoil - Rescue Sniper" | |||
sound/music/recoil_success : "Recoil - Success" | |||
sound/music/run_cue : "Run! - Cue" | |||
sound/music/run_helidown : "Run! - Heli Down" | |||
sound/music/run_intro : "Run! - Intro" | |||
sound/music/run_success : "Run! - Success" | |||
sound/music/run_truckover: "Run! - Truck" | |||
sound/music/sand_intro : "Sandstorm - Intro" | |||
sound/music/sand_scud : "Sandstorm - Scud" | |||
sound/music/sand_spotted : "Sandstorm - Spotted" | |||
sound/music/sand_success : "Sandstorm - Success" | |||
sound/music/secret_war : "Secret War - Secret War" | |||
sound/music/silo_attack : "Secret War - Attack" | |||
sound/music/silo_escape : "Secret War - Escape" | |||
sound/music/silo_explochase : "Secret War - Explosion" | |||
sound/music/silo_finalbattle : "Secret War - Final Battle" | |||
sound/music/silo_intro : "Secret War - Intro" | |||
sound/music/silo_success : "Secret War - Success" | |||
sound/music/thinice_boss : "Thin Ice - Boss" | |||
sound/music/thinice_intro : "Thin Ice - Intro" | |||
sound/music/thinice_ship : "Thin Ice - Ship" | |||
sound/music/thinice_success : "Thin Ice - Success" | |||
sound/music/train_failure : "CT Training - Failure" | |||
sound/music/train_intro : "CT Training - Intro" | |||
sound/music/train_success : "CT Training - Success" | |||
sound/music/train_work1 : "CT Training - Work" | |||
sound/music/train_work2 : "CT Training - Working Again" | |||
sound/music/truth_intro : "Truth - Intro" | |||
sound/music/truth_success : "Truth - Success" | |||
sound/music/truth_vx : "Truth - VX Gas" | |||
sound/music/turncrank_boss : "Turn Crank - Boss" | |||
sound/music/turncrank_flash : "Turn Crank - Flash" | |||
sound/music/turncrank_intro : "Turn Crank - Intro" | |||
sound/music/turncrank_success : "Turn Crank - Success" | |||
sound/music/turncrank_taunt : "Turn Crank - Taunt" | |||
sound/music/end : "End" | |||
sound/music/failure1 : "Failure 1" | |||
sound/music/failure2 : "Failure 2" | |||
sound/music/failure3 : "Failure 3" | |||
sound/music/failure4 : "Failure 4" | |||
sound/music/launcher_loop : "Launcher Loop" | |||
sound/music/menu_loop : "Menu Loop" | |||
] | |||
loop(choices) : "Loop" : 0 : "Select if the track loops." = | loop(choices) : "Loop" : 0 : "Select if the track loops." = | ||
[ | [ | ||
Line 3,621: | Line 4,207: | ||
@PointClass iconsprite("sprites/Hammer/TriggerHud.spr") base(Targetname) = trigger_hud : "Trigger HUD Switcher: This entity switches the players HUD on or off." | @PointClass iconsprite("sprites/Hammer/TriggerHud.spr") base(Targetname) = trigger_hud : "Trigger HUD Switcher: This entity switches the players HUD on or off." | ||
[ | [ | ||
display(choices) : "HUD Display" : | display(choices) : "HUD Display" : "" : "Choose if the HUD is visible or not. Options are:" = | ||
[ | [ | ||
0 : "Off" | 0 : "Off" | ||
Line 3,702: | Line 4,288: | ||
[ | [ | ||
objective(string) : "Objective" : : "Name the objective that should be linked from 'czeror_english' or .SEQ. For example: '#OBJ01_AIDEV'." | objective(string) : "Objective" : : "Name the objective that should be linked from 'czeror_english' or .SEQ. For example: '#OBJ01_AIDEV'." | ||
notransition( | notransition(choices) : "Transition" : : "This might mean that the OBJ HUD transfers to the next level. Functions as a bool." = | ||
state(choices) : "State" : | [ | ||
0 : "Off" | |||
1 : "On" | |||
] | |||
state(choices) : "State" : "" : "Changes what 'state' the objective starts in. Options are:" = | |||
[ | [ | ||
0 : "Linear" : "The Objective is not active on level load. Instead toggles the value to 'Active' on first trigger, and 'Completed' on second." | 0 : "Linear" : "The Objective is not active on level load. Instead toggles the value to 'Active' on first trigger, and 'Completed' on second." | ||
Line 3,737: | Line 4,327: | ||
1 : "Remove On fire" : 0 : "If enabled, this entity will be removed after triggering its targets." | 1 : "Remove On fire" : 0 : "If enabled, this entity will be removed after triggering its targets." | ||
] | ] | ||
triggerstate(choices) : "Trigger State" : 0 : " | triggerstate(choices) : "Trigger State" : 0 : "Sets the type of trigger this entity sends. Options are:" = | ||
[ | [ | ||
0 : "Off" | 0 : "Off" | ||
Line 3,757: | Line 4,347: | ||
@SolidClass base(Targetname) = trigger_stealth: "Trigger Stealth: When the player enters this entity, it hides the player in relation to how much 'cover' is specified." | @SolidClass base(Targetname) = trigger_stealth: "Trigger Stealth: When the player enters this entity, it hides the player in relation to how much 'cover' is specified." | ||
[ | [ | ||
showicon(choices) : "Show hud icon" : | showicon(choices) : "Show hud icon" : "" : "Choose if the stealth icon is displayed on the HUD in-game." = | ||
[ | [ | ||
0 : "No" | 0 : "No" | ||
Line 3,777: | Line 4,367: | ||
[ | [ | ||
target(target_destination) : "Target" : : "Have this entity target something when a tool is used in the zone." | target(target_destination) : "Target" : : "Have this entity target something when a tool is used in the zone." | ||
killtarget(target_destination) : "KillTarget" : : "When an entity is triggered, it will remove from the game the entity specified by this property." | |||
rcbombtarget(target_destination) : "RC Bomb target" : : "Area where the RC bomb will be placed. Kind of like a guide." | rcbombtarget(target_destination) : "RC Bomb target" : : "Area where the RC bomb will be placed. Kind of like a guide." | ||
toolname(choices) : "Tool Name" : | toolname(choices) : "Tool Name" : "" : "Tool to be used in this area. Options are:" = | ||
[ | [ | ||
"" : "None" : "Nothing." | |||
bomb_defuse : "Bomb defuse" | bomb_defuse : "Bomb defuse" | ||
weapon_blowtorch : "Blowtorch" | weapon_blowtorch : "Blowtorch" | ||
Line 3,789: | Line 4,381: | ||
] | ] | ||
tooltarget(string) : "Tool Target" : : "Where the player needs to be looking to activate the tool, the best way to get this to work is to target an info_target thats in the general area that should be looked in." | tooltarget(string) : "Tool Target" : : "Where the player needs to be looking to activate the tool, the best way to get this to work is to target an info_target thats in the general area that should be looked in." | ||
spawnflags(flags) = | spawnflags(flags) = | ||
[ | [ | ||
Line 3,850: | Line 4,441: | ||
//BROKEN GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields, C4Base, ModelFile) studio("models/w_c4.mdl") = weapon_c4 : "C4 Plastique Bomb" [] | //BROKEN GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields, C4Base, ModelFile) studio("models/w_c4.mdl") = weapon_c4 : "C4 Plastique Bomb" [] | ||
//CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_medkit.mdl") = weapon_medkit : "medkit" [] | //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_medkit.mdl") = weapon_medkit : "medkit" [] | ||
//CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_66mm : "66mm?"[] | //CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_66mm : "66mm?"[] | ||
//CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_syringe : "syringe?"[] | //CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_syringe : "syringe?"[] | ||
Line 3,880: | Line 4,470: | ||
// spawnflags(flags) = | // spawnflags(flags) = | ||
// [ | // [ | ||
// 2 : "?? | // 1 : "Short 2" : 0 : "Makes the sprite short?? AGAIN." | ||
// 16 : " | // 8 : "Short" : 0 : "Makes the sprite short?" | ||
// 16 : "No frames" : 0 : "Stops sprite from playing any frames." | |||
// 32 : "Toggleable?" : 0 : "If enabled, spawns the particle system at the start of the map." | // 32 : "Toggleable?" : 0 : "If enabled, spawns the particle system at the start of the map." | ||
// 64 : "Wavy" : 0 : "If enabled, makes the particles move in a wave pattern." | // 64 : "Wavy" : 0 : "If enabled, makes the particles move in a wave pattern." | ||
// 128 : "wavy 2" : 0 : "If enabled, makes the particles move in a wave pattern." | |||
// ] | // ] | ||
// fade_speed(integer) : "Fade Speed" : 1 : "Speed that the particles dissappear at." | // fade_speed(integer) : "Fade Speed" : 1 : "Speed that the particles dissappear at." | ||
Line 3,923: | Line 4,515: | ||
//Im not sure what else can be made through event editing in anims, wep key and behavior key. skills.cfg sgrenade needs to be pretty high to work. around 1000 | //Im not sure what else can be made through event editing in anims, wep key and behavior key. skills.cfg sgrenade needs to be pretty high to work. around 1000 | ||
@PointClass studio() size(-16 -16 0, 16 16 72) color(0 0 255) base(Angles) = monster_terrorist_arctic : "Custom monster: Unfortunatly, this is implemented with some whacky key/value combination and a custom model with animation events changed, so its not quite normal. But can serve as an example." | //@PointClass studio() size(-16 -16 0, 16 16 72) color(0 0 255) base(Angles) = monster_terrorist_arctic : "Custom monster: Unfortunatly, this is implemented with some whacky key/value combination and a custom model with animation events changed, so its not quite normal. But can serve as an example." | ||
[ | [ | ||
//behave to 7 | //behave to 7 | ||
Line 3,933: | Line 4,525: | ||
invulnerable(integer) : "Invulnerable" : 1 : "no damage" | invulnerable(integer) : "Invulnerable" : 1 : "no damage" | ||
] | ] | ||
@PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert [] | @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert [] | ||
@PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian [] | @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian [] | ||
Line 3,938: | Line 4,533: | ||
@PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian [] | @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian [] | ||
@PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle [] | @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle [] | ||
@PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic [] | |||
@PointClass studio("models/gordo_new.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) = env_scale : "Gordon for size. Personal entity for scale when building in hammer" [] | |||
</nowiki> }} | |||
[[Category:Counter-Strike: Condition Zero Deleted Scenes]] | |||
[[Category:Custom FGDs]] | |||
[[Category:GoldSrc FGDs]] |
Latest revision as of 01:39, 11 September 2024
This FGD is considered to be a work-in-progress, while it does have all the functionality to make maps to the same quality of the main game, there might be some wonky stuff, mistakes or non-complete information about entities. There are still keys that are not fully understood and might not be understood until more experimentation is done.
Important
Here are some things to remember when choosing to use this FGD. Alternatively, you can pick this FGD up from TWHL vault.
- Hammer 3.5 only supports entity classnames with up to 32 characters. Therefore, This version of the CS:CZDS FGD file is not compatible with the default Hammer Editor that is provided with HL1. In this case, It is suggested to use
J.A.C.K., an alternative to Hammer for GoldSource. The program supports Windows and Linux and adds a number of features for level editing and modding. If you still want to use Hammer, you should refer to this page and just add in the missing content.
- This is the most up-to-date FGD for CS:CZDS. It is an ongoing effort to bring users the best version of this FGD. If there are any bugs or things missing, please contact me and I will do my best to update it in a timely manner.
- There are fixes provided in the FGD for the most common bugs in the game.
- If you are using J.A.C.K, the help button has a lot of information on usage of the entities.
- There is a section of the FGD dedicated to things that are slightly janky. This space is a space to document oddities within the game.
FGD
- This is a FGD (Forge Game Data) file used to define all of the entities of a game for a map editor (such as Hammer).
To add a FGD file to the map editor, copy the following text into a text editor such as Windows Notepad,Notepad++ or
Visual Studio Code, and save it with "save as type" being "all files" and .fgd appended to the file name. Then open your map editor and add the FGD to your game configuration (Example for HL:S).
