I was helping someone make moving platforms in Constructor and ended up writing a huge piece of text, so I thought I'd share it here. I might be missing some details, let me know if you run into problems. This will eventually show up as a video in my Constructor tutorial series if I can ever actually get around to making that. Best of luck with this though.
[hr]
Before Making Moving Platforms:
First thing to always do is set up your moving platforms as normal static brushes, as well as make static brushes for where you want your triggers to be. Obviously important to make a trigger to activate the platform, but you can make a trigger to call it back too. Save a copy of your .map with everything set up, and then make another copy that will actually have the moving platforms.
Constant Moving Platforms:
- Select moving platform, hit "Other" on the left and then "Door_Elevator".
- Spawn a path node marker by clicking the Add Point Entity button (lightbulb with a plus sign), and scrolling down to find "path_node". Place it in the middle of your starting platform.
- - - Never a bad idea to set the duration (in milliseconds) and the smoothing (almost always 2) so those properties are copied.
- Duplicate the path node by shift-click and dragging, place it where you want your platform to go.
- Make a duplicate of the path node that's at the end of the path.
Triggered Moving Platforms:
- Follow every step from making a constant moving platform.
- After you finish placing the path nodes, select the brush that's supposed to be a trigger that you intend to activate the platform, and hit "Trigger" on the left (a couple options above "Other".
- - - If you made a second trigger to call the platform back, make that a Trigger brush type too.
- Up in that same box is an "Edit Properties" button:
- - - Select the DoorElevator that is your triggered platform
- - - - - "InitialTargetPosition" should be 0.
- - - - - "datablock" should be "PathedDefault".
- - - - - You can add those two properties yourself (there's an "Add Property" button if they're missing for whatever reason.
- - - The "TargetTime" of the first trigger should be the same value as the duration of the first path node in the path.
- - - The "TargetTime" of the second trigger (if you made one) should be 0.
In-Game:
- Open the mission, spawn your interior, hit F3, hit "Create Subs".
- Save and reload the level.
Notes:
- In cases where you have to remake the moving platforms from scratch, Constructor doesn't like it when you simply delete the moving platforms and make them again (it messes up the order of everything in the "Edit Properties" window. This is why I highly suggest saving a copy of your .map with all the moving platforms and/or triggers ready and set up.
- It actually doesn't matter where the path nodes are placed in relation to the moving platform they go to. The two things that do matter are that the moving platform is placed where you intend it to start, and where the path nodes are in relation to each other. You can move all of the path nodes at once to a completely different part of the level and the moving platform will still move in the exact same way in-game. (I usually have my path nodes on the corner of my moving platforms instead of the center.)
- Your .map must have at least one static brush.
- Triggers must be a normal six-sided brush.
- Frictions don't work with moving platforms outside of PQ; they just act as normal surfaces.
- Don't use undo.
- Sometimes the moving platforms themselves don't spawn, but the markers and triggers do. I don't know what causes this. Sometimes I have to remake the moving platforms all over again, sometimes I even have to install a fresh new copy of Constructor. It sucks, I know.
- If you've already spawned your moving platforms in-game and you make a change to the path, you have to delete the lines of code in the .mis file for every part of the moving platform (the MustChange, the path, etc.) before you hit "Create Subs" again.
- Constructor is still a piece of garbage, this is what I do every time I make moving platforms, but of course not everything will go 100% smoothly, so prepare to either be very patient and/or very sad.
[hr]
Before Making Moving Platforms:
First thing to always do is set up your moving platforms as normal static brushes, as well as make static brushes for where you want your triggers to be. Obviously important to make a trigger to activate the platform, but you can make a trigger to call it back too. Save a copy of your .map with everything set up, and then make another copy that will actually have the moving platforms.
Constant Moving Platforms:
- Select moving platform, hit "Other" on the left and then "Door_Elevator".
- Spawn a path node marker by clicking the Add Point Entity button (lightbulb with a plus sign), and scrolling down to find "path_node". Place it in the middle of your starting platform.
- - - Never a bad idea to set the duration (in milliseconds) and the smoothing (almost always 2) so those properties are copied.
- Duplicate the path node by shift-click and dragging, place it where you want your platform to go.
- Make a duplicate of the path node that's at the end of the path.
Triggered Moving Platforms:
- Follow every step from making a constant moving platform.
- After you finish placing the path nodes, select the brush that's supposed to be a trigger that you intend to activate the platform, and hit "Trigger" on the left (a couple options above "Other".
- - - If you made a second trigger to call the platform back, make that a Trigger brush type too.
- Up in that same box is an "Edit Properties" button:
- - - Select the DoorElevator that is your triggered platform
- - - - - "InitialTargetPosition" should be 0.
- - - - - "datablock" should be "PathedDefault".
- - - - - You can add those two properties yourself (there's an "Add Property" button if they're missing for whatever reason.
- - - The "TargetTime" of the first trigger should be the same value as the duration of the first path node in the path.
- - - The "TargetTime" of the second trigger (if you made one) should be 0.
In-Game:
- Open the mission, spawn your interior, hit F3, hit "Create Subs".
- Save and reload the level.
Notes:
- In cases where you have to remake the moving platforms from scratch, Constructor doesn't like it when you simply delete the moving platforms and make them again (it messes up the order of everything in the "Edit Properties" window. This is why I highly suggest saving a copy of your .map with all the moving platforms and/or triggers ready and set up.
- It actually doesn't matter where the path nodes are placed in relation to the moving platform they go to. The two things that do matter are that the moving platform is placed where you intend it to start, and where the path nodes are in relation to each other. You can move all of the path nodes at once to a completely different part of the level and the moving platform will still move in the exact same way in-game. (I usually have my path nodes on the corner of my moving platforms instead of the center.)
- Your .map must have at least one static brush.
- Triggers must be a normal six-sided brush.
- Frictions don't work with moving platforms outside of PQ; they just act as normal surfaces.
- Don't use undo.
- Sometimes the moving platforms themselves don't spawn, but the markers and triggers do. I don't know what causes this. Sometimes I have to remake the moving platforms all over again, sometimes I even have to install a fresh new copy of Constructor. It sucks, I know.
- If you've already spawned your moving platforms in-game and you make a change to the path, you have to delete the lines of code in the .mis file for every part of the moving platform (the MustChange, the path, etc.) before you hit "Create Subs" again.
- Constructor is still a piece of garbage, this is what I do every time I make moving platforms, but of course not everything will go 100% smoothly, so prepare to either be very patient and/or very sad.
Discord: nockess
YouTube: www.youtube.com/Nockess
Custom Levels: marbleland.vaniverse.io/profile/53