Sticky Stopper - Make stickies work with moving/dissapearing platforms and props
Long have we sought a way to make stickies work nicely with moving objects in TF2, and today I finally present one possible solution: The Sticky Stopper!
This is an entity setup consisting of a trigger, a filter, some relays, a point_push, and a prop_dynamic with a special parentname that will allow you to make:
I encourage you to open up the .vmf for yourself and take a look at the I/O, there's a lot of specific things you need that are hard to communicate in writing! All necessary entities have documentation written in their comment fields.
Known Bugs:
This solution makes use of some hardcoded shenanigans with parentnames that Valve did for Sawmill's sawblades. If a prop has a parentname of sawmovelinear01 or sawmovelinear02, stickies bounce off of it. An unlimited number of prop_dynamics can have this property by sharing a parent, but since there are only two names you can use, there are some limits. With this solution you can do one of the following:
Special thanks to @A Boojum Snark who partially solved this years ago in this post, @Pdan4 for suggesting trying to use a trigger_vphysics_motion in conjunction with a point_push, and @Another Bad Pun for pushing me to get it working with moving objects, clean up the logic, implement it into Megalo and release it to the public.
Long have we sought a way to make stickies work nicely with moving objects in TF2, and today I finally present one possible solution: The Sticky Stopper!
This is an entity setup consisting of a trigger, a filter, some relays, a point_push, and a prop_dynamic with a special parentname that will allow you to make:
- Moving objects that stickies only stick to when they are stopped
- Platforms that stickies can stick to while they exist and fall when they disappear
I encourage you to open up the .vmf for yourself and take a look at the I/O, there's a lot of specific things you need that are hard to communicate in writing! All necessary entities have documentation written in their comment fields.
Known Bugs:
- Sometimes the stickies on the disappearing floor setup will get stuck hanging in mid-air. It seems to happen most often if the stickies enter the trigger at a shallow angle. You can partially solve this by making the trigger larger, but it's not an ideal fix since then the stickies will be floating. This does not happen with moving platforms, as their motion seems to help get the stickies unstuck. If anyone can figure this out, let me know and I can update this with a fix!
- Stickies cannot be airblasted or knocked around with explosions in this setup. If we could find a way to detect stickies with a trigger I have a fix for it, but there is currently no known way to do so.
This solution makes use of some hardcoded shenanigans with parentnames that Valve did for Sawmill's sawblades. If a prop has a parentname of sawmovelinear01 or sawmovelinear02, stickies bounce off of it. An unlimited number of prop_dynamics can have this property by sharing a parent, but since there are only two names you can use, there are some limits. With this solution you can do one of the following:
- Have two different sets of moving props with these properties
- Have one set of moving props and unlimited stationary but toggle-able props with these properties
- Have an unlimited number of stationary but toggle-able props with these properties
Special thanks to @A Boojum Snark who partially solved this years ago in this post, @Pdan4 for suggesting trying to use a trigger_vphysics_motion in conjunction with a point_push, and @Another Bad Pun for pushing me to get it working with moving objects, clean up the logic, implement it into Megalo and release it to the public.
Last edited: