Fortress Forever

Go Back   Fortress Forever > Editing > Mapping

Reply
 
Thread Tools Display Modes
Old 09-13-2007, 11:55 PM   #1
Imbrifer
Religious Stamp Machine
Retired FF Staff
 
Imbrifer's Avatar
 
Join Date: Mar 2007
Location: Mad City, WI
Posts Rated Helpful 0 Times
Send a message via AIM to Imbrifer
How to Make FF Maps

This is a step-by-step way to set up Hammer and put Fortress Forever entities in your map. The first part of this is setting up the Options in your hammer to have a 'Fortress Forever' game type.

Intro: Setting Up Hammer for FF

1. Boot up hammer for another mod (HL2, HL2:DM, CS, etc.) and go to Tools -> Options.
2. Click on the 'Game Configurations' tab, and next to the drop-down menu on the right, it should say 'Add'. Click that bad boy, and create a new entry named 'Fortress Forever' or 'FF' or 'Gazelle Pudding' or whatever you want.
3. There should be one .fgd file you need: fortressforever.fgd It should be found in the \Steam\SteamApps\SourceMods\fortressforever\ directory, so navigate there and select it.
4. The 'Default Point Entity' and 'Default Brush Entity' are exactly what they sound like. When you create an entity, this is what it will be by default. You'll probably want the 'Default Point Entity' to either be 'prop_static' or 'info_ff_script'. For the 'Default Solid Entity', go for 'func_detail'.
5. Time to set some directories. The Game Executable Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
The Mod Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\
The Game Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
And finally, your RMF directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\map s\
6. Hit OK, restart Hammer and you should be good to go for starting your first FF map!

Before creating FF entities, you need to have two things:
  • Your map, open in Hammer
  • A lua file, opened through a text editor. If you don't have one, create it with a text editor as mapname.lua (for example, ff_well.lua). This file should be in the same directory your BSP will be in (for FF, it is \Steam\SteamApps\SourceMods\fortressforever\ff\map s\ )

1. Basic Entities
You will probably want some basic FF entities for your map. These include Spawns, Resupply Bags, Armor, Health Kits and Grenade Bags. This section will teach you how to get all of these working in your map. These will not work unless you declare a game type (see section 4).

1. Spawns & Spawn Doors
To get spawn points working correctly, place info_ff_teamspawn point-based entities where you would like players to spawn.
Once you have these entities, enter a name for each one on each team. For example, all of the spawn points you want the Green team to spawn at would be named greenspawn. Spawn points for red would each be named redspawn, for blue bluespawn and for yellow yellowspawn.
To get one-team-only doors working, create a trigger_ff_script brush-based entity where you want the player's touch to activate the door, and give it the same outputs you'd give a trigger_multiple door trigger. For the naming, name it colorrespawndoor. For example, if you want the Green team to be able to open the door, name it greenrespawndoor. Door triggers for other team doors would be redrespawndoor, bluerespawndoor and yellowrespawndoor.
It is important that when you name your entities, you make sure they are all lowercase. Hammer will try to automatically make the first letter uppercase, but the entities won't work right. However you do it, make sure the text is all lowercase.

2. Resupply Goodies
For the next four items (Resupply bags, Armor, Health, and Grenades) you start the same way: create a point-based info_ff_script entity. Place it where you want the goodie to be. Change its name to one of the following things to get it to become what you want. Again, it is important that when you name your entities, you make sure they are all lowercase.
a. Resupply bags
For the basic resupply bags, name them color_ammobackpack. For example, if I wanted resupply bags that only the Green team could use, I would name each one green_ammobackpack. The same rule applies for all of the other colors. If you want a pack anyone can use, name it ammobackpack.
b. Armor Kits
For armor, name them color_armorkit. For example, if I wanted armor kits that only the Green team could use, I would name each one green_armorkit. The same rule applies for all four colors. If you want armor anyone can use, name it armorkit.
c. Health Kits
For health kits, name them color_healthkit. For example, if I wanted health kits only the Green team could use, I would name each one green_healthkit. The same rule applies for all four colors. If you want a health kit anyone can use, name it healthkit.
d. Grenade Packs
For back packs containing grenades, name them color_grenadebackpack. For example, if I wanted a grenade pack only the Green team could use, I would name them each green_grenadebackpack. This rule applies to all four colors. If you want a grenade pack anyone can use, name it grenadebackpack
e. Big Packs
For back packs containing everything but grenades, name them color_bigpack. For example, if I wanted a big pack only the Green team could use, I would name them each green_bigpack. This rule applies to all four colors. If you want a big pack anyone can use, name it bigpack
2. Spawn Turrets
Spawn turrets are those pesky turrets that pop down when an enemy enters your spawn and kills them. They can only be on the ceiling. To get these to work, create a point-based ff_miniturret entity.
Depending on the team you want it to defend for, name it respawnturret_color. For example, if I want to put spawn turrets in the Green team's spawn to shoot red, blue, or yellow team members who enter the green spawn, I would name them each respawnturret_green. The same rule applies for all four colors. Remember, it is important that when you name your entities, you make sure they are all lowercase.

Next, you open your map's lua file (the second of the two files you need open), and enter this line of text on a blank line at the top:
IncludeScript("base_respawnturret");
This makes the turrets you created in Hammer work. Save your map's lua file.


3. Locations
Locations are those areas that appear on the bottom left of your screen, showing you where you are. When you build your map, you customize these locations by creating brush-based entities wherever players enter or exit each area. For example, if I have a map that is just two rooms with a doorway connecting them, I would want players who pass through the doorway to see that they are either in "North Room" or "South Room".
I will teach you how to do this using this simple example, but the rule is the same for whether you have 1 entrance to your room, or 12 entrances.

1. First, create a brush, and texture it with the orange trigger texture. Make sure it is large enough to completely cover the entrance to your location.

2. Second, turn that brush into a trigger_ff_script entity. Name it location_roomname. For example, if the name of the location I was identifying was "North Room", I would name the trigger_ff_script location_northroom.

3. Do the above two steps for each entrance to your room. Make sure they all have the same name, and be sure that when you name your entities, you they are all lowercase.

4. Now, open up your lua file again. Enter the following text on a new line near the top:
IncludeScript("base_location");
But we aren't finished yet. Scroll down to the bottom of your lua file. We are going to enter new text.

5. On a new line, we are going to tell FF the name we want the player to see for our location. Enter the following text:
location_northroom = location_info:new({ text = "North Room", team = Team.kGreen })
Of course replace location_northroom with the name you gave your trigger_ff_script entities and replace "North Room" with whatever name you want players to see for your room. The last piece you need to check is at the end, where it says team = Team.kGreen. This is here because on my map, the north room belongs to the Green team. For your map, change this to correspond to whichever team controls the location (kRed, kYellow, or kBlue instead of kGreen). If it is neutral territory, change it to say team = NO_TEAM

6. Do the above steps for each of your locations, and it should work in game!


4. Setting Up Your Gametype
Thanks to the FF team implementing lua, there are nearly limitless gametypes we can create as mappers for FF. These instructions, however, will only show you how to set up two basic game types: teamplay and CTF.

The setup for teamplay is relatively simple: At the top of your map's lua file, add the following text:
IncludeScript("base_teamplay");
Wala! there you go. Save your lua file and you can do team deathmatch or what have you!

For CTF, the set up takes a little more. It begins similarly, however.
1. At the top of your map's lua file, add the following text:
IncludeScript("base_ctf");

2. Next, you have to create the flag. Find the location where you want the flag, and create a point-based info_ff_script entity. Name it color_flag. For example, since the flag I am creating is for the Green team, I would name it green_flag. Again, be sure that when you name your entities, you they are all lowercase. The entity's base will be the bottom point of the flag pole.

3. Finally, we create the capture point. Find where you want the capture point to be, and create a brush that the player can walk into to capture the flag. Texture it with the orange trigger texture, and turn it into a trigger_ff_script entity. Now, name it color_cap, with the color corresponding to the team which captures the flag at that point. For example, I am creating a capture point where the green team brings enemy flags to score points. I would name my entity green_cap.

And that is all! Save your map's lua file, compile your map and load it up. All of the above features should work.

Any additional information or comments? Please post them below!
__________________
Community Mapper
2morforever, 4play, attrition, gap, fragger
and ff_training.

Last edited by Imbrifer; 09-14-2007 at 02:29 AM.
Imbrifer is offline   Reply With Quote


Old 09-14-2007, 04:27 AM   #2
zSilver_Fox
IRL Combat Medic
 
zSilver_Fox's Avatar
 
Join Date: Mar 2007
Location: Ethanol Land
Class/Position: D Medic
Gametype: Conca Jumping
Affiliations: ^iv
Posts Rated Helpful 0 Times
How do we do brush based teleporters?
__________________
I have a nasopharyngeal and webcam...

First infraction! Flaming!
zSilver_Fox is offline   Reply With Quote


Old 09-14-2007, 04:36 AM   #3
nodnarb
 
Join Date: Mar 2007
Posts Rated Helpful 5 Times
same as in other source games
"trigger_teleport"
"info_teleporter_destination"
nodnarb is offline   Reply With Quote


Old 09-14-2007, 04:45 AM   #4
zSilver_Fox
IRL Combat Medic
 
zSilver_Fox's Avatar
 
Join Date: Mar 2007
Location: Ethanol Land
Class/Position: D Medic
Gametype: Conca Jumping
Affiliations: ^iv
Posts Rated Helpful 0 Times
Ah, makes sense :P. To work on the concmaps!

PS How's Pull going?
__________________
I have a nasopharyngeal and webcam...

First infraction! Flaming!
zSilver_Fox is offline   Reply With Quote


Old 09-14-2007, 05:00 AM   #5
nodnarb
 
Join Date: Mar 2007
Posts Rated Helpful 5 Times
Quote:
Originally Posted by zSilver_Fox
Ah, makes sense :P. To work on the concmaps!

PS How's Pull going?
It's going ok. I need to figure out how I'm going to incorporate the theme into it.
nodnarb is offline   Reply With Quote


Old 09-14-2007, 05:45 AM   #6
Desyphur
OHH! OHHH NOOO!
Wiki Team
Beta Tester
 
Desyphur's Avatar
 
Join Date: Mar 2007
Posts Rated Helpful 0 Times
Oooh, time for me to start mapping!
__________________
What was left of my sanity implored me not to enter...but that voice was just a whisper now.
Desyphur is offline   Reply With Quote


Old 09-16-2007, 04:44 AM   #7
Doughnut-4|4-
 
Join Date: May 2007
Posts Rated Helpful 0 Times
Great post by Imbrifer on LUAs teaching some basics. I wanted to add onto one of his points referring to Locations.
Quote:
Originally Posted by Imbrifer
1. First, create a brush, and texture it with the orange trigger texture. Make sure it is large enough to completely cover the entrance to your location.
These should not only cover the entire entry/exit but they should also be thick. I've had instances in testing where I've flown through a "gate" and it didn't register so it thought I was somewhere I wasn't. I can only imagine how this might be magnified online with lag issues so I'm encouraging thick triggers... like my women.
Doughnut-4|4- is offline   Reply With Quote


Old 09-18-2007, 07:13 PM   #8
szorg
 
Join Date: Sep 2007
Posts Rated Helpful 0 Times
Forgive me for asking, I'm new to mapping in general, though I did make a few for TFC.

I'm making a push-style map. I have two questions:

One: in the lua, should I have IncludeScript("base_push"); instead of base_ctf?

Two: How to I make a "ball" for both teams, instead of colored flags?


Edit: Nevermind, I found everything here: http://www.sgware.be/?p=tutorials&cat=8

Last edited by szorg; 09-18-2007 at 07:30 PM.
szorg is offline   Reply With Quote


Old 09-19-2007, 11:22 PM   #9
punkrockrocks
When patch will out?
 
punkrockrocks's Avatar
 
Join Date: Mar 2007
Posts Rated Helpful 0 Times
Sheesh, I have been having a huge problem with this for the first few days. My map just would'nt compile. It kept giving me "registry is in use" errors. I tried refreshing SDK content, restarting my computer multiple times, remaking the FF cfg a bunch of times, nothing worked.

After reading Donny's posts, I learned that my problem was that I was copying and pasting the info from here. Once I tried handpicking the info for myself using browse, it worked (even though after hitting browse and choosing the right folders, the text box showed the same input as what was there when I just copy+pasted).
Kinda wierd. I dunno if there's a typo or something there, but that's how I fixed my problem. Thanks Donny.
__________________
MAKE MORE ESCAPE MAPS
Ingame: punkrock
Idle and support #nozoom, #ff.pickup
punkrockrocks is offline   Reply With Quote


Old 09-20-2007, 08:26 PM   #10
Donny
Community Mapper&Idiot
 
Donny's Avatar
 
Join Date: Mar 2007
Location: Finland
Posts Rated Helpful 1 Times
Quote:
Originally Posted by punkrockrocks
Sheesh, I have been having a huge problem with this for the first few days. My map just would'nt compile. It kept giving me "registry is in use" errors. I tried refreshing SDK content, restarting my computer multiple times, remaking the FF cfg a bunch of times, nothing worked.

After reading Donny's posts, I learned that my problem was that I was copying and pasting the info from here. Once I tried handpicking the info for myself using browse, it worked (even though after hitting browse and choosing the right folders, the text box showed the same input as what was there when I just copy+pasted).
Kinda wierd. I dunno if there's a typo or something there, but that's how I fixed my problem. Thanks Donny.
Glad to help
Donny is offline   Reply With Quote


Old 10-23-2007, 03:42 AM   #11
Ihmhi
[AE] 0112 Ihmhi *SJB
Wiki Team
Fortress Forever Staff
 
Ihmhi's Avatar
 
Join Date: Mar 2007
Location: Newark, NJ, United States
Class/Position: A little bit o' everythin'
Gametype: Also a little bit o' everythin'
Affiliations: [AE] Asseater, *SJB Straight Jacket Brigade
Posts Rated Helpful 3 Times
Send a message via AIM to Ihmhi Send a message via MSN to Ihmhi Send a message via Yahoo to Ihmhi
Quote:
Originally Posted by Imbrifer
Intro: Setting Up Hammer for FF

1. Boot up hammer for another mod (HL2, HL2M, CS, etc.) and go to Tools -> Options.

2. Click on the 'Game Configurations' tab, and next to the drop-down menu on the right, it should say 'Add'. Click that bad boy, and create a new entry named 'Fortress Forever' or 'FF' or 'Gazelle Pudding' or whatever you want.

3. There should be one .fgd file you need: fortressforever.fgd It should be found in the \Steam\SteamApps\SourceMods\fortressforever\ directory, so navigate there and select it.

4. The 'Default Point Entity' and 'Default Brush Entity' are exactly what they sound like. When you create an entity, this is what it will be by default. You'll probably want the 'Default Point Entity' to either be 'prop_static' or 'info_ff_script'. For the 'Default Solid Entity', go for 'func_detail'.

5. Time to set some directories. The Game Executable Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
The Mod Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\
The Game Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
And finally, your RMF directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\map s\

6. Hit OK, restart Hammer and you should be good to go for starting your first FF map!
I am having a problem setting up Hammer for FF:



Specifically, I am having a problem with this portion:

Quote:
Originally Posted by Imbrifer
5. Time to set some directories. The Game Executable Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
The Mod Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\
The Game Directory should be:
\Steam\SteamApps\SourceMods\fortressforever\
And finally, your RMF directory should be:
\Steam\SteamApps\SourceMods\fortressforever\ff\map s\
Game Executable Directory, check. Mod Directory... is not there. Game Directory... check. RMF directory... is also not there. It is "VMF" Directory.

Could someone help me figure out what I am doing wrong here? The last time I tried to set up Hammer for FF I had to reset everything. >_<
__________________
Support FF:
Anime: The Thread: Reloaded
The one and only anime thread on these here forums.

Select the pistol, and then, select your horse.
Ihmhi is offline   Reply With Quote


Old 10-23-2007, 09:13 AM   #12
Mongoose
 
Join Date: Oct 2007
Posts Rated Helpful 0 Times
are you using the latest hammer? You should be accessing it through Steam, Tools: SDK, Hammer.

Sounds like you are using old hammer for HL1
Mongoose is offline   Reply With Quote


Old 10-23-2007, 09:39 AM   #13
v3rtigo
Lock 'n Loll!
 
v3rtigo's Avatar
 
Join Date: Sep 2007
Location: 2fort
Class/Position: Scout, Spy, Sniper
Gametype: CTF
Posts Rated Helpful 0 Times
I had to set it up a bit different to work:

Game executable was the Half-life 2 base dir
Mod dir was Sourcemods/Fortress Forever
RMF/VFM was Sourcemods/Fortress Forever/maps

RMF/VFM can be placed anywhere though I think.
v3rtigo is offline   Reply With Quote


Old 10-23-2007, 07:25 PM   #14
Ihmhi
[AE] 0112 Ihmhi *SJB
Wiki Team
Fortress Forever Staff
 
Ihmhi's Avatar
 
Join Date: Mar 2007
Location: Newark, NJ, United States
Class/Position: A little bit o' everythin'
Gametype: Also a little bit o' everythin'
Affiliations: [AE] Asseater, *SJB Straight Jacket Brigade
Posts Rated Helpful 3 Times
Send a message via AIM to Ihmhi Send a message via MSN to Ihmhi Send a message via Yahoo to Ihmhi
Quote:
Originally Posted by Mongoose
are you using the latest hammer? You should be accessing it through Steam, Tools: SDK, Hammer.

Sounds like you are using old hammer for HL1
Yes, I am using the latest version of Hammer AFAIK. I ran it from Source SDK in the Tools menu. This is what I am being shown.
__________________
Support FF:
Anime: The Thread: Reloaded
The one and only anime thread on these here forums.

Select the pistol, and then, select your horse.
Ihmhi is offline   Reply With Quote


Old 10-23-2007, 07:28 PM   #15
Dr.Satan
Wiki Team
Fortress Forever Staff
 
Dr.Satan's Avatar
 
Join Date: Sep 2007
Location: Greeley, CO
Class/Position: Med / Solly
Gametype: PAYLOAD
Affiliations: DET-
Posts Rated Helpful 19 Times
Imhmi, check out that link to the topic I posted above, I had similar issues and public_slots_free walked me thru some things to try and now everything is working. Try that and see if it helps.
__________________
(Released) conc_school | hellion_classic | ksour_PAYLOAD | mulch_faf
(Beta) alchimy_b1
(Lua) base_payload_2015
(Models) props_trainyard
Support FF:
Dr.Satan is offline   Reply With Quote


Old 12-19-2007, 05:55 AM   #16
Nuk3m
Banned
 
Join Date: Mar 2007
Location: New Jersey, USA!
Class/Position: Scout / Offense
Gametype: Capture the Flag
Affiliations: :e0: Founder
Posts Rated Helpful 0 Times
Send a message via AIM to Nuk3m
How To Make FF Maps [update please]

can someone fix the thread for this topic? i am having the hardest time configuring my hammer for FF, im just about ready to give up finding the gameinfo.txt file.
Nuk3m is offline   Reply With Quote


Old 12-19-2007, 03:11 PM   #17
GambiT
Fortress Forever Staff
 
GambiT's Avatar
 
Join Date: Mar 2007
Location: Baton Rouge
Class/Position: Spy
Affiliations: -=DoM=-
Posts Rated Helpful 0 Times
the gameinfo.txt file is in the Fortressforever folder, along with maps, materials. are you sure its the gameinfo.txt your looking for and not the "gameconfig.txt"?
__________________
-------------------------------FF_Rock2(WIP)------------------------------
---------------------------FF_RedGiant(Released)-------------------------
--------------------------FF_Fragzone_G(Released)------------------------
--------------------------FF_Civibash_G(Released)------------------------
-------------------FF_Conc_G1(WIP)--------------------
-------------------FF_Hollow_G(WIP)---------------------
GambiT is offline   Reply With Quote


Old 12-19-2007, 09:12 PM   #18
nodnarb
 
Join Date: Mar 2007
Posts Rated Helpful 5 Times
No need for multiple threads, Nukem. Merged.
nodnarb is offline   Reply With Quote


Old 03-11-2008, 10:26 PM   #19
public_slots_free
 
Join Date: Sep 2007
Posts Rated Helpful 0 Times
this needs to stay bumped
public_slots_free is offline   Reply With Quote


Old 06-28-2008, 09:07 AM   #20
Pixel
if(0>1){printf("broked");}
Beta Tester
 
Pixel's Avatar
 
Join Date: Mar 2007
Location: Amerika
Class/Position: O
Posts Rated Helpful 3 Times
why is this not stickied?
Pixel is offline   Reply With Quote


Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:56 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.