I’ve made a script which removes all accesories from a player’s model then adds a custom accessory after 5 seconds
when i reset my character it doesnt show up again.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Wig = ReplicatedStorage:WaitForChild("Wig")
local cloneWig = Wig:Clone()
local Players = game:GetService("Players")
local function playerAdded(player)
player.CharacterAppearanceLoaded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid:RemoveAccessories()
wait(5)
cloneWig.Parent = player.Character
end)
end
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end
Players.PlayerAdded:Connect(playerAdded)
You cloned the wig once, so the first player to join will get it. You should instead clone the wig every time they spawn. So, here is the fixed code:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Wig = ReplicatedStorage:WaitForChild("Wig")
local Players = game:GetService("Players")
local function playerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid:RemoveAccessories()
wait(5)
local cloneWig = Wig:Clone()
cloneWig.Parent = player.Character
end)
end
-- get existing players
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end
-- listen for new players
Players.PlayerAdded:Connect(playerAdded)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Wig = ReplicatedStorage:WaitForChild("Wig")
local Players = game:GetService("Players")
local function playerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid:RemoveAccessories()
wait(5)
local cloneWig = Wig:Clone()
character:AddAccessory(cloneWig)
end)
end
-- get existing players
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end
-- listen for new players
Players.PlayerAdded:Connect(playerAdded)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Wig = ReplicatedStorage:WaitForChild("Wig")
local Players = game:GetService("Players")
local function playerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid:RemoveAccessories()
wait(5)
local cloneWig = Wig:Clone()
character.Humanoid:AddAccessory(cloneWig)
end)
end
-- get existing players
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end
-- listen for new players
Players.PlayerAdded:Connect(playerAdded)
For some reason, you need to de-sync the code to run the remove accessories function.
Here’s the code, it works now:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Wig = ReplicatedStorage:WaitForChild("Wig")
local Players = game:GetService("Players")
local function playerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
wait()
humanoid:RemoveAccessories()
wait(5)
humanoid:AddAccessory(Wig:Clone())
end)
end
-- get existing players
for _, player in pairs(Players:GetPlayers()) do
playerAdded(player)
end
-- listen for new players
Players.PlayerAdded:Connect(playerAdded)