Hello! Due to the new way animations blend, I can’t seem to figure out how to get my animations to play properly. I have the priority set to the highest it can be (Action4) and it seems like the Handle joint never moves. I don’t understand why this occurs, so if someone can help me understand how the new blending works and how to fix it, that’d be appreciated
If you can give me a better angle of how it should look like, that would be helpful. I think it might just be that the First Person is making it look different than the Third Person. Try to look at it from a First Person perspective while animating it, this usually helps to avoid these errors.
Edit: I just realized about the handle not moving. I believe it is because the handle is welded to your players hand and does not want to move. I am not sure of any way to fix that, sorry!
Hello! I have a simple workaround to this issue. I’m not the best scripter, but his has worked for me before. Take my code, but please edit if if you like. Name the script anything you want, and paste the following code into a server script which is parented to your tool:
local Tool = script.Parent
function createmotor()
local right_arm = Tool.Parent:WaitForChild('Right Arm')
if right_arm:FindFirstChildOfClass('Weld') then
right_arm:FindFirstChildOfClass('Weld'):Destroy()
end
local sr = script:WaitForChild('MotorScript'):Clone()
m6d = Instance.new('Motor6D')
m6d.Name = 'name the joint into something.'
m6d.Part0 = right_arm
if script.Parent:FindFirstChild('Handle') then
m6d.Part1 = script.Parent:FindFirstChild('Handle')
m6d.CurrentAngle = 0
m6d.DesiredAngle = 0
m6d.MaxVelocity = 1000
m6d.Parent = right_arm
sr.Disabled = false
sr.Parent = m6d
end
end
function onEquipped()
if Tool.Parent:FindFirstChild('Right Arm') then
createmotor()
end
end
function destroy6d()
if m6d then
m6d:Destroy()
end
sr:Destroy()
m6d = nil
end
Tool.Equipped:connect(onEquipped)
Tool.Unequipped:connect(destroy6d)
Next, name a script “MotorScript” and parent it to the script I just gave you. Paste the following into “MotorScript”.
if script.Parent.Parent:WaitForChild('RightGrip') then
script.Parent.Parent:WaitForChild('RightGrip'):Destroy()
end
To fix any part offsets, in the script where the animations are played (I see you are using FE Gun kit, but please tell me if it’s the modified version), press CTRL+F on your keyboard to open the find menu. Type in “:Play(”, without ending the parentheses, and you should find some lines of code with this. Ignore any code that only has :Play(), and look for specific lines, which should look similar to this: “:Play(yadda, something, whatever)”. Insert a number into the second argument to weight the animations manually. The higher the number, the higher the weight, which will tell the game to select a pose from your animation. Example: :Play(nil,1,2) would play the animation with a weight of 1, and a speed of 2. Make the less important animations (idle, etc.) have a weight of 0.3 or lower. More important animations (fire, reload) should be weighted higher.
though i understand it’s deprecated but for the sake of non-beginner friendly fix they provided as roblox doesn’t ask us, it’s better than not to do it (waste of time if you’re just going to edit weights for animations)