Please or Register to create posts and topics.

Hammer Question

I've downloaded the C4P4 pack, (not for use just to see what was so great about it.) and I don't understand how to connect them to eachother. For example, a button to a door, a ball catcher to a box dropper ect... This is because when I was learning the inputoutput for these, it was never explained in detail to me, I just followed a screen shot of the input output window.. SO, my question is: Can someone please explain to me how the inputoutputs work? Thanks in advance :D

-sssummer

Friendship is like peeing on yourself: everyone can see it, but only you get the warm feeling that it brings.

It's a fairly easy concept that I might butcher completely. ;)

Certain entities (or objects if you prefer to think of them that way) can product output in certain situations. For example when a normal trigger_once or trigger_multiple is touched by the player, it can produce output to something else like a door (to open or close the door). You can also set filters and flags to determine exactly what triggers a trigger, but I don't want to complicate things.

In the properties of an entity there is an Output tab. This is where you create output for that entity. I'll use a trigger as an example again. I'm assuming you know how to create a trigger and other entities like a func_door or a prop_dynamic.

You can add a new output line in the Output window by clicking the 'Add' button, then set the properties for the output. The fields are named as follows (as you enter values):

My output named - This is really a condition. For example, triggers have a "OnStartTouch" output that may be selected here. This means that once the player touches the trigger, this condition is met and some action will take place. Each type of entity has different conditions that are specific to itself. For now stick with triggers since most conditions used in the tutorials use 'OnStartTouch'.

Targets entities named - This is the name of the entity that will be affected. Say you want the trigger to open a door (a func_door entity). You would put the name of the door here. (This means that you will need to name your func_door.) Now you are providing Input to the func_door, but you haven't defined exactly what that input is doing yet...

Via this input - Now you're going to send some input to the target entity that you defined in the previous field. For a door this might be 'Open' or 'Close'--you will be able to select appropriate actions for that entity from a dropdown list.

With a parameter override of - This value is used if the entity you are sending input to can accept multiple values. This allows a value to be sent along with the input. A common use would be for certain prop_dynamic entities like the incinerator door. You use 'SetAnimation' as the input (in the field above this one) and then 'Open' or 'Close' for the parameter override. This is different from a normal door because you are setting an animation, not actually opening anything. (Case in point: Elevator doors. You can use 'SetAnimation', 'open' to display the opening animation but the doors don't actually move and you won't be able to walk through them. You will need to create a second output that sends 'DisableCollision' to the doors.)

Another use is setting values, for example in a logic_counter. You could use 'Add' as the input and '1' as the override, which will add 1 to your counter.

After a delay in seconds of - This one should be pretty obvious; it will sent the input after this many seconds.

Fire once only - I'm not sure if this is deprecated or not but I never use it. I'm guessing the usage is pretty obvious.

That's pretty much it for output. As far as I know you never specifically define input because the output you define for one entity becomes input for the targeted entity.

Make sense? I'm a noob with Hammer so I'm not sure if this explanation is complete or explained very well.. I'll be happy to clarify anything if I can.

Here is Valve's description from their wiki:

http://developer.valvesoftware.com/wiki ... nd_Outputs

The "Setting up a simple trigger" section might be useful. The Debugging section might be, too. If you learn the debugging commands you can set and watch the behavior of your entities in-game.

Wow, thanks a lot! I never knew it was that simple. Thanks for explaining, now I can my make my awesome maps. xD.. well when I get around to it lol.

Friendship is like peeing on yourself: everyone can see it, but only you get the warm feeling that it brings.

It's a debugle... eh, debacle whether you should use trigger_once or trigger_multiple in case of a single-go trigger, but most people use a trigger_multiple with outputs that "Fire Only Once" have checked.

Image

"Duct Tape is the answer."