How to animate Tool Handles easily! [OLD POST]

It’s definitely the custom character. The Motor6D should be moving the tool inside the center of the arm if it refuses to animate. Can you send a tree (explorer) of your custom character? Make sure you open every directory so I can see if there’s anything that could be preventing this from working.

One good thing to note, if you have “RequiresHandle” turned off, and you’re using a part named “Handle” the motor6d handler will not attempt to destroy any RightGrip welds. The RightGrip is what prevents Motor6Ds from working. I’ll update the model to print in the console if “RequiresHandle” is true, and if it finds a part named “Handle”.

@IvanDani75

Please update your script. I noticed a mistake I made, and made some fixes for RequiresHandle even further.

1 Like

I was already struggling for several days to make 2 other character’s abilities so I decided to not waste even more development time and just give her a dash ability instead since that’s way easier to do and I already managed to make the other two characters with the help of a friend, but yeah I can test the update still.
It just won’t interrupt the actual development of my game anymore if I play around with it to maybe get it to work.

1 Like

Okay so I just updated the script to latest and the dual wield still not worked on R6 :c is there way to get it worked?

Because

Usually animations performed on Rigs (with Humanoids) are client sided.
They mention it here:

I’m talking about tools, not StarterCharacterScripts. If it’s StarterCharacterScripts I completely understand, but for tools it’s almost useless if you plan to use .Activated, .Equipped or .Unequipped anyways.

Thanks for trying though.

Edit: Not to mention using more scripts than you should is not proper coding etiquette!

you’re basically referencing the StarterCharacter in the StarterPlayer which isn’t the same as the character you’re controlling, also theres a lot of wait errors you should instead write

local plr = game:GetService("Players").LocalPlayer
local chr = plr.Character or player.CharacterAdded:Wait()
local hum = chr:FindFirstChild("Humanoid")

by the way, i don’t recommend doing this chr thing in the tool at all, it’s only basically referencing to the first character you spawned in so if you died, the script would still be in the look inside the old first character so i recommend getting the tool’s parent as a character variable since that is where the tool is located at and adjust some vars.

hey, I seem to have some issues with this…
First of all, the animation literally wont apply to the hammer, and I’m very sure that that I did it right. (don’t quote me on that, I might’ve definitely made a stupid little mistake.)
image
Hierarchy of dummy.
image
I followed the tutorial, am I supposed to make the hierarchy of the dummy different?


This is what currently happens when I equip^

This is what is supposed to happen^

Do you have:

RequiresHandle set to false? If so, then you should be fine as long as Hammer is a descendant of the Tool. NOT your arm. That’s the issue.

You don’t need to clone a fake to the characters arm because 2 motor6d’s that do the same thing will collide.

If you animated initially with a part named “Handle” but later called it “Hammer” the animation won’t play because the keyframe name is different.

I would personally just call the hammer “Handle” and keep RequiresHandle turned on for the best experience.

I tried it with it set to true, and that changed nothing.
I’ll try animating the hammer with the name “Handle” and see what happens

If you animated the animation with the hammer being called “Handle” initially, it will expect that name only.

Oh, ill try animating it with the name “Handle” now, the original animation was made a long time ago.

1 Like

For any further issues, please resort to Private Messages because this topic is public and there is already a ton of posts.

1 Like

also normally for me instead of having to do the lazy and effortful creation and adjustment of a Motor6D which the rig’s right arm has which is connected to the handle to serve as an substitute i’d create a pre-planned pseudo handle

if you don’t know what that meant i’d create an invisible handle instead of the visible handle (sword like) being the only primary handle, the thing is if a Motor6D’s oldest ancestor is disconnected, the rest of the other ancestors and its descendants still function perfectly

if you still don’t get what i mean i’ll show some picture

image

the picture above is my own self-insert rig that shows the hierarchy of all connected outside motor6ds, if you noticed the right arm is connected to “Handle” which is the invisible 1-sized block that’s being highlighted by the blue screenbox, the handle2 is the sword mesh itself which is connected by “Handle”, now what i meant by motor6ds still functioning even if it’s ancestor is gone is that Handle shouldn’t even be animated at all in any animation editor and only the “Handle2” which is the handle’s motor6d, the reason why you shouldn’t animate “Handle” at all is because that is the motor6d in the right arm, if you turn this into a player tool the player doesn’t have a motor6d connected to the Handle itself but the handle’s motor6d connected to the handle2 doesn’t disappear which can prefix things

also, when editing the tool’s hold offsets, i suggest using clonetrooper’s tool editor plugin and it doesn’t affect anything if you change the Handle’s tool offset, heres the game where i used this method with the animation functioning perfectly with no qualms

https://www.roblox.com/games/7736624156/Untitled-Game
(not advertising btw >:/)

Everything stated here may be true for you, but doing it this way is not necessarily “lazy”. It adds the basic functionality Roblox should have provided since the very beginning with animating tools, and it was never supposed to be super advanced anyways.

I appreciate the message though for anyone willing to try it, but it’s out of the scope of this resource since this is supposed to be user friendly

I loved this post, but I have a small issue with the tool animation:

I have an R6 Avatar, the tool is only one part, and the tools settings are the same, but for some reason my handle wont go far enough when animating than I want it to, for example:

This is what I WANT:
Capture

and this is what I am GETTING:

How can I move the handle farther? If there’s a way, please let me know!

1 Like

Yes, I tried resizing the tool…

I believe it’s animation overlap with idle and attack animation.

Use animation weight to adjust AnimationTrack:AdjustWeight.

1 Like

If you have a problem and need support, please Private Message me, not here.

I also need some replication files on how you got this result as this seems to be an error with the way you animated.

Edit

I believe I found your issue. It is quite possible that you enabled this because you were curious, or Roblox forced it on in a new update. I need you to switch this toggle, AnimationWeightedBlendFix, to Disabled under the Workspace service.

1d759e79a82d7de99b0c594eb981b470

Some people have reported that it’s made animations behave weirdly, and I believe also encountering this when I turned the toggle on myself.

7 Likes

IT WORKED!

Thank you so much! :slight_smile:

1 Like