Dod control point: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
 
(84 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[http://ocean-breathes-salty.fungin.info/ ocean breathes salty] [http://shahee.info/lib/football-stadiums.html football stadiums] [http://shahee.info/lib/business-for-sale.html business for sale] [http://jennymccarthyplayboy.smurks.info/ jenny mccarthy playboy] [http://shahee.info/lib/i-feel-like-a-woman.html i feel like a woman] [http://shahee.info/lib/mature-masturbation.html mature masturbation] [http://time-and-time-again.fungin.info/ time and time again] [http://freecunt.smurks.info/ free cunt] [http://directbuy.fungin.info/ directbuy] [http://celebrityxxx.smurks.info/ celebrity xxx] [http://little-dick.fungin.info/ little dick] [http://firsttimelesbiansex.smurks.info/ first time lesbian sex] [http://renamon-sex.fungin.info/ renamon sex] [http://mccreary-modern-furniture.fungin.info/ mccreary modern furniture] [http://belgianmalinois.smurks.info/ belgian malinois] [http://shahee.info/lib/doggyboys.html doggyboys] [http://skin-tight-jeans.fungin.info/ skin tight jeans] [http://how-to-orgasm.fungin.info/ how to orgasm] [http://shahee.info/lib/oil-filter.html oil filter] [http://shahee.info/lib/career-search.html career search] [http://anti-wrinkle-cream.fungin.info/ anti wrinkle cream] [http://funjet.smurks.info/ funjet] [http://baby-shower-cakes.fungin.info/ baby shower cakes] [http://personalwebcamsite.smurks.info/ personal webcam site] [http://shahee.info/lib/flexible-sex.html flexible sex] [http://shahee.info/lib/olsen-twins-naked.html olsen twins naked] [http://shahee.info/lib/salsa-recipe.html salsa recipe] [http://shahee.info/lib/japan-school-girls.html japan school girls] [http://coumadin.smurks.info/ coumadin] [http://shahee.info/lib/dora.html dora] [http://roberto-carlos.fungin.info/ roberto carlos] [http://inmate-personals.fungin.info/ inmate personals] [http://shahee.info/lib/raymond-weil-watches.html raymond weil watches] [http://katja.fungin.info/ katja] [http://shahee.info/lib/the-underground-railroad.html the underground railroad] [http://shahee.info/lib/human-skeleton-picture.html human skeleton picture] [http://shahee.info/lib/worlds-biggest-dick.html worlds biggest dick] [http://auto-loan.fungin.info/ auto loan] [http://bentonite.fungin.info/ bentonite] [http://naked-slut.fungin.info/ naked slut] [http://watchmanufacturer.smurks.info/ watch manufacturer] [http://wav-to-mp3-conversion.fungin.info/ wav to mp3 conversion] [http://shahee.info/lib/showing-tits.html showing tits] [http://shahee.info/lib/nightclub-bar-lighting.html nightclub bar lighting] [http://freepreteenpictures.smurks.info/ free preteen pictures] [http://shahee.info/lib/kimberly-donley.html kimberly donley] [http://destinys-child-mp3.fungin.info/ destinys child mp3] [http://guttermouth.fungin.info/ guttermouth] [http://shahee.info/lib/beach.html beach] [http://shahee.info/lib/uk-weather.html uk weather] [http://shahee.info/lib/major-tom.html major tom] [http://shahee.info/lib/cheap-jewelry.html cheap jewelry] [http://gayteenporn.smurks.info/ gay teen porn] [http://shahee.info/lib/downloading-porno-with-davo.html downloading porno with davo] [http://shahee.info/lib/paris-hilton-naked.html paris hilton naked] [http://spy-sunglasses.fungin.info/ spy sunglasses] [http://howtowriteabusinessplan.smurks.info/ how to write a business plan] [http://play.fungin.info/ play] [http://antiagingsupplements.smurks.info/ anti aging supplements] [http://granny-suck.fungin.info/ granny suck] [http://shahee.info/lib/ugly-nude.html ugly nude] [http://memoryfoambeds.smurks.info/ memory foam beds] [http://nudemodels.smurks.info/ nudemodels] [http://shahee.info/lib/latina-mom.html latina mom] [http://fallon-summers.fungin.info/ fallon summers] [http://bill.smurks.info/ bill] [http://rvaccessories.smurks.info/ rv accessories] [http://shahee.info/lib/cruise-reviews.html cruise reviews] [http://jessica-sex.fungin.info/ jessica sex] [http://shahee.info/lib/term-life-insurance-quotes.html term life insurance quotes] [http://oldtit.smurks.info/ old tit] [http://shahee.info/lib/pretty-rickey.html pretty rickey] [http://shahee.info/lib/aiko-tanaka.html aiko tanaka] [http://old-boobs.fungin.info/ old boobs] [http://cradle.fungin.info/ cradle] [http://shahee.info/lib/electronic-scale-inhibitor.html electronic scale inhibitor] [http://shahee.info/lib/poppers.html poppers] [http://russianwomansex.smurks.info/ russian woman sex] [http://society.smurks.info/ society] [http://cheapflatlondon.smurks.info/ cheap flat london] [http://headshotsnewyork.smurks.info/ head shots new york] [http://shahee.info/lib/inspirational.html inspirational] [http://electronic-cards.fungin.info/ electronic cards] [http://bayalchevroletmobile.smurks.info/ bay al chevrolet mobile] [http://donotcalllist.smurks.info/ do not call list] [http://freesoftware.smurks.info/ free software] [http://shahee.info/lib/commercial-buildings.html commercial buildings] [http://nakedsecretaries.smurks.info/ naked secretaries] [http://chandra-north.fungin.info/ chandra north] [http://beautiful-couples.fungin.info/ beautiful couples] [http://hot-penis.fungin.info/ hot penis] [http://shahee.info/lib/antique-porn.html antique porn] [http://shahee.info/lib/dont-want-to-miss-a-thing.html dont want to miss a thing] [http://juliuszimmerman.smurks.info/ julius zimmerman] [http://shahee.info/lib/book-binding.html book binding] [http://losangelesweddingphotographer.smurks.info/ los angeles wedding photographer] [http://dickssportinggood.smurks.info/ dicks sporting good] [http://online-pharmacy-no-prescription.fungin.info/ online pharmacy no prescription] [http://shahee.info/lib/14k-gold-cz-anklet.html 14k gold cz anklet] [http://shahee.info/lib/vaginal-cumshots.html vaginal cumshots] [http://www.ling.umd.edu/dokuwiki/data/pages/colloquium/sug002/esqsnn.html order vigrx] [http://speechland.co.uk/resources/cache/skin_cache/tmp/ffbocl.html female masturbation] [http://www.dlk-recruitment.co.uk/db_log/tmp/dtnpgu.html cialis] [http://www.kiernanauctioneers.com/Profile/cache/noqktu.html the world map] [http://www.kiernanauctioneers.com/Profile/cache/bkbqim.html strap on dildo lesbian] [http://www.target-marketing.co.uk/store/pear/tmp/errors/ocgmov.html ebony anal] [http://hanhambaptist.com/images/send/thumbs/lmowrq.html birkenstocks cheap sale] [http://www.webangel.biz/pic/guestbook_163/data/tmp/dwhphp.html unlock key and username for pc bug doctor] [http://www.webangel.biz/pic/guestbook_163/data/tmp/qqrmhh.html tuning hummer] [http://speechland.co.uk/resources/cache/skin_cache/tmp/mefclr.html softporn] [http://www.photony1.co.uk/blog/media/images/wiabbg.html star wars] [http://www.kiernanauctioneers.com/Profile/cache/akrtxa.html huge tit] [http://www.dlk-recruitment.co.uk/db_log/tmp/mqluip.html pennington] [http://www.dlk-recruitment.co.uk/db_log/tmp/hwgwdu.html sexology] [http://www.dlk-recruitment.co.uk/db_log/tmp/prtqhx.html marx toy soldiers] [http://bowch.co.uk/2007/10/digital/vpnrws.html motor nissan philippine] [http://www.itosn.com/enginuityblog/media/mp3/veqevr.html mensuration] [http://www.photony1.co.uk/blog/media/images/chogsp.html upskirt] [http://www.webangel.biz/pic/guestbook_163/data/tmp/hphrmm.html british army] [http://www.target-marketing.co.uk/store/pear/tmp/errors/ibdpmd.html loans for bad credit] [http://www.photony1.co.uk/blog/media/images/drqebi.html persian rug] [http://www.photony1.co.uk/blog/media/images/gpeaxf.html unemployment] [http://www.dlk-recruitment.co.uk/db_log/tmp/wkhxws.html rotweiler pictures] [http://www.webangel.biz/pic/guestbook_163/data/tmp/lucooi.html baseball bets] [http://www.dlk-recruitment.co.uk/db_log/tmp/ohaqkn.html buy lipitor] [http://www.dlk-recruitment.co.uk/db_log/tmp/rppdbx.html carteras] [http://winlines.co.uk/catimages/thumbs/lwthss.html mannatech] [http://www.photony1.co.uk/blog/media/images/xfltmr.html classic gay porn] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/cggvng.html sunflowers wedding bouquets] [http://www.france4u.co.uk/files/cache/bpiott.html big tex trailers] [http://www.dlk-recruitment.co.uk/db_log/tmp/wjmpeo.html popular dance music] [http://www.ling.umd.edu/dokuwiki/data/pages/colloquium/sug002/cnkmgh.html tv ringtones] [http://winlines.co.uk/catimages/thumbs/fhvrqb.html extacy] [http://winlines.co.uk/catimages/thumbs/aacnkm.html rc model] [http://www.target-marketing.co.uk/store/pear/tmp/errors/apsgpv.html lesbian videos free] [http://moving-minds.org/cms/images/banners/small/qhijtn.html england map] [http://speechland.co.uk/resources/cache/skin_cache/tmp/rvrnxu.html usa baby furniture] [http://hanhambaptist.com/images/send/thumbs/tbfenp.html restasis] [http://winlines.co.uk/catimages/thumbs/fldacw.html wholesale clothes] [http://www.webangel.biz/pic/guestbook_163/data/tmp/xccldd.html playground designs] [http://moving-minds.org/cms/images/banners/small/kxcrdn.html nude carmen electra] [http://www.lsitalian.co.uk/linkmachine/resources/lm_images/pics/vmbapd.html basketball drill] [http://speechland.co.uk/resources/cache/skin_cache/tmp/abvnim.html bag bed in wholesale] [http://www.target-marketing.co.uk/store/pear/tmp/errors/sigaeh.html butt seymore] [http://www.itosn.com/enginuityblog/media/mp3/pqxqlj.html health and safety] [http://www.kiernanauctioneers.com/Profile/cache/jliwor.html does lexapro cause weight gain] [http://moving-minds.org/cms/images/banners/small/rimlhr.html california lotto] [http://www.photony1.co.uk/blog/media/images/nsairt.html currency exchange rate] [http://www.webangel.biz/pic/guestbook_163/data/tmp/qhquwk.html telecommunications] [http://www.kiernanauctioneers.com/Profile/cache/mlurpr.html hardsex] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/jnqtkf.html hilti] [http://www.goodpeopledobadthings.com/v3profiles/members/uploads/thumbs/sciuuc.html suzuki samurai] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/jfvnba.html adopting] [http://www.target-marketing.co.uk/store/pear/tmp/errors/psqsfm.html online poker sites] [http://bowch.co.uk/2007/10/digital/clhiws.html disney jungle book] [http://www.itosn.com/enginuityblog/media/mp3/timgdu.html bluetooth technology] [http://www.webangel.biz/pic/guestbook_163/data/tmp/onlfxl.html free printable party invitations] [http://speechland.co.uk/resources/cache/skin_cache/tmp/osjuch.html cheerleading uniforms] [http://winlines.co.uk/catimages/thumbs/kgohqj.html arcade game] [http://bowch.co.uk/2007/10/digital/cdsmaj.html case knife] [http://www.photony1.co.uk/blog/media/images/kutiek.html sexy stocking] [http://www.france4u.co.uk/files/cache/rkrrxw.html real ring tones] [http://hanhambaptist.com/images/send/thumbs/lpxeqv.html flight centre] [http://speechland.co.uk/resources/cache/skin_cache/tmp/mjplda.html father daughter] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/ghhclr.html sex home videos] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/qjqxdp.html robots] [http://www.dlk-recruitment.co.uk/db_log/tmp/ergvnt.html free advertising] [http://winlines.co.uk/catimages/thumbs/vsxeop.html coverletter samples] [http://www.webangel.biz/pic/guestbook_163/data/tmp/msirov.html penelope cruz naked] [http://www.dlk-recruitment.co.uk/db_log/tmp/kijosh.html skateboard myspace layouts] [http://www.itosn.com/enginuityblog/media/mp3/uwcjnc.html inuyasha ringtones] [http://bowch.co.uk/2007/10/digital/bhrsrv.html one cup coffee pods] [http://moving-minds.org/cms/images/banners/small/qubpad.html tom arma halloween costume] [http://moving-minds.org/cms/images/banners/small/fhwdaj.html benzonatate] [http://bowch.co.uk/2007/10/digital/beqnes.html chip foose] [http://www.webangel.biz/pic/guestbook_163/data/tmp/ptthbr.html used clothing] [http://www.itosn.com/enginuityblog/media/mp3/ijaews.html chile] [http://www.france4u.co.uk/files/cache/dibdxx.html jessica simpson bikini photos] [http://hanhambaptist.com/images/send/thumbs/scjfco.html screwing] [http://www.kiernanauctioneers.com/Profile/cache/odbtfx.html alzheimers medications] [http://hanhambaptist.com/images/send/thumbs/fhkedm.html free hardcore porn movies] [http://www.dlk-recruitment.co.uk/db_log/tmp/qwdnpc.html hallmark free card] [http://hanhambaptist.com/images/send/thumbs/pbwcnc.html amsterdam cheap hotel] [http://www.target-marketing.co.uk/store/pear/tmp/errors/ihxcgj.html valium xanax] [http://www.target-marketing.co.uk/store/pear/tmp/errors/mnkqkd.html sexfilm] [http://www.digitalencore.co.uk/wp-content/plugins/scrobbler/cache/image/xqtmai.html naked photo] [http://www.webangel.biz/pic/guestbook_163/data/tmp/rgtgqm.html download morpheus for free] [http://www.dlk-recruitment.co.uk/db_log/tmp/jgslfa.html discount books] [http://www.webangel.biz/pic/guestbook_163/data/tmp/wgmusb.html great lakes airlines] [http://www.target-marketing.co.uk/store/pear/tmp/errors/xcxdeu.html ortho tricyclin] [http://hanhambaptist.com/images/send/thumbs/lhldhv.html brianna banks] [http://www.dlk-recruitment.co.uk/db_log/tmp/sajmwp.html volvo trucks] [http://www.itosn.com/enginuityblog/media/mp3/expfof.html hardwood flooring] [http://winlines.co.uk/catimages/thumbs/qobdus.html provera] [http://www.target-marketing.co.uk/store/pear/tmp/errors/djlehs.html 50cent mp3] [http://moving-minds.org/cms/images/banners/small/vjuemq.html adult dating sites] [http://winlines.co.uk/catimages/thumbs/ldfedl.html pay day loans] [http://www.itosn.com/enginuityblog/media/mp3/gorbrv.html hsbc auto] [http://www.itosn.com/enginuityblog/media/mp3/rvkjwl.html tribal tattoo design] [http://www.webangel.biz/pic/guestbook_163/data/tmp/xbtlkh.html att wirless]
{{tabs|dod_control_point|goldsrc = 1|source = 1|main = source}}
{{wrongtitle|title=dod_control_point}}
{{CD|CControlPoint|file1=dod/dod_control_point.h|base=CBaseAnimating}}
{{this is a|model entity|name=dod_control_point|game=Day of Defeat: Source}}


== Entity description ==
This entity is usually represented visually by a flag (but this is not required). In turn, it represents a capturable location within the map.
This entity is usually represented visually by a flag (but is not required). In turn, it represents a capturable location within the map.
{{Note|This entity works in conjunction with {{ent|dod_capture_area}} or {{ent|dod_bomb_target}}. It can also be used on its own with the [[non-FGD features|non-FGD]] {{mono|SetOwner}} input, to create custom gamemodes.}}
{{Note|A maximum of 8 control points can be in a single map.}}


== Keyvalues ==
== Keyvalues ==
* {{kv targetname}}
{{studio rendering note|model, body, playbackrate, cycle}}
* {{kv enabledisable}}
{{KV Targetname}}
* {{kv angles}}
{{KV Angles}}
* '''target'''
{{KV StartDisabled}}
: <target_destination>
{{KV|LOCALIZED name to print on the hud|intn=point_printname|string|Location name; acts like {{ent|dod_location}}, and also displays on the Hud when captured. Despite what the SmartEdit name implies, this can be a regular string, not only a reference to a localization string.<br>Unlike {{ent|dod_location}}, this does not have a 63-character limit.}}
* '''point_name'''
{{KV|Time based point value for Allies|intn=point_timedpoints_allies|integer|Points given to allies as they own this flag over time.}}
: <string> Control Point Name when referred to
{{KV|Time based point value for Axis|intn=point_timedpoints_axis|integer|Points given to axis as they own this flag over time.}}
{{KV|Default Owner of the control point|intn=point_default_owner|integer choices|The default owner of this control point at round start.}}
:{| class=standard-table
! Literal Value || Description
|-
| 0 || Neutral
|-
| 2 || Allies
|-
| 3 || Axis
|}
{{KV|Sound Made when Axis captures|intn=point_axis_capsound|sound|Sound made when axis captures. The official maps use {{code|Voice.German_FlagCapture}}.}}
{{KV|Sound Made when Allies captures|intn=point_allies_capsound|sound|Sound made when allies captures. The official maps use {{code|Voice.US_FlagCapture}}.}}
{{KV|Sound Made when point resets|intn=point_resetsound|sound|Sound made when point resets.}}


* '''point_printname'''
{{minititle|Display model}}
: <string> Flag name displayed when captured, printed on the hud.
{{modernImportant|Avoid changing the Axis/Allies/Reset models and bodygroups from Valve's defaults ({{file|models/mapmodels/flags|mdl}}) unless you know what you are doing; players rely upon these to know who owns a control point!}}
{{KV|Allies Model|intn=point_allies_model|studio|Model when allies own point.}}
{{KV|Allies model bodygroup|intn=point_allies_model_bodygroup|integer|Allies model bodygroup. Default value used by Valve is "1".}}
{{KV|Axis Model|intn=point_axis_model|studio|Model when axis own point.}}
{{KV|Axis model bodygroup|intn=point_axis_model_bodygroup|integer|Axis model bodygroup. Default value used by Valve is "0".}}
{{KV|Reset Model|intn=point_reset_model|studio|Reset model when point resets or nobody owns the point.}}
{{KV|Reset model bodygroup|intn=point_reset_model_bodygroup|integer|Reset model bodygroup. Default value used by Valve is "3".}}
:{{note|Due to limitations in {{Hammer|2}}'s FGD syntax, the default FGD will always show this entity as an Axis flag, regardless of what is set here; see [[#Enhanced FGD entry|Enhanced FGD entry]] for a workaround (requires {{hammer++|2}}).}}


* '''point_pointvalue'''
{{KV|Group Index|intn=point_group|integer|}}
: <integer> Time based points value
:{{confirm|What is this for? Most maps leave it as "0".}}
{{KV|Index of this point (unique)|intn=point_index|integer|The unique number of this control point to refer {{ent|Dod_capture_area}}.}}
{{KV|Hud icon material when nobody owns point|intn=point_hud_icon_neutral|material|The [[material]] to show on the Hud when nobody owns the point.}}
{{KV|Hud icon material when Axis owns point|intn=point_hud_icon_axis|material|The [[material]] to show on the Hud when Axis owns the point.}}
{{KV|Hud icon material when Allies owns point|intn=point_hud_icon_allies|material|The [[material]] to show on the Hud when Allies owns the point.}}
{{KV|Hud icon - Bomb planted|intn=point_hud_icon_timercap|material|The [[material]] to show on the Hud when a bomb is planted.}}
{{KV|Hud icon - Point destroyed|intn=point_hud_icon_bombed|material|The [[material]] to show on the Hud when the point is destroyed.}}
{{KV|Number of Bombs required to destroy|intn=point_num_bombs|integer|The number of [[dod_bomb_target|bombs]] required to destroy the point, if used as a bomb objective. Leave at zero if using [[dod_capture_area|a capture area]] instead.}}
:{{confirm|Limit seems to be at least 8, if not higher, even though FGD limit is 3.}}


* '''point_points_for_cap'''
== Flags ==
: <integer> Points given to capturer
{{Fl|1|Hide Control Point on HUD|If un-ticked an icon will be shown on the HUD, in the top left hand side of the display giving the status of the control point, to all the players in the game.}}
{{Fl|2|Start with model hidden|Applies [[EF_NODRAW]] when the entity spawns at the start of each round.}}
{{Fl|4|Give tick points for bombs remaining}}


* '''point_team_points'''
== Inputs ==
: <integer> Points given to team
{{I|SetOwner|param=integer choices|nofgd=1|Set the current owner of the point. Use this if using a custom objective instead of [[dod_capture_area]] or [[dod_bomb_target]].}}
 
:{| class=standard-table
* '''point_timedpoints_allies'''
! Literal Value || Description
: <integer> Points given to allies as they own this flag over time
 
* '''point_timedpoints_axis'''
: <integer> Points given to axis as they own this flag over time
 
* '''point_default_owner'''
: <choices> Default owner of the control point
:{|
!| Value || Description
|-
|-
| 0 || Neither/Neutral
| 0 || Neutral
|-
|-
| 2 || Allies
| 2 || Allies
Line 43: Line 66:
| 3 || Axis
| 3 || Axis
|}
|}
:{{bug|hidetested=1|Capper as sent to the {{codelink|Day of Defeat: Source/Scripting/Game Events#dod_point_captured|alt=dod_point_captured}} game_event is the index of the [[!caller]], not the [[!activator]]. }}
{{I|HideModel|param=void|Hide the control point model (adds [[EF_NODRAW]])}}
{{I|ShowModel|param=void|Unhide the control point model (removes [[EF_NODRAW]])}}


* '''point_axis_capsound'''
== Outputs ==
: <sound> Sound made when axis captures
{{note|The [[!activator]] and [[!caller]] for all the following outputs is identical to [[!self]].}}
{{O|OnAlliesCap|param=void|Trigger when owner is changed to allies}}
{{O|OnAxisCap|param=void|Trigger when owner is changed to axis}}
{{O|OnCapReset|param=void|Trigger when owner is changed to neutral}}
{{O|AlliesCapturePoint|param=void|Trigger when Allies capture this point (not triggered on round resets)}}
{{O|AxisCapturePoint|param=void|Trigger when Allies capture this point (not triggered on round resets)}}


* '''point_allies_capsound'''
== Enhanced FGD entry ==
: <sound> Sound made when allies captures
[[Category:Custom FGDs]]
Replace the FGD entry with this to add the ability to preview custom flag models in {{hammer++|2}}, automatically set default capture sounds, add missing {{code|SetOwner}} input, and provide additional SmartEdit descriptions.
{{expand|1=<source lang=cpp>
@PointClass base(EnableDisable,Targetname,Angles) studio() = dod_control_point :
"A Control Point, representing a capturable objective; there can be up to 8 of these in a map.\n\nCan be the visual representation of the control point, or the model can be disabled and a prop_dynamic be used via this entity's outputs instead."
[
spawnflags(flags) =
[
1: "Hide Control Point on HUD" : 0
2: "Start with model hidden" : 0
4: "Give tick points for bombs remaining" : 0
]


* '''point_resetsound'''
point_printname(string) : "Location name" : "TODO: Set Name" : "The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string."
: <sound> Sound made when point resets
point_timedpoints_axis(integer) : "Time based point value for Axis" : 0 : "Points given to Axis as they own this flag over time."
point_timedpoints_allies(integer) : "Time based point value for Allies" : 0 : "Points given to Allies as they own this flag over time."
point_default_owner(choices) : "Default owner of the control point" : 0 =
[
0 : "Neutral"
2 : "Allies"
3 : "Axis"
]
point_axis_capsound(sound) : "Axis capture sound" : "Voice.German_FlagCapture" : "Sound made when Axis capture this point"
point_allies_capsound(sound) : "Allies capture sound" : "Voice.US_FlagCapture" : "Sound made when Allies capture this point"
point_resetsound(sound) : "Sound made when point resets" : ""
// first, we define some KVs that are used by Hammer++, but ignored by the game, to get around some editor hardcoding
model(studio) : "Editor model" : "models/mapmodels/flags.mdl" : "Model to display in the map editor (no effect in-game). This should match the model used by the default owner."
body(choices) : "Editor model bodygroup" : : "Bodygroup to use for the editor model (no effect in-game). This should match the bodygroup used by the default owner (descriptions given are for models/mapmodels/flags.mdl)." =
[
0 : "0 (Vanilla is German)"
1 : "1 (Vanilla is American)"
2 : "2 (Vanilla is British)"
3 : "3 (Vanilla is Neutral)"
]
// Then, the actual KVs used in-game
point_axis_model(studio) : "Axis model" : "models/mapmodels/flags.mdl" : "Model when Axis own the point"
point_axis_model_bodygroup(integer) : "Axis model bodygroup" : 0


* '''point_allies_model'''
point_allies_model(studio) : "Allies model" : "models/mapmodels/flags.mdl" : "Model to use when Allies own the point"
: <studio> Model when allies own point
point_allies_model_bodygroup(integer) : "Allies model bodygroup" : 1


* '''point_allies_model_bodygroup'''
point_reset_model(studio) : "Neutral model" : "models/mapmodels/flags.mdl" : "Model when neither team owns the point"
: <integer> Allies model bodygroup
point_reset_model_bodygroup(integer) : "Neutral model bodygroup" : 3


* '''point_axis_model'''
output OnAxisCap(void) : "Send when owner is changed to Axis (including round resets)"
: <studio> Model when axis own point
output OnAlliesCap(void) : "Send when owner is changed to Allies (including round resets)"
output OnCapReset(void) : "Send when owner is changed to Neutral (including round resets)"
output AxisCapturePoint(void) : "Send when Axis capture this point (not triggered on round resets)"
output AlliesCapturePoint(void) : "Send when Allies capture this point (not triggered on round resets)"


* '''point_axis_model_bodygroup'''
point_group(integer) : "Group Index" : 0
: <integer> Axis model bodygroup


* '''point_reset_model'''
point_index(integer) : "Index of this point (unique)" : 0 : "Unique identifier; used with dod_capture_area"
: <studio> Model when point reset
 
* '''point_reset_model_bodygroup'''
: <integer> reset model bodygroup
 
* '''point_group'''
: <string> Group Name
 
* '''point_index'''
: <integer> Point Index - must be unique over the map
 
* '''point_hud_icon_neutral'''
: <material> Hud icon material when noone owns point
 
* '''point_hud_icon_axis'''
: <material> Hud icon material when axis owns point
 
* '''point_hud_icon_allies'''
: <material> Hud icon material when allies owns point
 
* '''point_win_string'''
: <string> String to show when capped
 
== Flags ==
* 1 : Hide Control Point on HUD
 
== Inputs ==
* {{i targetname}}
* '''RoundInit'''
: Re initializes the round
 
* '''RoundStart'''
: Restarts the round
 
* '''SetTeam <integer> (from TeamNum class)'''
: Used for the filtering of this entity (0=none 2=allies 3=axis)
 
== Outputs ==
* {{o targetname}}
* '''OnAlliesCap'''
: Trigger when the allies cap...


* '''OnAxisCap'''
point_hud_icon_neutral(material) : "Hud icon - Neutral" : "sprites/obj_icons/icon_obj_neutral"
: Trigger when the axis cap...
point_hud_icon_axis(material) : "Hud icon - Axis" : "sprites/obj_icons/icon_obj_axis"
point_hud_icon_allies(material) : "Hud icon - Allies" : "sprites/obj_icons/icon_obj_allies"
point_hud_icon_timercap(material) : "Hud icon - bomb planted" : "sprites/obj_icons/icon_obj_neutral"
point_hud_icon_bombed(material) : "Hud icon - point destroyed" : "sprites/obj_icons/icon_obj_neutral"
input HideModel(void) : "Hide the control point model"
input ShowModel(void) : "Show the control point model"
input SetOwner(integer) : "Set the current owner of this point (0=Neutral,2=Allies,3=Axis)"
point_num_bombs(choices) : "Number of Bombs required to destroy" : 0 : "The number of bomb required to destroy the point, if used as a bomb objective. Ignore if used as a flag." =
[
0 : "0"
1 : "1"
2 : "2"
3 : "3"
]
// ===== CBaseAnimating KVs and I/O that aren't overridden by dod_control_point =====
solid(choices) : "Collisions" : 0 : "Note that the default model lacks a collision mesh, so VPhysics will be unavailable." =
[
0 : "Not Solid"
2 : "Use Bounding Box"
6 : "Use VPhysics"
]
skin(integer) : "Skin" : : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default.\n\nUse the `skin` input with the `OnAxisCap`, `OnAlliesCap`, and `OnCapReset` outputs if you need to use different skin indices per faction."
modelscale(float) : "Model Scale" : : "A multiplier for the size of the model."
sequence(integer) : "Animation Sequence" : : "Default animation sequence for the model to be playing after spawning. (Default 0)"
lightingorigin(target_destination) : "Lighting Origin" : : "Name of entity (not info_lighting!) from which to sample lighting instead of this entity's $illumposition."


* '''OnCapReset'''
disableshadows(choices) : "Disable Shadows" : "" : "Used to disable dynamic shadows on this entity." =
: Trigger on round reset
[
"" : "No"
1 : "Yes"
]
disablereceiveshadows(choices) : "Disable Receiving Shadows" : "" : "Prevent the entity from receiving dynamic shadows on itself."=
[
"" : "No"
1 : "Yes"
]
shadowcastdist(integer) : "Shadow Cast Distance" : : "Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity."


== See also ==
// Inputs
* [[List_of_DoD:S_entities|List of DoD:S entities]]
input skin(integer) : "Changes the model skin to the specified number."
input DisableShadow(void) : "Turn shadow off."
input EnableShadow(void) : "Turn shadow on."
input AlternativeSorting(bool) : "Used to attempt to fix sorting problems when rendering. True activates, false deactivates"
input SetModelScale(string) : "Takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over."


[[Category:Day of Defeat: Source Entities]]
// Outputs
[[Category:Entities]]
output OnIgnite(void) : "Fired when this object catches fire."
[[Category:Level Design]]
]
</source>
}}

Latest revision as of 07:36, 23 July 2025

C++ Class hierarchy
CControlPoint
CBaseAnimating
CBaseEntity
C++ dod/dod_control_point.h

dod_control_point is a model entity available in Day of Defeat: Source Day of Defeat: Source.

This entity is usually represented visually by a flag (but this is not required). In turn, it represents a capturable location within the map.

Note.pngNote:This entity works in conjunction with dod_capture_area or dod_bomb_target. It can also be used on its own with the non-FGD SetOwner input, to create custom gamemodes.
Note.pngNote:A maximum of 8 control points can be in a single map.

Keyvalues

Note.pngNote: See Model entity/Generic Keyvalues, Inputs and Outputs for keyvalues and inputs that affect model rendering.
Note that the following keyvalues are unavailable due to being overridden by game code:
model, body, playbackrate, cycle
It may still be possible to use their associated inputs or AddOutput them.
Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Pitch Yaw Roll (Y Z X) (angles) <QAngle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).
LOCALIZED name to print on the hud (point_printname) <string>
Location name; acts like dod_location, and also displays on the Hud when captured. Despite what the SmartEdit name implies, this can be a regular string, not only a reference to a localization string.
Unlike dod_location, this does not have a 63-character limit.
Time based point value for Allies (point_timedpoints_allies) <integer>
Points given to allies as they own this flag over time.
Time based point value for Axis (point_timedpoints_axis) <integer>
Points given to axis as they own this flag over time.
Default Owner of the control point (point_default_owner) <integer choices>
The default owner of this control point at round start.
Literal Value Description
0 Neutral
2 Allies
3 Axis
Sound Made when Axis captures (point_axis_capsound) <sound>
Sound made when axis captures. The official maps use Voice.German_FlagCapture.
Sound Made when Allies captures (point_allies_capsound) <sound>
Sound made when allies captures. The official maps use Voice.US_FlagCapture.
Sound Made when point resets (point_resetsound) <sound>
Sound made when point resets.

Display model:

Icon-Important.pngImportant:Avoid changing the Axis/Allies/Reset models and bodygroups from Valve's defaults (🖿models/mapmodels/flags.mdl) unless you know what you are doing; players rely upon these to know who owns a control point!
Allies Model (point_allies_model) <model path>
Model when allies own point.
Allies model bodygroup (point_allies_model_bodygroup) <integer>
Allies model bodygroup. Default value used by Valve is "1".
Axis Model (point_axis_model) <model path>
Model when axis own point.
Axis model bodygroup (point_axis_model_bodygroup) <integer>
Axis model bodygroup. Default value used by Valve is "0".
Reset Model (point_reset_model) <model path>
Reset model when point resets or nobody owns the point.
Reset model bodygroup (point_reset_model_bodygroup) <integer>
Reset model bodygroup. Default value used by Valve is "3".
Note.pngNote:Due to limitations in Hammer Hammer's FGD syntax, the default FGD will always show this entity as an Axis flag, regardless of what is set here; see Enhanced FGD entry for a workaround (requires Hammer++ Hammer++).


Group Index (point_group) <integer>
Confirm:What is this for? Most maps leave it as "0".
Index of this point (unique) (point_index) <integer>
The unique number of this control point to refer Dod_capture_area.
Hud icon material when nobody owns point (point_hud_icon_neutral) <material>
The material to show on the Hud when nobody owns the point.
Hud icon material when Axis owns point (point_hud_icon_axis) <material>
The material to show on the Hud when Axis owns the point.
Hud icon material when Allies owns point (point_hud_icon_allies) <material>
The material to show on the Hud when Allies owns the point.
Hud icon - Bomb planted (point_hud_icon_timercap) <material>
The material to show on the Hud when a bomb is planted.
Hud icon - Point destroyed (point_hud_icon_bombed) <material>
The material to show on the Hud when the point is destroyed.
Number of Bombs required to destroy (point_num_bombs) <integer>
The number of bombs required to destroy the point, if used as a bomb objective. Leave at zero if using a capture area instead.
Confirm:Limit seems to be at least 8, if not higher, even though FGD limit is 3.

Flags

Hide Control Point on HUD : [1]
If un-ticked an icon will be shown on the HUD, in the top left hand side of the display giving the status of the control point, to all the players in the game.
Start with model hidden : [2]
Applies EF_NODRAW when the entity spawns at the start of each round.
Give tick points for bombs remaining : [4]

Inputs

SetOwner <integer choicesRedirectInput/integer> !FGD
Set the current owner of the point. Use this if using a custom objective instead of dod_capture_area or dod_bomb_target.
Literal Value Description
0 Neutral
2 Allies
3 Axis
Icon-Bug.pngBug:Capper as sent to the dod_point_captured game_event is the index of the !caller, not the !activator.
HideModel <void>
Hide the control point model (adds EF_NODRAW)
ShowModel <void>
Unhide the control point model (removes EF_NODRAW)

Outputs

Note.pngNote:The !activator and !caller for all the following outputs is identical to !self.
OnAlliesCap <void>
Trigger when owner is changed to allies
OnAxisCap <void>
Trigger when owner is changed to axis
OnCapReset <void>
Trigger when owner is changed to neutral
AlliesCapturePoint <void>
Trigger when Allies capture this point (not triggered on round resets)
AxisCapturePoint <void>
Trigger when Allies capture this point (not triggered on round resets)

Enhanced FGD entry

Replace the FGD entry with this to add the ability to preview custom flag models in Hammer++ Hammer++, automatically set default capture sounds, add missing SetOwner input, and provide additional SmartEdit descriptions.

@PointClass base(EnableDisable,Targetname,Angles) studio() = dod_control_point : 
	"A Control Point, representing a capturable objective; there can be up to 8 of these in a map.\n\nCan be the visual representation of the control point, or the model can be disabled and a prop_dynamic be used via this entity's outputs instead."
[	
	spawnflags(flags) =
	[
		1: "Hide Control Point on HUD" : 0
		2: "Start with model hidden" : 0
		4: "Give tick points for bombs remaining" : 0
	]

	point_printname(string) : "Location name" : "TODO: Set Name" : "The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string."
	
	point_timedpoints_axis(integer) : "Time based point value for Axis" : 0 : "Points given to Axis as they own this flag over time."
	point_timedpoints_allies(integer) : "Time based point value for Allies" : 0 : "Points given to Allies as they own this flag over time."
	
	point_default_owner(choices) : "Default owner of the control point" : 0 =
	[
		0 : "Neutral"
		2 : "Allies"
		3 : "Axis"
	]
	point_axis_capsound(sound) : "Axis capture sound" : "Voice.German_FlagCapture" : "Sound made when Axis capture this point"
	point_allies_capsound(sound) : "Allies capture sound" : "Voice.US_FlagCapture" : "Sound made when Allies capture this point"
	point_resetsound(sound) : "Sound made when point resets" : ""
	
	// first, we define some KVs that are used by Hammer++, but ignored by the game, to get around some editor hardcoding
	model(studio) : "Editor model" : "models/mapmodels/flags.mdl" : "Model to display in the map editor (no effect in-game). This should match the model used by the default owner."
	body(choices) : "Editor model bodygroup" : : "Bodygroup to use for the editor model (no effect in-game). This should match the bodygroup used by the default owner (descriptions given are for models/mapmodels/flags.mdl)." =
	[
		0 : "0 (Vanilla is German)"
		1 : "1 (Vanilla is American)"
		2 : "2 (Vanilla is British)"
		3 : "3 (Vanilla is Neutral)"
	]
	
	// Then, the actual KVs used in-game
	point_axis_model(studio) 	: "Axis model" : "models/mapmodels/flags.mdl" : "Model when Axis own the point"
	point_axis_model_bodygroup(integer) : "Axis model bodygroup" : 0

	point_allies_model(studio) 	: "Allies model" : "models/mapmodels/flags.mdl" : "Model to use when Allies own the point"
	point_allies_model_bodygroup(integer) : "Allies model bodygroup" : 1

	point_reset_model(studio) 	: "Neutral model" : "models/mapmodels/flags.mdl" : "Model when neither team owns the point"
	point_reset_model_bodygroup(integer) : "Neutral model bodygroup" : 3

	output OnAxisCap(void) : "Send when owner is changed to Axis (including round resets)"
	output OnAlliesCap(void) : "Send when owner is changed to Allies (including round resets)"
	output OnCapReset(void) : "Send when owner is changed to Neutral (including round resets)"
	
	output AxisCapturePoint(void) : "Send when Axis capture this point (not triggered on round resets)"
	output AlliesCapturePoint(void) : "Send when Allies capture this point (not triggered on round resets)"

	point_group(integer) : "Group Index" : 0

	point_index(integer) : "Index of this point (unique)" : 0 : "Unique identifier; used with dod_capture_area"

	point_hud_icon_neutral(material)	: "Hud icon - Neutral" : "sprites/obj_icons/icon_obj_neutral"
	point_hud_icon_axis(material)	: "Hud icon - Axis" : "sprites/obj_icons/icon_obj_axis"
	point_hud_icon_allies(material)	: "Hud icon - Allies" : "sprites/obj_icons/icon_obj_allies"
	point_hud_icon_timercap(material) : "Hud icon - bomb planted" : "sprites/obj_icons/icon_obj_neutral"
	point_hud_icon_bombed(material) : "Hud icon - point destroyed" : "sprites/obj_icons/icon_obj_neutral"
	
	input HideModel(void) : "Hide the control point model"
	input ShowModel(void) : "Show the control point model"
	input SetOwner(integer) : "Set the current owner of this point (0=Neutral,2=Allies,3=Axis)"
	
	point_num_bombs(choices) : "Number of Bombs required to destroy" : 0 : "The number of bomb required to destroy the point, if used as a bomb objective. Ignore if used as a flag." =
	[
		0 : "0"
		1 : "1"
		2 : "2"
		3 : "3"
	]
	
	// ===== CBaseAnimating KVs and I/O that aren't overridden by dod_control_point =====
	solid(choices) : "Collisions" : 0 : "Note that the default model lacks a collision mesh, so VPhysics will be unavailable." =
	[
		0 : "Not Solid"
		2 : "Use Bounding Box"
		6 : "Use VPhysics"
	]
	skin(integer) : "Skin" : : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default.\n\nUse the `skin` input with the `OnAxisCap`, `OnAlliesCap`, and `OnCapReset` outputs if you need to use different skin indices per faction."
	modelscale(float) : "Model Scale" : : "A multiplier for the size of the model."
	sequence(integer) : "Animation Sequence" : : "Default animation sequence for the model to be playing after spawning. (Default 0)"
	lightingorigin(target_destination) : "Lighting Origin" : : "Name of entity (not info_lighting!) from which to sample lighting instead of this entity's $illumposition."

	disableshadows(choices) : "Disable Shadows" : "" : "Used to disable dynamic shadows on this entity." =
	[
		"" : "No"
		1 : "Yes"
	]
	disablereceiveshadows(choices) : "Disable Receiving Shadows" : "" : "Prevent the entity from receiving dynamic shadows on itself."=
	[
		"" : "No"
		1 : "Yes"
	]
	shadowcastdist(integer) : "Shadow Cast Distance" : : "Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity."

	// Inputs
	input skin(integer) : "Changes the model skin to the specified number."
	input DisableShadow(void) : "Turn shadow off."
	input EnableShadow(void) : "Turn shadow on."
	input AlternativeSorting(bool) : "Used to attempt to fix sorting problems when rendering. True activates, false deactivates"
	input SetModelScale(string) : "Takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over."

	// Outputs
	output OnIgnite(void) : "Fired when this object catches fire."
]