I have a humanoid model that I parent to the workspace, and I give NetworkOwnership of all parts in it to the Player, and I also add an animator inside the model’s humanoid. But when I play an animation on that animator it doesn’t replicate to other players.
Animations[FighterModel] = FighterHumanoid.Animator:LoadAnimation(script.WalkAnimation)
for _, Part in pairs(FighterModel:GetDescendants()) do
if Part:IsA('BasePart') then
while not Part:IsDescendantOf(workspace) do
task.wait(0.1)
end
Part:SetNetworkOwner(Player)
PhysicsService:SetPartCollisionGroup(Part, 'Fighter')
Part.Massless = true
end
end
It does replicate when the model is parented to the Player’s character, but I don’t want to do that because of some weird bugs that happen because of it (Flinging and Player “fusing” with the other model). So I want to know if there is a way to make it replicate with it just being parented to workspace.
You can play the animation locally for ALL PLAYERS if you can just use a state machine on the server
And all other players will have their own script to play the animation for the jet depending on which state is the jet on.
So if the model isn’t parented to the Player’s Character, I’m forced to make manually replicate animations?
Is there a reason you’re giving a player network ownership? This should all be executable from server side code.
I dont want to check every frame to either play or stop the animation, would be very bad for performance. So I’m giving the player network ownership so I can do it on the client and have it replicate to the server.
NetworkOwnership only allows the client to physically manipulate a part. Meaning they can’t execute code on or animate the part.
Weird thing is that it works when I parent the model to the Player’s character but not when I parent it to the workspace. I guess it’s just the way they made it and there’s nothing I can do.