A dedicated "visualizer" entity

Pinsplash

bad bad bad
May 8, 2016
156
71
You spend minutes putting down those prop entities to make sure your map's scale is correct, or compiling it and placing sentries manually to see if they can cover a room. "There must be a slightly easier way," you say. Now there is!

Code:
@PointClass base(Angles) studioprop() sphere(radius) line(255 255 0, targetname, linestart, targetname, lineend) = tf_visualizer : "This is a fake entity, which acts as a visualizer primarily meant to help with the scale of the map."
[
   targetname(target_source) : "Name" : : "The name that other entities refer to this entity by."
   model(choices) : "Model" : "models/player/heavy.mdl" : "Tip: in the Model tab, set Sequence to stand_PRIMARY or crouch_PRIMARY (or SECONDARY for spy) to see what the player may actually look like while standing or crouching. Use 'refpose' for sentries." =
   [
     "models/editor/axis_helper_thick.mdl" : "None"
     "models/player/scout.mdl" : "Scout"
     "models/player/soldier.mdl" : "Soldier"
     "models/player/pyro.mdl" : "Pyro"
     "models/player/demo.mdl" : "Demo"
     "models/player/heavy.mdl" : "Heavy"
     "models/player/engineer.mdl" : "Engineer"
     "models/player/medic.mdl" : "Medic"
     "models/player/sniper.mdl" : "Sniper"
     "models/player/spy.mdl" : "Spy"
     "models/buildables/sentry1.mdl" : "Sentry (lvl 1)"
     "models/buildables/sentry2.mdl" : "Sentry (lvl 2)"
     "models/buildables/sentry3.mdl" : "Sentry (lvl 3)"
     "models/buildables/dispenser_lvl3_light.mdl" : "Dispenser"
     "models/buildables/teleporter_light.mdl" : "Teleporter (add 36 units for particle height)"
   ]
   radius(choices) : "Radius" : 0 : "Note: Distances do not take player/building hulls into account." =
   [
     160 : "Typical explosion radius (rocket, grenade, sticky, sentry rocket)"
     575 : "Max airblast distance"
     1100 : "Sentry gun 'eyesight'"
     1120 : "Demo shield charge distance (usual)"
     1500 : "Demo shield charge distance (claidheamh mor)"
     1440 : "Demo max grenade distance (stock)"
     2180 : "Demo max grenade distance (loch n load)"
   ]
   linestart(target_destination) : "Line Start" : "" : "Draw a line from this entity to Line End. Do not use this for checking sentry vision."
   lineend(target_destination) : "Line End" : "" : "Draw a line from Line Start to this entity."
]

This FGD code will give Hammer a fake entity called tf_visualizer. It shows the most common TF2 models, all in a dropdown, shows a few distances, like the sentry gun's max range, and it can draw lines! (YEAH, BABY!) Place the code above into any FGD Hammer reads from, and you're set.
 
Last edited: