I've come up with a way that I'd like to handle animating in my game.
I created a table containing all the actions that need to be done in the animation with each key being a keyword telling the code what to animate to what target in what amount of time. I don't quite know how to implement this however.
Here is my animation sequence:
local reloadAnimationSequence = {
RightArm = {
CFrame.new() * CFrame.Angles(math.rad(90), 0, 0),
0.8
},
Delay = 0.5, -- Getting the mag.
RightArm = {
CFrame.new(), -- Replacing the mag
0.6
},
Delay = 0.1,
-- Pulling the bolt
LeftArm = {
CFrame.new(-.2, .3, .5),
0.35
},
LeftArm = {
CFrame.new(-.2, .3, .2),
0.2
},
LeftArm = {
CFrame.new(),
0.25
}
}
So basically, when the code looks through this sequence it should see the key "RightArm" and animate the right arm to RightArm[1] which is the target CFrame in RightArm[2] which is how long it takes to reach it's target.
"Delay" will tell the code to pause the script for that amount of time.
Is this even possible? If it is, how could I implement this?

2 comments
Why not use roblox's animations?
Because ROBLOX animations, and the editor are buggy af. @RubenKan