[Steam]  news getSteamNow Cyber Cafes Support Forums Status
Here you can view your subscribed threads, work with private messages and edit your profile and preferences Registration is free! Find other members Frequently Asked Questions Search Home  
Steam Users Forums : Powered by vBulletin version 2.3.3 Steam Users Forums > Source Game Discussions > Source SDK > Waldo's Cookbook of Source SDK Tutorials
  Last Thread   Next Thread
Author
Thread Post New Thread    Post A Reply
MATT
Super Moderator λ�

Registered: Jun 2003

Waldo's Cookbook of Source SDK Tutorials

Waldo's Cookbook of Source SDK Tutorials

Some console commands you'll want to use.

Setting up triggers

How to make hanging wires.

How do I get props in my map?

Creating Rain or Snow

How to morph the ground.

Report this post to a moderator | IP: Logged

Old Post 10-08-2004 03:04 PM
MATT is offline Click Here to See the Profile for MATT Click here to Send MATT a Private Message Find more posts by MATT Add MATT to your buddy list Edit/Delete Message Reply w/Quote
Waldo
Valve N

Registered: Apr 2003

Some console commands you'll want to use

Some console commands you'll want to use.

There are a number of new and useful console commands you'll want to use. I'm just typing these up off the top of my head, so I may be off on a few.

+showbudget
Bind some key to this. This is your new "r_speeds" display. I have it bound to "mouse4" (side button) on my mouse. This shows you a bar chart breakdown of exactly where the engine is spending it's time drawing each frame. Use it to decide how efficient your map is, and also to decide where to spend time trying to improve it's performance. If you see "world brush" as taking up too much time, you know you need to simplify or modify your brushwork. If it's prop models, you know you need to remove or simplify your prop models, etc.

mat_leafvis 1
Draws a box around the vis leaf you are currently in. Useful for hard core vis reduction work.

mat_wireframe 1
Draws wireframe lines on everything - great to show you just what is being drawn at times.

mat_specular 0
Turns off specular reflection stuff. Great to see if that is what is killing your performance. If you turn it off and your map runs smooth, maybe you've got too much specular stuff in the map?

mat_bumpmap 0]
Turns off bumpmap display. Useful like specular switch above

find
Coolest comand of all! Type "find " followed by what you want to find and it will dump out the console comamnds matching. Do like "find mat" and you'll get all the commands with "mat" in the name. Also you get short help text for some.

Report this post to a moderator | IP: Logged

Old Post 11-06-2004 10:12 PM
Waldo is offline Click Here to See the Profile for Waldo Click here to Send Waldo a Private Message Find more posts by Waldo Add Waldo to your buddy list Edit/Delete Message Reply w/Quote
Waldo
Valve N

Registered: Apr 2003

Setting up triggers

Setting Up Triggers

Setting up triggers in Source is totally different.

You know how multi_managers worked in HL1? Well every entity is like that now - it can have many triggers.

So here's an example. Suppose you wanted a trigger_multiple that played some sound when a player entered the area. Here are the steps...


  1. Create an ambient_generic for your sound. Give it a name like "alarmsound".
  2. Create your trigger_multiple
  3. Go to the "Outputs" tab of the trigger_multiple
  4. Click the "Add" button at the bottom - a new row is added to the little table you see
  5. In the text edit field labeled "Targets entities named" type in the name of the ambient_generic. You actually don't need to type it though, as the dropdown has a list of all the entities with names already!
  6. Now click on the dropdown next to the entry field labled "Via this input". This is a list of all the ways you can trigger that ambient_generic. You'd probably choose "PlaySound" but you could also trigger it to Stop or Toggle the sound (or a few other things).
  7. Lastly, go to "My output named" and choose WHEN you want to trigger the sound. You'll see a variety of options, like "On Start Touch" and "On End Touch" The first one means trigger as soon as someone touches the trigger_multiple. The other one only triggers when you leave it.


Another cool thing - go look at the "Inputs" tab for the ambient generic. If you've set this all up right, you'll see the trigger you created listed in there - so when you've got an entity it's easy to find out what's triggering it and how.

So the dropdowns you get with different trigger inputs and outputs - those change based on what kind of entity is doing the triggering and what kind of entity is being triggered. Lights let you turn them on and off, etc. You can target a trigger_multiple for example, and enable or disable it along with other things.

This whole new scheme for triggering is MUCH more powerful than the old way - and much more versatile. For one thing, it's easy to set up multiple triggers for things (no more multi_managers!). Another thing is because you choose the entity names and triggers to hit via dropdown, it's about impossible to screw up the names.

Oh - i should have mentioned this too. You can have as many outputs on an entity as you want. Each one can be activated via some different method if you want, or you can have a bunch of the same activations targeting different entities (like maybe turn on a light and off a sound). You can also give them each a time delay if you want.

A good example of using multiple triggers. Suppose you want a broken light in a map. It starts dark. There is a switch on the wall (func_button). Create a light and name it like "busted_light". Make it's appearance be "flicker A" and initially dark. Create an env_spark anmed "busted_spark" and set it to initially off. Now set up your func_button. Have it target the light and spark to turn them on when the light is on. Now set up two more outputs for the func_button to target the light and spark off when the button is off. The button will have 4 outputs total (2 for on, 2 for off) and the light and sparker will have two inputs each (one for on, one for off).

By the way, you'll get an icon with a red line through it on an entity's properties dialog if it's got broken inputs or outputs. That tells you that either the entity you're looking at is not triggering something right, or something is not triggering the one you're looking at right.

Report this post to a moderator | IP: Logged

Old Post 11-07-2004 12:00 AM
Waldo is offline Click Here to See the Profile for Waldo Click here to Send Waldo a Private Message Find more posts by Waldo Add Waldo to your buddy list Edit/Delete Message Reply w/Quote
Waldo
Valve N

Registered: Apr 2003

How to Make Hanging Wires

How to Make Hanging Wires

OK - here's another quicky 5 minute Waldo Tutorial for ya. This is on how to make those nice telephone wires and such you see in some maps.


  1. Place a move_rope entity where you want the wire to start
  2. Place a keyframe_rope entity where you want the wire to go
  3. Give the keyframe_rope a unique name
  4. Set "Next KeyFrame" in the move_rope to the name you gave the keyframe rope
  5. Set the "slack" value for both to about 100 - seems to be about right.
  6. Set width to 1.
  7. Leave the rest of the parameters for the two entities with their default values.


And there you go - hanging wires - perfect for telephone lines, etc.

You can string together more than one of these if you want. Just keep creating new keyframe_rope ents, and set each one to connect to the previous one with the "Next Keyframe" parameter.

Report this post to a moderator | IP: Logged

Old Post 11-07-2004 05:10 AM
Waldo is offline Click Here to See the Profile for Waldo Click here to Send Waldo a Private Message Find more posts by Waldo Add Waldo to your buddy list Edit/Delete Message Reply w/Quote
smash
Super Moderator a

Registered: Nov 2003

Creating Rain or Snow

Creating Rain or Snow

Difficulty: Beginner
This tutorial will teach you how to add Snow, or Rain into your maps.

1) Have a map that is completed (For the most part)

2) Make a large brush over top of the area that you want it to be raining or snowing in.
-Do not let this brush go outside of your map

3) Cover the brush with the NoDraw texture

4) Right-Click the brush, and click "Tie to Entity"

5) Set it as a func_precipitation

Properties:
Density (0 - 100%) : Higher value will mean more precipitation
Precipitation Type : Rain or Snow

Thats it!

Credits to...

Report this post to a moderator | IP: Logged

Old Post 11-07-2004 10:34 PM
smash is offline Click Here to See the Profile for smash Click here to Send smash a Private Message Find more posts by smash Add smash to your buddy list Edit/Delete Message Reply w/Quote
MATT
Super Moderator λ�

Registered: Jun 2003

How to Morph the Ground

How to Morph the Ground


  1. Create a solid brush that covers the basic area of the ground.
  2. Texture the face that will be the ground with the material of choice.
  3. Highlight just that face with the texture tool.
  4. Click on the "Displacement" tab.
  5. Click "Create" button, then "OK" to the dialog box that pops up.
  6. The face of the brush you had selected will now be covered with a triangle mesh.
  7. Now click the "Paint Geometry" button. As you move the cursor over the mesh, it hilights vertexes. Click your left & right mouse key and move it a bit as you hold it down, and you'll see the mesh point move up and down!
  8. The "Distance" slider will change how much the point moves as you move the mouse.
  9. The "Spatial" Radius slider changes how much area is changed.


A couple of points: the displacement surfaces don't block vis. Also, they are extremely cheap for the engine to render.

Report this post to a moderator | IP: Logged

Old Post 11-07-2004 11:13 PM
MATT is offline Click Here to See the Profile for MATT Click here to Send MATT a Private Message Find more posts by MATT Add MATT to your buddy list Edit/Delete Message Reply w/Quote
All times are GMT. The time now is 09:06 AM. Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread

Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 

Home | News | Get Steam Now | Cyber Cafes | Support | ForumsStatus
© 2004 Valve Corporation. All rights reserved. Valve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo, Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the Counter-Strike logo, Source, the Source logo, Valve Source and Counter-Strike: Condition Zero are trademarks and/or registered trademarks of Valve Corporation.