When a player touches a resupply area, their health and ammo are completely and instantly replenished. These are usually found in or near spawn areas on the official maps, marked by resupply lockers.
Tutorial - Basic Resupply Lockers
Create a prop_dynamic somewhere on your map, and then go to its properties. Set the "World Model" property to models/props_gameplay/resupply_locker.mdl. Give it a Name like resupply_01. This is ultimately just for looks.
Next, create a func_regenerate brush-based entity with material tools/toolstrigger, making sure it occupies a large area around the prop. Set its Associated Model property to the name of the locker prop. In our example, that's resupply_01.
This func_regenerate entity determines the effective range of the resupply effect. Be careful when placing these to avoid exploits in your map. If this entity leaks through a wall, for example, players will be able to resupply where they shouldn't.
That's it! You now have a working resupply locker!
Download the demo map here: (no link yet)
Team-Specific Resupply Areas
You can make a Resupply Area that only works for one team by setting the Team property of its func_regenerate.
Alternate Resupply Areas
Strictly speaking, the func_regenerate entity does not need to be attached to a supply locker model. It is possible to set the Associated Model to other things, or to nothing at all. Note that the standard resupply noise will still play, even if the func_regenerate is not attached to any model.
Bear in mind, however, that the average TF2 player is used to seeing and using the supply lockers. You may risk frustrating players if they can't easily recognize a resupply area on your map. Good alternatives are mining_cart_supplies002.mdl or mining_cart_supplies001.mdl, since they have resupply items on them.