I change the idle animation and walk animation client-side when a weapon is equipped.
Other players see other players with a half-idle animation and walking in place, not sure what causes this and I can’t just load the animations on the server or on the client. The best way is to change the original animation id’s so no overwritting happens.
local weaponAnimationsFolder = client.animations[client.char:GetAttribute("Weapon")]
local equipped = client.char:GetAttribute("Equipped")
if not equipped then
client.gen.SA(client.char, "Idle")
end
local animate = client.char:FindFirstChild("Animate")
if animate then
animate.walk.WalkAnim.AnimationId = if not equipped then weaponAnimationsFolder.Walk.AnimationId else "rbxassetid://9648861287"
local updatedId = if not equipped then weaponAnimationsFolder.Idle.AnimationId else "rbxassetid://9648615129"
animate.idle.Animation1.AnimationId = updatedId
animate.idle.Animation2.AnimationId = updatedId
end
client.char.Humanoid:ChangeState(Enum.HumanoidStateType.Landed, true)
I just had to change the animate animations on the server and then right after update the animate script by changing my humanoid state type (the method in which they update the animate script).
I just did it the client-side way and disabled the option but it ruined other animations that were set to action and made them choppy so the other way is probably the best.