Server side script
-- Fired when Humanoid is swimming function TailService:EquipTail(player, newState, character) local User = PlayerData[player.UserId] if not User then return end local Tail = Tails:FindFirstChild(User.Tail) if newState == Enum.HumanoidStateType.Swimming then character.LeftFoot.Transparency = 1 character.RightFoot.Transparency = 1 character.RightUpperLeg.Transparency = 1 character.RightLowerLeg.Transparency = 1 character.LeftUpperLeg.Transparency = 1 character.LeftLowerLeg.Transparency = 1 if not character:FindFirstChild('Tail') then local Clone = Tail:Clone() Clone.Name = 'Tail' local Weld = Instance.new('Weld') Weld.Name = 'Weld' Weld.Part0 = character.LowerTorso Weld.Part1 = Clone.PrimaryPart Weld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(180), 0, 0) Weld.Parent = Clone Clone:SetPrimaryPartCFrame(character.HumanoidRootPart.CFrame) Clone.Parent = character Clone.PrimaryPart:SetNetworkOwner(player) end else if character:FindFirstChild('Tail') then character.LeftFoot.Transparency = 0 character.RightFoot.Transparency = 0 character.RightUpperLeg.Transparency = 0 character.RightLowerLeg.Transparency = 0 character.LeftUpperLeg.Transparency = 0 character.LeftLowerLeg.Transparency = 0 character.Tail:Destroy() end end end
This works well for me, but for literally every other player is glitches out. I got no clue why something would work well for just me and me only.
The tail is a model. None of its parts are Anchored and are all CanCollide false. Tail works on my player (can see in video) but on other players it just glitches them out, doesn’t show up, etc.