I have a tool that plays animation when clicked. The tool gets the animation by a module that is client-sided. What the module does is when the player joins, a local script will run a function inside the module that loads the animation and put it in a table when it is loaded. It works fine on the player but the server and other players cant see the animation.
Local script:
local Character = Player.Character
local Humanoid = Character:WaitForChild("Humanoid")
local Animator = Humanoid:WaitForChild("Animator")
local animationProccess = animationModule.loadAnimation(Player, Animator)
Module:
local animationList = {}
local RS = game:GetService("ReplicatedStorage")
local animationFolder = RS.Animations
function animationList.loadAnimation(player, Animator)
print("Event Received")
for _, Animation in pairs(animationFolder:GetDescendants()) do
if Animation:IsA("Animation") then
animationList[Animation.Name] = Animator:LoadAnimation(Animation)
end
end
print(animationList)
print("Animation Loaded")
return true
end
return animationList
The tool script is self explanatory. It uses the play function