Custom Floor Buttons

From Valve Developer Community
Revision as of 11:32, 7 May 2012 by LemonLake (talk | contribs) (Created page with "{{stub}} Custom floor buttons are quite easy to make in {{portal2}}Portal 2. The first two released {{clarify}} were created by LemonLake; they are available for download at the ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Stub

This article or section is a stub. You can help by expanding it.

Custom floor buttons are quite easy to make in Portal 2Portal 2. The first two released [Clarify] were created by LemonLake; they are available for download at the bottom of the page.

How it Works

Triggering the Button

The button is triggered by a trigger_multiple, which sends an output to four relays. One handles the Button Unpressed downward animation and sound whereas another handles the upward animation and sound. The other two just send an output to the func_instance_io_proxy as of which handles the output in the instance. The reason they are in a separate relay is because I wanted to be cautious of the fact that once a func_instance_io_proxy is called in an output, the rest in that same entity cannot be called in that instance. Safety first!

Button Animation

The button animation is handled by a simple func_movelinear brush. It's move direction is simply set to 90 0 0 (down) and the distance is set to 8, so it just touches the bottom of the button directly. It's speed is set to 50, which I think is real enough. In the next update I will add a setting so that you can change the speed of the button movement yourself.

Optional Bits you can Add

Before I tell you the custom bits you can add to a new instance, I'd just like to ask you if you could send me your modified instances and I'll drop 'em in the pack (if they're good enough of course)! Thanks!

Filter

In the antique version, you may notice that the button only supports an antique cube (you may remove it if you wish). This was done with a simple filter_activator_model.

Property Name Value
Name filter
Filter Model models/props_underground/underground_weighted_cube.mdl

Then set the triggers Filter Name to whatever you named your filter_activator_model.

External Links