e-freak Posted September 23, 2007 Report Share Posted September 23, 2007 I've just finished the first beta of my Team Fortress 2 Beta FGD and the Game Configuration and Game Info. Known Bugs: The Textures don't display correct in the 3D-View of Hammer atm. The GameConfig.txt in the folder sourcesdk/bin has to be updated with this text: "Team Fortress 2" { "GameDir" "steampath\steamapps\Account\team fortress 2\tf" "hammer" { "GameData0" "steampath\steamapps\Account\sourcesdk\bin\tf2.fgd" "TextureFormat" "5" "MapFormat" "4" "DefaultTextureScale" "0.125000" "DefaultLightmapScale" "16" "GameExe" "steampath\steamapps\Account\team fortress 2\hl2.exe" "DefaultSolidEntity" "func_capturezone" "DefaultPointEntity" "item_teamflag" "BSP" "steampath\steamapps\Account\sourcesdk\bin\vbsp.exe" "Vis" "steampath\steamapps\Account\sourcesdk\bin\vvis.exe" "Light" "steampath\steamapps\Account\sourcesdk\bin\vrad.exe" "GameExeDir" "steampath\steamapps\Account\team fortress 2" "MapDir" "steampath\steamapps\Account\sourcesdk_content\tf\mapsrc" "BSPDir" "steampath\steamapps\Account\team fortress 2\tf\maps" "CordonTexture" "tools\toolsskybox" "MaterialExcludeCount" "0" } } You then create a new file "tf2.fgd" in the same folder with this text: //====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= // // Purpose: TEAM FORTRESS 2 game definition file (.fgd) - beta release by HLPortal.de | e-freak // //============================================================================= @include "base.fgd" //------------------------------------------------------------------------- // // Base Classes // //------------------------------------------------------------------------- @BaseClass = Target [ target(target_destination) : "Target" ] @BaseClass = TeamNum [ TeamNum(choices) : "Team Number (int)" : 0 = [ 2 : "RED" 3 : "BLU" ] input SetTeam(integer) : "Changes the entity's team" ] @FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 = filter_activator_team : "A filter that filters by the team of the activator." [ filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+ "team number matches the given team will pass the filter. If the filter mode is Disallow, "+ "all entities EXCEPT those whose team number matches the given team will pass the filter." = [ 2 : "RED" 3 : "BLU" ] ] //------------------------------------------------------------------------- // // Classes // //------------------------------------------------------------------------- @SolidClass base(EnableDisable) = func_regenerate : "Regeneration Area" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] associatedmodel(string) : "Model used" : "insert" : "The Model (prop_dynamic) which shall do the animation" ] @SolidClass base(EnableDisable) = func_capturezone : "CTF Capturezone" [ capturepoint(integer) : "Capturepoint Nr." : 1 targetname(string) : "Target Name" : "capturezone_red" : "Give the capturezone a name to relate other entities to it" TeamNum(choices) : "Team relation" : 0 : "Which team does the capturezone belong to?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] output OnFlagCaptured(void) : "Send when Flag has been captured" output OnEnterZone(void) : "Send when entering the capturezone" add_timer_seconds(integer) : "Add To Timer (sec)" : 0 ] @SolidClass base(EnableDisable) = func_respawnroomvisualizer : "TF2 Respawnroomvisualization" [ spawnflags(flags) = [ 1 : "vrad_brush_cast_shadows" : 0 2 : "StartDisabled" : 0 4 : "Solidity" : 1 8 : "Rendermode" : 0 16 : "disablereceiveshadows" : 0 32 : "disableshadows" : 0 64 : "InputFilter" : 0 ] respawnroomname(string) : "Respawnroom Name" : "respawnroom_red_round1" : "Give the Respawnroom a name to relate other entities to it" rendercolor(color255) : "Rendered Color" : : renderamt(integer) : "Renderamt" : 255 : "Integer-Value from 0 to 255 allowed" rendermode(integer) : "Rendermode" : 0 renderfx(integer) : "Render-Effect" : 0 ] @SolidClass base(EnableDisable) = func_respawnroom : "Respawnroom" [ spawnflags(flags) = [ 1 : "StartDisabled" : 0 ] targetname(string) : "Target Name" : "respawnroom_red_round1" : "Give the Respawnroom a name to relate other entities to it" TeamNum(choices) : "Team relation" : 0 : "Which team does the capturezone belong to?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] ] @SolidClass base(EnableDisable) = trigger_capture_area : "CP Capture Area" [ spawnflags(flags) = [ 1 : "StartDisabled" : 0 2 : "team_cancap_3" : 1 4 : "team_cancap_2" : 0 ] area_time_to_cap(integer) : "Capturetime" : 3 : "in Seconds" area_cap_point(string) : "CP Name" : "cap_red_1" : "Relation-Name" team_numcap_3(integer) : "Blu Players" : 1 : "Number of Blu-Players to capture or defend the Area" team_numcap_2(integer) : "Red Players" : 1 : "Number of Red-Players to capture or defend the Area" output OnCapTeam2(void) : "start_timer,AddTime,270,0.01,-1" output OnCapTeam2(void) : "sign_cap_1,Skin,2,0,-1" output OnCapTeam2(void) : "area1_camera,Disable,,0,-1" output OnCapTeam2(void) : "cap_1,Skin,2,0,-1" ] @PointClass base(EnableDisable,Angles) = item_teamflag: "CTF Flag" [ spawnflags(flags) = [ 1 : "StartDisabled" : 0 2 : "GameType" : 0 ] targetname(string) : "Target Name" : "flag_red" : "Give the Flag a name to relate other entities to it" TeamNum(choices) : "Team relation" : 0 : "Which team's Flag is it?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] model(studio) : "World Model" : "models/flag/briefcase.mdl" skin(integer) : "Skin" : 2 : "The model has multiple versions of its texture (related to the team). Change the number to fit the skin to the team." output OnFlagTaken(void) : "Send when Flag has been taken" output OnFlagDropped(void) : "Send when Flag has been dropped" output OnFlagReturned(void) : "Send when Flag has returned" input Skin(integer) : "Changes the model skin to the specified number." ] @PointClass base(EnableDisable,Angles) = info_observer_point : "Observer Point" [ targetname(string) : "Target Name" : "obs_A" : "Give the Observer Point a name to relate other entities to it" associated_team_entity(string) : "Associated Entity" : "cp_A" : "Which Entity is this parent-related to?" ] @PointClass base(EnableDisable,Angles) = info_player_teamspawn : "Player Spawn" [ spawnflags(flags) = [ 1 : "StartDisabled" : 0 ] targetname(string) : "Target Name" : "spawn_red_first" : "Give the Playerspawn a name to relate other entities to it" controlpoint(string) : "Related Controlpoint" : "cp_A" : "If the Spawn is Neutral and shell belong to the Controlpoint owning team, fill the CP' name in here" TeamNum(choices) : "Team relation" : 0 : "Which team does the Spawned player belong to?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] team_no(integer) : "Team Number" : 2 round_redspawn(string) : "Red's turn" : "round_1" : "If your map is Round-based write in which round the Red-Team owns the spawn" round_bluespawn(string) : "Blu's turn" : "round_2" : "If your map is Round-based write in which round the Blu-Team owns the spawn" group_no(integer) : "Group Number" : 1 : "If teams shall be splitted in different groups (e.g. coop-map target reached) write here" goal_state(integer) : "Goal State" : 1 goal_result(integer) : "Goal Result" : 1 goal_activation(integer) : "Goal Activation" : 1 activate_goal_no(integer) : "Activate Goal" : 23 : "Activate a specific goal when spawning here" ] @PointClass base(EnableDisable,Angles) = game_intro_viewpoint : "Intro Viewpoint" [ TeamNum(choices) : "Team relation" : 0 : "Which team's players will see from this Viewpoint?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] time_delay(integer) : "Time Delay" : 10 step_number(integer) : "Step Number" : 2 hint_message(string) : "Hint Message" : "#Intro_capturepoints" event_to_fire(string) : "Press Fire" : "controlpoint_pulse_element" event_delay(integer) : "Event Delay" : 3 ] @PointClass base(EnableDisable) = team_control_point_round : "Control Point Round" [ targetname(string) : "Target Name" : "round1" : "Give a round-name to relate other entities to it" cpr_restrict_team_cap_win(choices) : "Team relation" : 0 : "Which team can't capture this point?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] cpr_priority(integer) : "CP Priority" : 100 "The priority determines the row in which the CPs have to be taken" cpr_cp_names(string) : "Names" : "cap_red_1 cap_red_2" output OnWonByTeam2(void) : "cap1,Trigger,,12,-1" ] @PointClass base(EnableDisable) = game_round_win : "Game win" [ spawnflags(flags) = [ 1 : "switch_teams" : 1 2 : "force_map_reset" : 1 ] targetname(string) : "Target Name" : "round1" : "Give a Target to relate to" cpr_restrict_team_cap_win(choices) : "Team relation" : 0 : "Which team wins?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable) = team_round_timer : "Team Round Timer" [ spawnflags(flags) = [ 1 : "auto_countdown" : 1 2 : "force_map_reset" : 1 4 : "start_paused" : 0 8 : "show_in_hud" : 1 ] targetname(string) : "Target Name" : "start timer" : "Give a Target to relate to" timer_length(integer) : "Timer length" : 100 : "in Seconds" cpr_cp_names(string) : "Names" : "cap_red_1 cap_red_2" setup_length(integer) : "Length of Setup" : 30 : "How long is the setupphase" output onfinished(void) : "end_of_game,RoundWin,,0,-1" output OnSetupFinished(void) : "relay_stage1_gates,Trigger,,0,-1" output OnSetupFinished(void) : "relay_stage2_gates,Trigger,,0,-1" output OnSetupFinished(void) : "relay_stage3_gates,Trigger,,0,-1" output On5MinRemain(void) : "5minutes_warning,PlaySound,,0,-1" ] @PointClass base(EnableDisable) = filter_activator_tfteam : "Filter Team" [ TeamNum(choices) : "Team relation" : 0 : "Which team can't pass?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] targetname(string) : "Filter used" : "filter_blue_team" : "Related Triggerblock" Negated(string) : "Negation" : "Allow all entites that match criteria" ] @PointClass base(EnableDisable) = team_control_point : "Team CP" [ spawnflags(flags) = [ 1 : "team_timedpoints_3" : 0 2 : "team_timedpoints_2" : 0 4 : "StartDisabled" : 0 ] team_previouspoint_3_0(string) : "Previous Blu CP" : "cap_red_1" team_previouspoint_2_0(string) : "Previous Red CP" : "cap_blu_1" team_model_3(studio) : "Blu CP Model" : "models/effects/cappoint_hologram.mdl" team_model_2(studio) : "Red CP Model" :"models/effects/cappoint_hologram.mdl" team_model_0(studio) : "Neutral CP Model" :"models/effects/cappoint_hologram.mdl" team_icon_3(material) : "Blu Obj Sprite" : "sprites/obj_icons/icon_obj_blu" team_icon_2(material) : "Red Obj Sprite" : "sprites/obj_icons/icon_obj_red" team_icon_0(material) : "Neutral Obj Sprite" : "sprites/obj_icons/icon_obj_neutral" team_bodygroup_3(integer) : "Bodygroup Blu" : 0 team_bodygroup_2(integer) : "Bodygroup Red" : 1 team_bodygroup_0(integer) : "Bodygroup Neutral" : 3 targetname(string) : "CP Name" : "cap_red_1" : "Related CP" point_warn_sound(sound) : "CP Warning" : ControlPoint.CaptureWarn : "To be played sound when CP is under attack" point_printname(string): "Printed CP Name" : "#Dustbowl_cap_1_a" point_index(integer) : "CP Index Nr" : 1 point_group(integer) : "CP Group" : 0 point_default_owner(choices) : "Team relation" : 0 : "Which team holds the point by default?" = [ 0 : "Neutral" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_ammopack_small : "Small Ammo" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_ammopack_medium : "Medium Ammo" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_ammopack_full : "Full Ammo" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_healthkit_full : "Full Health" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_healthkit_medium : "Medium Health" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ] @PointClass base(EnableDisable,Angles) = item_healthkit_small : "Small Health" [ TeamNum(choices) : "Team relation" : 0 : "Which team can benefit?" = [ 0 : "Both" 2 : "Red" 3 : "Blu" ] ][/code] And finally, you have to change the GameInfo.txt in the folder \team fortress 2\tf from [code] Game |all_source_engine_paths|hl2 to Game |hl2. No warranty yet and please change your GameInfo.txt back to the former line before playing on a VAC Server (i'm not sure what it does!) Quote Link to comment Share on other sites More sharing options...
Grippy0 Posted September 23, 2007 Report Share Posted September 23, 2007 Here is the official .fgd of TF2 : http://oify4.com/~files/prefabsandfgd.rar Found here : http://www.hl2world.com/bbs/tf2-mapping ... ht=#702304 Quote Link to comment Share on other sites More sharing options...
e-freak Posted September 23, 2007 Author Report Share Posted September 23, 2007 noes - I have done all this for nothing? none the less: I've updated the above post with the corrected version (should now work (i changed some lines before releasing it and it screwed all over) Edit: I had a look at the "official" FGD and it looks like a leak or something but not as if valve would have wanted this to come out - there are even unreleased prefab parts of ep2 and portal in there o_O Quote Link to comment Share on other sites More sharing options...
⌐■_■ Posted September 23, 2007 Report Share Posted September 23, 2007 Lol. Quote Link to comment Share on other sites More sharing options...
Grinwhrl Posted September 23, 2007 Report Share Posted September 23, 2007 Least you can do it E, Nice work! Quote Link to comment Share on other sites More sharing options...
Zyn Posted September 23, 2007 Report Share Posted September 23, 2007 Your version doesn't require you to extract all the models and materials though. Quote Link to comment Share on other sites More sharing options...
e-freak Posted September 23, 2007 Author Report Share Posted September 23, 2007 At the moment yes. But most of the TF2 textures are not shown correctly in hammer as they use a newer vtf version. I'm currently thinking of a fix that doesn't require to extract and convert all textures. Quote Link to comment Share on other sites More sharing options...
neotic Posted September 25, 2007 Report Share Posted September 25, 2007 Does this imply that TF2 will not allow for more than two teams? Quote Link to comment Share on other sites More sharing options...
Chunks Posted September 25, 2007 Report Share Posted September 25, 2007 Does this imply that TF2 will not allow for more than two teams? I hope not I hope it's possible to do 4fort, border1, and hunted. Quote Link to comment Share on other sites More sharing options...
Psy Posted September 25, 2007 Report Share Posted September 25, 2007 Does this imply that TF2 will not allow for more than two teams? That would require a server-side mod. Quote Link to comment Share on other sites More sharing options...
neotic Posted September 26, 2007 Report Share Posted September 26, 2007 As much as I love TF2 if thats the case then it fails entirely in certain aspects that make TF... TF. I can't imagine there not being a hunted type map in the final release. I won't... can't believe it. Quote Link to comment Share on other sites More sharing options...
e-freak Posted September 26, 2007 Author Report Share Posted September 26, 2007 Have you ever seen 3d mike's VIP mod for counter-strike source? Do you really think there won't be any chance for a Hunted Mod for TF2 IF! Valve doesn't plant it with a patch? When I asked Torsten (Valve) at the GC about the maps he said what is obvious: >>Valve has never left a game's maplist untouched after release. You can be quite sure there will be new maps with the patches and I could imagine that these will bring multi-team support and/or the hunted. Quote Link to comment Share on other sites More sharing options...
Chunks Posted September 26, 2007 Report Share Posted September 26, 2007 There is a 32man tf2 server playing ff's version of well. Quote Link to comment Share on other sites More sharing options...
Jen Posted September 30, 2007 Report Share Posted September 30, 2007 Hi there, While I realize this isn't technically a support thread, it was the closest I could find to a TF2 mapping thread. I've been fiddling with the source SDK in an attempt to get it to work with TF2, but I've had no luck so far. I can get Hammer to work just fine with standard HL2, but as soon as I create the TF2 game configuration, restart Hammer and try to load Hammer up with the TF2 config selected, it tells me it can't find any Steam Content Servers (see pic). Now, I've triple checked everything, all the settings *should* be correct as far as I know. I've also tried restarting Steam, tried deleting clientregistry.blob and restarting steam, I've tried praying, nothing seems to work. Any advice would be greatly appreciated! Quote Link to comment Share on other sites More sharing options...
Buddy Posted September 30, 2007 Report Share Posted September 30, 2007 Wait for Oct 10th, then it will work. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.