Ok so animations wont work in server an idk why. I tried preload it, still no. Anybody can help?
Did you give the client network ownership of their stand?
ahh, no ig. how i can do this.
Upon joining, you would have to use the SetNetworkOwner function of the parts of the stand and pass the player in the function as an argument to give your client network ownership of your stand
You can replace this code in your PlayerAdded event, if you have one, where you give the player their stand and assign network ownership:
game.Players.PlayerAdded:Connect(function(player)
local stand = -- clone stand here
stand.Parent = workspace
for _,v in pairs(stand:GetDescendants()) do
if v:IsA("BasePart") then
v:SetNetworkOwner(player)
end
end
-- Alternatively, you can just give the player network ownership of the main root part instead of using the for loop above
-- this just assumes you have a humanoid in it
stand.Humanoid.RootPart:SetNetworkOwner(player)
end)
Oh tysm, but can i use it with AnimationController?
btw it wont help, same thing happens
local SetUp = game.ReplicatedStorage.Remotes.SetUp
SetUp.OnServerEvent:Connect(function(plr,status,stand)
if status == "SetUp" then
for i,v in pairs(game.ReplicatedStorage.Models:GetChildren()) do
if v.Name == stand then
RealStand = v:Clone()
RealStand.Parent = plr.Character
local weld = Instance.new("Weld")
weld.Part0 = RealStand.HumanoidRootPart
weld.Part1 = plr.Character.HumanoidRootPart
weld.Parent = RealStand
RealStand.Name = "Stand"
end
end
for _,v in pairs(RealStand:GetDescendants()) do
if v:IsA("BasePart") then
v:SetNetworkOwner(plr)
end
end
pcall(function()
StandScript = game.ServerScriptService.Locals:WaitForChild(stand):Clone()
StandScript.Parent = plr.Character
plr.PlayerGui:WaitForChild("Conf").Stand.Value = stand
end)
end
end)
You probably shouldn’t have welded it because that probably does something internally that doesn’t make animations replicate. You’re better off using the same code without the weld, and on the client, update the stand’s position every frame after the character was updated:
What you should have in the client:
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
game:GetService("RunService"):BindToRenderStep("standUpdate", Enum.RenderPriority.Character.Value + 1, function()
stand.HumanoidRootPart.CFrame = hrp.CFrame
end)