Making tools with seats for other players

Okay so I just want this over with and find a solution to it. It’s very strange and I never understood why it is acting like it does. I want to make a tool which a player that has can equip and move around with for other players to sit and be transported with. This is in the game I am making, a wheel chair.

What I did first was whenever you equip the tool, the seat will be enabled, and when you unequip the tool, the seat will be disabled. That’s how I avoided players to remain in sitting when the player unequips the seat.

Now I have other issues with the wheel chair which seems to happen randomely and like a bug assigned to players where the other players can use the wheel chair completely normal without any problems.

So whenever you equip the wheel chair, your character plays an animation with both arms holding the seat.

This is what it looks like when there’s no issue:

Summary

And then it’s randomely assigned that some players will make the seat be dislocated to the other side of the player holding it and turning them upside down?
It looks like this where the right arm is being pulled back and the left arm still playing it’s supposed animation:

Summary

I did try to do things like making the seat reset everytime the player equips the tool but didn’t work at all.
The wheel chair seems to fix itself sometimes towards other players assigned randomely this bug. It’s like some players work and some doesn’t randomely and when we respawn the wheel chair may work for some other players while being bugged for others?

Does anybody have any idea what I could do to stop this from happening?

Just to assure you guys everything in the tool is welded and the tool is unanchored. It can not be dropped and the seat is placed correctly as it works many of the times when using it.

2 Likes

If you’re having any problems with this, you can use a video tutorial to help you.

Grip foreward, Grip pos, Grip right, and Grip up should help you with this.
Or, it could possibly be an extra weld connected to the arm, or something like that if grip doesn’t work.

Another possibility is a bug in the animation- the animation makes the arm rotate 90 degrees up, to look like the player is holding the chair. Maybe, between the tool and the animation, the two animations cause the arm to turn backwards.

I’m very sure that it has nothing to do with animations running on each other. We know that we’re being completely turned around and the animation has all other keyframes than arms disabled. The animation is also only 1 and starts on equip, stops on unequip. I worked with this a lot before and there’s never any problems with it.

However I think you’re right about the grip. I’m trying to set the handle to always be the default grip position and still have the wheel chair centered. Let’s see.

Update:
It’s not working at all, the grip position is now by default and it still bugs to randomely go behind your back.

You should try changing the Priority of the wheelchair animation to be “Action”.

https://developer.roblox.com/en-us/articles/using-animation-editor#priority

The animation is set to action it has always been. It’s like the seat is trying to be the same position as it was set compared to the handle but for some reason wants to go back?

This is the script and it’s action as you can see both when editted in the animation edit plugin and also in the local script:

repeat wait() until game.Players.LocalPlayer.Character:FindFirstChild("Humanoid") ~= nil

wait()

local PS = game:GetService("Players")

local Player = PS.LocalPlayer

local Character = Player.Character

local Humanoid = Character:FindFirstChild("Humanoid")

local Idle = Instance.new("Animation")

Idle.Name = "WCIdle"

Idle.Parent = script.Parent

Idle.AnimationId = "http://www.roblox.com/asset/?id=" .. "3399415046"

if Humanoid == nil then

repeat wait() until Character:FindFirstChild("Humanoid") ~= nil

end

local Idle = Humanoid:LoadAnimation(Idle)

Idle.Priority = Enum.AnimationPriority.Action

script.Parent.Equipped:Connect(function()

Idle:Play()

end)

script.Parent.Unequipped:Connect(function()

Idle:Stop()

end)

Maybe there was a mistake in uploading the animation? You could try republishing it to see if that fixes the problem. I’ve had problems like that before.

Have you tried to turn the massless option on?

No, I did not?
Would mass have any effect on people seating on a tool?
I will try this soon and mark it as solution if you’re onto it, thank you.

Definitely no problem with the animations. I did check it all through and in addition this is the most simple animation needed for a tool so I don’t see any reason how in the world the animation would want to turn the arm 180 degrees back.

Yes, I think. I’ve had problems similar to yours before. I turned massless options off and it works.
Technically, That’s because wheel chair is too heavy.If it’s still not working, try to make a script that when character sitting then turn its parts’ Massless on

Sadly had no effect at all on the bug. I really have no idea what is happening here, it’s like the seat itself wants to be the same position as it was compared to the handle but on the opposite side?

Sorry I’m late. If nobody sits on it will this happen?

No, it only happens when people sit on it. As soon as it’s no players on that seat, it’s always fine. As soon as they sit, it goes either behind or works fine which I don’t know when and why is happening.

Make a script:

local Seat = script.Parent
local sittingCharacterParts
Seat:GetPropertyChangedSignal("Occupant"):Connect(function()
    local Occupant = Seat.Occupant
    if sittingCharacterParts then
        for i, inst in ipairs(sittingCharacterParts) do
            if inst:IsA("BasePart") then
                inst.Massless = false
            end
        end
    end
    if not Occupant then return end
    sittingCharacterParts =Occupant.Parent:GetChildren()
    for i, inst in ipairs(sittingCharacterParts) do
        if inst:IsA("BasePart") then
            inst.Massless = true
        end
    end
end)
3 Likes

Yes, ok sorry for being late. This seems to stop the issue, however the problem is sometimes whenever they jump off, the hats and all is gone now and comes back whenever that player equips a tool, which seems kind of odd. However this was a solution so good job.