I have a set of animations defined and then stored in a table as,
local Left = Instance.new("Animation")
Left.AnimationId = "rbxassetid://416628708"
local Right = Instance.new("Animation")
Right.AnimationId = "rbxassetid://416628708"
local Forward = Instance.new("Animation")
Forward.AnimationId = "rbxassetid://312976450"
local Backward = Instance.new("Animation")
Backward.AnimationId = "rbxassetid://312976450"
local Jump = Instance.new("Animation")
Jump.AnimationId = "rbxassetid://312976450"
local Idle = Instance.new("Animation")
Idle.AnimationId = "rbxassetid://416928266"
local Inputs = {Left,Right,Forward,Backward,Jump,Idle}
However, when I try to play the animations from the table, I get this error.
21:23:34.337 - Argument error: must be an Animation object
Is there any way around this issue? Thanks for any help. Full script below
--Player Variables--
local Left = Instance.new("Animation")
Left.AnimationId = "rbxassetid://416628708"
local Right = Instance.new("Animation")
Right.AnimationId = "rbxassetid://416628708"
local Forward = Instance.new("Animation")
Forward.AnimationId = "rbxassetid://312976450"
local Backward = Instance.new("Animation")
Backward.AnimationId = "rbxassetid://312976450"
local Jump = Instance.new("Animation")
Jump.AnimationId = "rbxassetid://312976450"
local Idle = Instance.new("Animation")
Idle.AnimationId = "rbxassetid://416928266"
local already_ran = false
local grounded = false
local State = false
local P = game:GetService('Players').LocalPlayer
repeat wait() until P.Character
local Inputs = {Left,Right,Forward,Backward,Jump,Idle}
--local Event = game.ReplicatedStorage.Events:WaitForChild("AnimationEvent")
local Value
function onKeyPress(inputObject, gameProcessedEvent)
--if State == true then
if inputObject.KeyCode == Enum.KeyCode.A then
Value = Inputs[1]
elseif inputObject.KeyCode == Enum.KeyCode.D then
Value = Inputs[2]
elseif inputObject.KeyCode == Enum.KeyCode.W then
Value = Inputs[3]
elseif inputObject.KeyCode == Enum.KeyCode.S then
Value = Inputs[4]
elseif inputObject.KeyCode == Enum.KeyCode.Space then
Value = Inputs[5]
else
Value = Inputs[6]
end
end
game:GetService("UserInputService").InputBegan:connect(onKeyPress)
P.Character.Humanoid.Running:connect(function(speed)
for _,v in pairs(P.Character.Humanoid:GetPlayingAnimationTracks()) do v:Stop(0) end
if speed < 1 then
local AnimTrack = P.Character.Humanoid:LoadAnimation(Value)
AnimTrack:Stop()
wait(.01)
AnimTrack:Play()
print("Idle and Awaiting Input")
State = false
elseif speed > 0 then
local AnimTrack = P.Character.Humanoid:LoadAnimation(Value)
print("Moving")
AnimTrack:Stop()
wait(.01)
AnimTrack:Play()
State = true
end
end)
