[Tutorial] The sawmill sawblade

Feb 18, 2009
640
629
Youme mentioned...I mean, I completely independently came up with the idea of making a tutorial on how to make the sawblade from sawmill, because the help thread was good, but needed pictures.

First I must point ou that most of what I'm doing here is copying and renaming valves own sawblade, but the words are my own;).

Here is what the final product should look like (valve's one, straight from sawmill)
picture.php


1. Build the surround This can be anywhere, any orientation, what ever, just as long as you like it. I have copied the sawmill layout, and built a hole in the floor. Note the whole thing is in normal brushes to seal it.

picture.php


2. Detail Just aesthetics really. Valve here have done hazard ribbon around the floor, and added an illusionary slot (toolsblack) but make sure it is all "func_detail"-ed.

picture.php


3. Place the prop It is a prop dynamic with the model "models/props_forest/sawblade_moving.mdl" name it something appropriate.

4. Kill brush Make an 8 sided cylinder that matches the blade as closely as possible with the invisible texture. (This might be easier if you put another sawblade prop sideways in the void, make your brush, delete the prop and place the brush over the original prop.) In the properties of this brush, make the damage hight enough to kill anyone, 5000 is a good number, and make the damage type "NERVEGAS".

picture.php


5. Make it move make a simple block brush in invisible texture that sits over the axle of the saw, but cannot be hit by the player. Make it a "func_movelinear". Set an appropriate name, speed (90 is good) and move distance (this will depend on how large the slot is that the saw is moving in. In sawmill, It's 390). set this as the parents of the prop, the hurt brush and the blood particles (You'll place these in a minute). To make it keep moving, you need to set some outputs:
OnFullyOpen > *this brush* > Close
OnFullyClosed > *this brush* > Open

6. Blood effects Place an "info_particle_system" at the top of the blade, and at either side, just above the larger circle around the axle.
picture.php

Name them all the same. Now in the trigger_hurt, place these outputs:
OnHurtPlayer > *sawblade prop* > Skin > 1 > > ("Only once") Yes
OnHurtPlayer > *blood particle systems* > Start
OnHurtPlayer > *blood particle systems* > Stop > > ("delay") 0.1

7. Sound effects Place two "ambient_generic"s anywhere near the prop. Set their sounds as "SawMill.Blade" on one and "SawMill.BladeImpact" on the other. give the "Impact" one a name. Go back to the hurt brush, and add an output:
OnHurtPlayer > *Impact ambient_generic* > PlaySound

8. (thx Anton) Stopping stickies floating This is optional and is not used by valve but is a very good idea. select the trigger_hurt brush and copy it. Paste it and position it in the same place as the original. make it 1 unit wider and just small enough to touch the hurt brush over the blade edge. Now, texture it nodraw to make it easier to see in hammer, change it to a func_door, remove all the outputs and un-check the "touch Opens" flag. The parent setting should stay the same, but if not, parent it to the func_movelinear.

Here is the download:
http://forums.tf2maps.net/downloads.php?do=file&id=1478
If you have downloaded it before I added step 8, please delete it and download again. If you can't be bothered, just follow step 8 in the downloaded file.

I think that's it... I'll be back with the pictures when they are approved.
 
Last edited:

AntonJ3000

I am inactive and make horrible maps
Oct 29, 2008
401
90
You should do as I did, copy-paste the Invisible block, make it like 1 unit bigger on each side, change it to nodraw, and then make it a func_door without touch-opens, and parent it to the movelinear.

That way stickies won't get stuck in the air.
 
Feb 18, 2009
640
629
You should do as I did, copy-paste the Invisible block, make it like 1 unit bigger on each side, change it to nodraw, and then make it a func_door without touch-opens, and parent it to the movelinear.

That way stickies won't get stuck in the air.

Oh dear! I was going to do that! oops... I'll find a slot to put that in...
 

Pianodan

L3: Member
Apr 11, 2009
108
16
In the tutorial version of the model, in the blood_particles entities, you forgot to enter a value for "Particle System Name." I believe that value should be env_sawblood. Otherwise, thanks!

Edit: Also, anyone adding this into their map needs to edit their logic_auto to trigger the func_movelinear via OPEN to make it start moving at the beginning of the round.
 
Last edited:

NightHawK

L3: Member
Mar 1, 2008
107
74
In the tutorial version of the model, in the blood_particles entities, you forgot to enter a value for "Particle System Name." I believe that value should be env_sawblood. Otherwise, thanks!

Edit: Also, anyone adding this into their map needs to edit their logic_auto to trigger the func_movelinear via OPEN to make it start moving at the beginning of the round.

I love you. :love:
 

captainAngry

L420: High Member
Feb 1, 2009
434
247
Why on god green earth did they call the dammage type "NERVEGAS" for the sawblade? I was playing Rock_2 the other night and whenever the real nerve gas was released it showed everyone being killed by sawblades.
 

Mashi

A Random Guy........
Mar 8, 2009
9
3
Thanks, Very useful. I'll be sure using this in my map!
 

Burnzoire

L1: Registered
Jun 13, 2009
29
0
Thanks for the tutorial - I have two spinning blades of death near my final CP now :)
I started making them on my own and almost had it right - this tut saved me a LOT of grief, plus I always like to do things the Valve way :)

Just two things I noticed: Your example map has a few output's on the second blade pointing to the first, and the nodraw/stickies brush should cover the entire blade as you can still stick them to the edge. Instead of shrinking that brush, I expanded the kill brush more.

Thanks again!
 

Psy

The Imp Queen
aa
Apr 9, 2008
1,706
1,491
Why on god green earth did they call the dammage type "NERVEGAS" for the sawblade? I was playing Rock_2 the other night and whenever the real nerve gas was released it showed everyone being killed by sawblades.

It's Valve. I expect nothing less than the most illogical way of making something functional. God bless them.
 

Ninjilla

L420: High Member
Sep 13, 2008
445
116
Dont think this was mentioned, but in case anyone had their sawblade models not moving ingame, the default animation needs to be set at idle. Took me forever to find out what was wrong. Also func_linear wont move unless its told to do so?
 

NightHawK

L3: Member
Mar 1, 2008
107
74
Dont think this was mentioned, but in case anyone had their sawblade models not moving ingame, the default animation needs to be set at idle. Took me forever to find out what was wrong. Also func_linear wont move unless its told to do so?

You have to activate the func_movelinear in the logic_auto. Like OnMapSpawn - *FUNC_MOVELINEAR NAME* - Open.