Help with building ladders

I use trusses. I have invisible collision parts for walls and floors because my meshes are too complex. And yet, I still can’t get from the ground to the top of the ladder and up onto the platform above. I can get up there, it just takes a lot of luck.

One thing you will notice is that the climbing animation works (I could do something about the speed) but more often than not, she walks up the ladder. I tried changing “MaxSlopeAngle” on humanoid down to 20 degrees. Made it impossible to clear a curb, but little impact on the ladder.

I’m missing something. Worst obby EVER!

And here’s the secret collision layout.

I mean… there’s nothing there!

2 Likes

extend the truss and make it straighter

1 Like

If your ladder is a model Your objects are most likely set to CanCollide.

It could also be that your player model hitbox is being treated as in game objects colliding with the rest of the solid blocks.

If there are meshes, if the meshes have physical properties, then the entire mesh is considered a solid block.

The collision could also be the issue, seeing that you have an issue near the top where some of the truss goes through the collision blocks.

It could also be the animation itself, when the torch goes into the mouth, is it a solid object with CanCollide on?

1 Like

Turns out this is a half dozen problems, not just one.

I was thinking the way you were, which is why I made the collision building to start with. This is SO close to the problem… this part of the problem was CanTouch and/or CanQuery, and I did it to myself.

So I correctly turned off collisions, moved up INTO the mesh hull and then I stopped… because I was using Mouse.hit to move, and it was registering behind my character on the OUTSIDE of the hull. Get to the top, then the Mouse says turn around and go home! OOPS!

Once I figured this out, I was able to get into the second floor.

1 Like

This also solved part of my problem. Apparently ladders only work completely vertical? That’s really lame, but making the ladder vertical ended the running animations. Thanks!

BTW length didn’t matter, as the floor platform still counted as the ladder, it seems.

I’ll be testing this a bit more, and see if there are any other ladder related bugs. This really helped!

1 Like

Goodness! Quite the turn of events, ay? Glad you got that figured out. I’m not quite sure what you mean you were using Mouse.Hit. (i think it’s gonna be deprecated anyway) I hope to see more.

I have been coding for about 4 months, and “one button movement” was the first thing I wrote. This is how I move around. I know it’s archaic now (and I see I used 2 different services?), but at the time I felt clever! Yeah, it’s on the chopping block soon…

mouse.Move:Connect(function()
	targetPosition = mouse.Hit.p
	if jumpDelay then
		targetDirection = (targetPosition - hrp.Position)
	end
	targetMagnitude = targetDirection.Magnitude
	local pressed = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1)
	if pressed then 
		pivotBody(targetPosition)
	end
end)
1 Like

The next fix was less about the ladder. The animation leading up to putting the torch in the mouth was supposed to stop all movement with an unbind step, but had broken, allowing the player to climb the ladder while that animation was running. Turns out I had relocated that script to the server but the bind was on the client. That was easy enough to repair.

Still 3 unsatisfactory visuals to correct, but these require new code. Nothing to do with ladders.

  • The idle animation while the torch is in the mouth should be empty handed, but I never actually coded that. Looks like the player is still holding an invisible torch, and ruins the effect.
  • There should be a service to cancel the torch juggling if the player walks away from the ladder.
  • I should throw in a jaw only animation so that idle movement looks correct too.

And now for a more relaxing climb into the stables! I’m calling this thread solved, and I’ll award the solution to Laufeyson (for solving the only problem that was not self-sabotage)! Thanks everyone!

2 Likes