Script works in studio, but not in roblox?

Hello.

I’ve been working on animations for my gun. They work perfectly normal in studio, but not when I join the game via the Roblox client.

Here’s proof:

Roblox Client
down

Roblox Studio
Up

Here’s the script:

    
    equipped = true
    
    if not GunModels:FindFirstChild(Tool.Name) then error('No gun model matching '..Tool.Name) end
    
    local Mdl = GunModels:FindFirstChild(Tool.Name)
    local Char = Tool.Parent

    local Humanoid = Char.Humanoid

    ------------------------------------------------------------------

    if (Humanoid:FindFirstChild('Animator')==nil) then warn("ERROR: No animator detected") return end

    local Animator = Humanoid:FindFirstChild('Animator')

    ------------------------------------------------------------------

    print("Loading animations")
    
    local AnimTable = {}

    local Equip = Instance.new("Animation")
    Equip.Parent = Char.Humanoid
    Equip.AnimationId = Animations.Equip
    Equip = Animator:LoadAnimation(Equip)
    AnimTable.Equip = Equip

    local Stance = Instance.new("Animation")
    Stance.Parent = Char.Humanoid
    Stance.AnimationId = Animations.Stance
    Stance = Animator:LoadAnimation(Stance)
    Stance.Priority = Enum.AnimationPriority.Idle
    Stance.Looped = true
    AnimTable.Stance = Stance

    local Walk = Instance.new("Animation")
    Walk.Parent = Char.Humanoid
    Walk.AnimationId = Animations.Walk
    Walk = Animator:LoadAnimation(Walk)
    AnimTable.Walk = Walk

    local Run = Instance.new("Animation")
    Run.Parent = Char.Humanoid
    Run.AnimationId = Animations.Run
    Run = Animator:LoadAnimation(Run)
    AnimTable.Run = Run

    local Reload = Instance.new("Animation")
    Reload.Parent = Char.Humanoid
    Reload.AnimationId = Animations.Reload
    Reload = Animator:LoadAnimation(Reload)
    AnimTable.Reload = Reload

    print('Animations loaded')

    ------------------------------------------------------------------

    Mdl = Mdl:Clone()
    Mdl.Parent = workspace
    
    Stance:Play()
    local weld = Instance.new("Weld", Mdl.Grip)
    weld.Part0 = Mdl.Grip
    weld.Part1 = Char['Right Arm']
    weld.C0 = (CFrame.new(0, 0, 0) + Vector3.new(0,Char["Right Arm"].Size.Y/2,0))+Vector3.new(0,0,.35)
    
    Tool.Unequipped:Connect(function()
        for _,v in pairs(AnimTable) do
            v:Stop()
        end
    end)
    
    prevhandler = Char
    prevmodel = Mdl

Does anyone know what’s causing this?

I don’t really know, but this has happened to me in the past while making pathfinding AI. I managed to fix it after debugging a bit.

Maybe your animation hasnt been moderated yet?

I published it about a day or two ago, that’s unlikely but still possible.