How To Make A RodConstraint Reduce Faster?

I am currently using a RodConstraint and a VectorForce to make a grapple system. To do this, I am subtracting length from the RodConstraint and setting the VectorForce every frame via Heartbeat.

rod.Length -= 5
vectorforce.Force = (mousepos - root.Position).Unit * 1500

Now, I am attempting to make different speeds for the grapple so that the player can speed up the grapple or slow it down. However, past a certain subtraction (about 7 I think), the RodConstraint won’t go any faster. How can I fix this? Help is much appreciated.

Video

External Media

well I would just use tweening for this

1 Like

ill try that out and lyk how it goes, thanks for the tip!

1 Like

unfortunately, this does not work. the way the rod works is that it adjusts to its length with what I’m guessing is a capped speed. so even using a tween to reduce the length, it still gets capped at whatever max speed roblox has it as. thanks for the help though!

heres the code I used in-case you have any doubts:

local function rodTween (newSpeed)
				if rodSpeed ~= newSpeed then
					rodSpeed = newSpeed
					local relativeSpeed = (mousepos - root.Position).Magnitude/newSpeed
					rodTweenVariable = tweenService:Create(rod, TweenInfo.new(relativeSpeed, Enum.EasingStyle.Linear), {Length = 0.5})
					rodTweenVariable:Play()	
				end
			end

you can the newSpeed parameter to like 10k and it’ll have the same speed as 1k and whatnot

1 Like

well that’s odd because the calculations show that it should get higher. idk what’s wrong

I mean you are only tweening th elength to 0.5
wait nvm that is how it should ne

I found a solution! For those experiencing the same issue, I switched the RodConstraint with a RopeConstraint and then set the restitution property to a low amount (0.2) to mimic the RodConstraint. Since the rope constraint’s length can be subtracted with immediate results, this fixes my issue.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.