I am currently making a boat system however it appears when another player touches a boat while another person is driving it the boat will just spaz out. I have tried messing with network ownership with no luck and I’m not sure how to fix this issue. Can anyone help?
I’ve never really been on the physics side of Roblox Development, but I will say that when it comes down to it, the in-game mass of the character could probably affect the levelness of the boat. I highly doubt it has anything to do with Network Ownership.
Can you show the hierarchy in explorer so that we can see what body movers or constraints you are using to control the boat?
Just from watching the video, this is what I think is happening…
When a players sits in the seat, they become part of the rig of the boat, and so this changes the physics of the boat, mass, etc…
So then when another player gets on the boat, the physics are not acting as expected.
Just off the top of my head, I’m thinking you might need to adjust the forces applied to your body movers or constraints in relation to if someone is driving the boat or not.
This is kind of hard to explain because I made a script that sets up all the constraints automatically. But I can show a picture of the constraints active in studio.
I have not done much with the new constraints, but in my game, in the past, I had boats that used a gyro to keep them from being flipped about.
Not sure what is the equivalent or if you are even using one in your rig, but maybe look into that.
Or as I said, maybe try adjusting the amount of force that is being applied to the various constraints to account for the player being connected to them. (even if its just through the vehicle seat)
Oh yea I forgot I was using body gyro to keep it up right but it doesn’t change much even if I increase its strength. If I change character mass to basically nothing it no longer affects the boat negatively, But I still want players to be able to dive into the water.
You can use an AlignOrientation with TwoAttachment mode and have the attachment only affect the PrimaryAxis and make it based on the upward axis through the attachment.
Possible solution to that is, you could try to force roblox’s physics engine to not calculate any mass from the other player jumping on the boat, (I mean that the occupied player’s will not calculate any physics between the other player).
To do that you could include a localscript which simply disables every players characters collisions, the moment the player occupies the boat, once the player leaves the boat , you could reenable everyones collisions, please note that this has to he done client sidely.
Oh and also, if you don’t have any idea of what I mean, or if you cannot replicate it into a localscript, just let me now Ill probably provide you a example code which you can use.