How to make a makeshift crane; or alternatively - How do I move ropes?

  • If you're asking a question make sure to set the thread type to be a question!

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
Heya.

I am currently working on a Payload map which includes something similar to barnblitz second, where the payload is paused for a second on the track.

However, instead of a.. spinny-thing on the ground I wanted to make a cool crane that lifts up a log that's currently on the track.

Someone suggested I should do it with ropes. Sounded good, they have an auto-resize flag, so I did the following setup:

DBEn7uZ.png


At the top of the crane model is a keyframe rope.

In the middle, a path_track.

At the bottom in the log area, you have:
- the log model (prop_dynamic)
- a shoddy func_brush as a purely visual thing
- another keyframe_rope
- a path track, marking the beginning.
- a func_tracktrain

Putting it all together, from a purely functional perspective, everything works fine. The log is being moved upwards, ends where I want it to end and the payload is stopped, gets to move etc. when I want it to.

However - the ropes don't!

unknown.png

This is how it looks like in-game mid-lift - the rope does not move a single meter/inch/farenheit.

Quite frankly I have no clue why this is the case. The bottom keyframe_rope is parented to log_movement, which is the name of the path_tracktrain. The log itself and the func brush are also parented to it and move fine.

Even the wiki (https://developer.valvesoftware.com/wiki/Cables_and_Ropes) says that the auto-resize can be used to make cranes, yet here I am.

Here are the property windows for each part: Log_movement being once again the func_tracktrain, keyframe_rope_end being the *bottom* of the crane, and keyframe_rope_start being the top.

KeuprUf.png

To prevent the log from going wonkers, the func_tracktrain has the "Fixed Orientation" flag.

VpzLZ6N.png

Qb1cqq2.png


Both log_rope_start and log_rope_end have the Auto resize flag checked.

If anyone has any experience or ideas on how to fix this, I'd greatly appreciate any input. I've been struggling with this for a while now, and I hope to find masters of ancient pseudo-crane technology here.

Thank you!
 

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
You gotta use move_rope instead of keyframe_rope
U3kGqLx.jpg

No dice :(

Both are move_rope, both are connected, bottom is parented to the tracktrain and both have the auto-resize flag...

Here are the rope entities in question again, now both being move_rope...
lEuCZ5D.png

q9dJ93B.png
 

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
Not sure if this will fix your problem, but you have to make sure the first keyframe in your rope sequence is a move_rope, with all the rest being keyframe_rope. So in your case, log_rope_start would be a move_rope, and log_rope_end would be a keyframe_rope.
3j3iM9h.png

The same. It still refuses to move - or atleast auto-resize.
 

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
...Can also confirm that turning the flag off in the move_rope and enabling it on the keyframe only causes the same thing to happen; nothing.
 

fubarFX

The "raw" in "nodraw"
aa
Jun 1, 2009
1,720
1,978
It is NOT possible to parent a move_rope or keyframe_rope. However, there's this entity called logic_measure_movement that will allow you to apply the movement of one entity to an other (essentially mimicking parenting) and the good news is that it works with ropes.
 

tyler

aa
Sep 11, 2013
5,102
4,621
I believe this example still works. This does what fubar just suggested above.
 

Attachments

  • movingRopesExample.zip
    2.8 KB · Views: 199

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
I ran into another issue. While the ropes do move, sadly now they slack. Does the auto-resize flag only have to be checked on one rope entity, rather than both?

Slack is 0 on both of them, so that can't be it. I think.
 

Fluury

L5: Dapper Member
Jul 30, 2017
236
170
Well for anyone that might stumble over this in the future, setting the rope to rigid fixed the issue!