CrazyKid's Tips And Tricks On How To Make A Source Map

Maps made by the PNRP Community

CrazyKid's Tips And Tricks On How To Make A Source Map

Postby [TBU] CrazyKid » Tue Mar 06, 2012 4:15 pm

These are some tips for rather experienced users of Hammer.

Tool Textures:

I love the Invisible texture because it remains invisible while in-game and you can still shoot at things through it. If you encase a prop inside of it you cannot touch the prop at all and it almost resembles a static prop. You can shoot the prop and it will still show you shooting at the prop, bullets fly through invisible brushes.

Block Light texture is good for a situation where you have light passing through a prop door. You fill in an area with a brush textured as Block Light. The only con to this texture is that it blocks the light rather rough. In the long run nobody will care about it and you can just add it to make things look better.


Functions:

I love func_viscluster. Put it wherever you have a LOT of visleaf spam and it cleans it right up! No muss no fuss! Just make a brush textured as Trigger and tie it to func_viscluster. Fill in the whole area of the visleaf spam and you will be done.

Func_detail, OMG!!! If you have any complex brushwork at all, (something with more than 8 faces or so) you must tie it to the func_detail entity. It's MUCH less expensive and does not cause visleaf spam.

Func_door is pretty neat. Good for making sliding doors that go into a wall. Pretty much you have to make a brush, texture it as whatever you want your door to look like, and then tie it to the entity "func_door". You can make it slide in any direction you want but it does not rotate. Also, make sure to set the lip of the door to 2 units. If you don't it looks very weird and the texture skips.


Door Sound Issue:

One thing I noticed is that when you make a func_door and you want it to have sound, and you play it in an RP server with potentially laggy conditions it does not start / stop it's sounds correctly. The fix for this is by adding an ambient_generic for the moving sound and stopping sound. BE SURE that when you create the ambient_generic entities that you DISABLE THE FLAG "Is NOT Looped" -- all of these sounds ARE being looped! These are the func_door outputs that I have created.

For when the door opens, you must have these in your door's outputs.
-- My output named: OnOpen, Target entities named: (your moving sound's name), Via this input: PlaySound
-- My output named: OnOpen, Target entities named: (your stopping sound's name), Via this input: Stopsound
-- My output named: OnFullyOpen, Target entities named: (your moving sound's name), Via this input: StopSound
-- My output named: OnFullyOpen, Target entities named: (your stopping sound's name), Via this input: PlaySound

For when the door closes, you must have these in your door's outputs.
-- My output named: OnClose, Target entities named: (your stopping sound's name), Via this input: StopSound
-- My output named: OnClose, Target entities named: (your moving sound's name), Via this input: PlaySound
-- My output named: OnFullyClosed, Target entities named: (your moving sound's name), Via this input: StopSound
-- My output named: OnFullyClosed, Target entities named: (your stopping sound's name), Via this input: PlaySound

Once you do this your door's moving sounds and stopping sounds will never malfunction again.


Visleaf issues:


There was a very nasty bug on my garage door because of a visleaf. Get in a jeep, switch to 3RD person, and back up behind the visleaf and you see the garage door disappear.

I discovered a fix with some research. This leaves you with much better quality since the doors will not disappear.

Simply put:

Make the brush touching the top of the door a func_detail. This removes the visleaf fixing the disappearing door issue. You have to follow the rest of these instructions to make the area portal work, otherwise you will have failure.

1. Cut the area portal down to 1.0 width.

2. Apply the SKIP texture to all 5 sides except for the side facing outdoors, leave that one as AREAPORTAL. Also, make sure that brush is still a func_areaportal.

3. Create a second brush directly behind the areaportal --in other words 1.0 units behind it creating a total of 2.0 width counting the two brushes-- and DO NOT TIE IT TO AN ENTITY. Apply the SKIP texture to all 5 sides except for the side facing into the garage, leave that one as HINT.


Elevators:

The best way you can make an elevator is by using a func_tracktrain. If you do not know how to do this, there is a person on youtube named "3kliksphilip" and he has a good tutorial on making them.

This tip is in respect to making the elevator have sound when moving. Usually, if you set the func_tracktrain moving sound to whatever noise you choose, and play it on an RP server or otherwise potentially laggy server, it will double up the sound and never stop playing when the elevator stops moving. This fix is done by adding an ambient_generic to your level and not using the "Moving Sound" option in the func_tracktrain.

Please Note! My elevator only travels one floor! I've never tried this on multiple floor elevators. Still might work for you, though!

There is a fix you can do.

Spawn an ambient_generic and set the sound file to whatever noise of your choice. Then, disable Smart Edit. Add a new value: "SourceEntityName" with no parameters.

Re-enable Smart Edit and select SourceEntityName, and select the name of your elevator. The sound will now follow the elevator.

Next you must tie the ambient generic to your buttons and path_track entities.

The way I did it is by whenever the func_tracktrain starts moving the sound plays (Func_tracktrain outputs are....My Output Named: OnStart, Target Entity Named: [ambient_generic's name], Via this input: PlaySound). And when the func_tracktrain passes any of my path_track entities the sound stops (Path_track outputs are....My Output Named: OnPass, Target Entity Name: [ambient_generic's name], Via This Input: StopSound).

The ambient_generic will now behave exactly the same as when you set the sound into the func_tracktrain entity. It's a little extra work for what would seem like nothing, but the payoff is you will never have the sound be stuck on again.
[TBU] CrazyKid
Developer
 
Posts: 455
Joined: Tue Apr 26, 2011 10:58 pm

Return to Community Maps

Who is online

Users browsing this forum: No registered users and 1 guest