Should :MakeJoints() tolerate slight misalignment better?

I want my game to work such that you always select the same tool (custom tool system). Same parts and all. This is good since the tool will maintain its identity throughout the game as its always the exact same instances.

The problem is that since I use surface welds to keep the tools together (:MakeJoints() whenever I throw it in workspace), it eventually fails to weld it properly for some reason.

I assume its because the tool gets moved around and might be in an awkward angle when :MakeJoints() is applied, causing some misalignment and preventing :MakeJoints() from welding stuff.

Is it possible to make MakeJoints work with larger misalignment? Perhaps as an optional parameter for how great misalignment should be accepted?

I know in my situation I should probably just store the welds to some table so I can always weld the stuff back together even if theres some misalignment, but this would help in other places too. I was once making a ship with wedgeparts, so the parts were are weird angles, and while everything welded correctly in studio, the weird angles caused parts to fall off in server because makejoints doesnt tolerate much misalignment.

So yeah, is it possible to adjust it/make it adjustable (to some degree)? It would probably help with all the vehicles and other things that always fall apart during regen in many games too.

It doesn’t happen much nowadays (or is it fixed?) - but rarely, laggy :MakeJoints() welds would weld parts all weird as if they were conveyor belts, some of the physics bugging so you could fall through blocks.

1 Like

You… could make your own.

Acually, that sounds like fun. I might do that.

Except coplanar rotation B hrd.

Does MakeJoints align the parts properly if theyre a little off? Or does it just weld them and cause the small errors to accumulate over time?

What Im doing is:
1.Parent model to workspace
2.MakeJoints
3.Observe
4.Parent model out of workspace
5.Repeat
And after a couple of times of going this the model falls apart (well its 2 parts so a single surface fails to weld…)

few hours pass

Ok I think ive found a solution.
Instead of calling model:MakeJoints(), I call it on each basepart descendant of the model individually o3o
Not sure why that seems to work…
Not going to copypaste it to other parts of the game until im sure its 100% reliable.

Ok my ‘fix’ was apparently wrong.

I have however discovered a way to reproduce the error with [strike]100%[/strike] 30% certainty.

To explain, the model im makejointing is a tool for a custom toolsystem, and im welding it to the character after inserting to workspace. (and then inserting back to storage when deselected)

The welding only seems to fail if I do the following:
1.Select item (to workspace)
2.Deselect item (to storage)
3.Select item (to workspace), this spawns the tool where it was when it was deselected, fails to makejoint, and the handle is welded correctly to the arm (because manually created weld) while the other part falls off.
HOWEVER, this only happens if I havent moved the character during the whole process. If I move the character before step 3, it welds correctly.

watdo

I blame hummanoids

EDIT:
Added wait() and now it seems like its 100% reliable again. I love you wait() :]