The FE Copy All Avatars Script can be used in various contexts:
-- Server Script: Handles copying all avatars local replicatedStorage = game:GetService("ReplicatedStorage") local copyAvatarRemote = Instance.new("RemoteEvent") copyAvatarRemote.Name = "CopyAllAvatarsEvent" copyAvatarRemote.Parent = replicatedStoragelocal function copyAvatarToTarget(targetPlayer, sourcePlayer) if not targetPlayer or not sourcePlayer then return end local character = sourcePlayer.Character if not character then return end
local humanoid = character:FindFirstChild("Humanoid") if not humanoid then return end -- Fetch the humanoid description local description = humanoid:GetAppliedDescription() -- Apply to target player's character local targetChar = targetPlayer.Character if targetChar then local targetHumanoid = targetChar:FindFirstChild("Humanoid") if targetHumanoid then targetHumanoid:ApplyDescription(description) end endend
copyAvatarRemote.OnServerEvent:Connect(function(player, action, targetPlayerName) if action == "CopyAll" then -- Loop through all players and copy their avatars to the requesting player for _, otherPlayer in ipairs(game.Players:GetPlayers()) do if otherPlayer ~= player then copyAvatarToTarget(player, otherPlayer) wait(0.1) -- Prevent lag end end elseif action == "CopySpecific" and targetPlayerName then local targetPlayer = game.Players:FindFirstChild(targetPlayerName) if targetPlayer then copyAvatarToTarget(player, targetPlayer) end end end)
A typical exploiter’s FE Copy All Avatars Script looks like this:
-- Exploiter version (requires executor) local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer
for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer then local character = v.Character if character then local desc = character.Humanoid:GetAppliedDescription() LocalPlayer.Character.Humanoid:ApplyDescription(desc) wait(0.2) end end end
This looks nearly identical to the developer version — but without remote events. Exploiters rely on bypassing FE through their executor, allowing client-side changes to affect the server. FE Copy All Avatars Script - ROBLOX SCRIPTS - M...
Solution: Ensure ApplyDescription() is called on the server. The client cannot apply descriptions to other characters under FE.
Solution: Add a wait() between each application and consider copying only humanoid descriptions (not re-spawning parts).
-- Server Script local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local copyEvent = Instance.new("RemoteEvent") copyEvent.Name = "CopyAvatarEvent" copyEvent.Parent = ReplicatedStoragelocal function copyAvatarToPlayer(targetUserId, targetPlayer) local success, desc = pcall(function() return Players:GetHumanoidDescriptionFromUserId(targetUserId) end)
if success and desc then -- Apply description to target player's character when it spawns targetPlayer.CharacterAppearanceLoaded:Connect(function(character) local humanoid = character:WaitForChild("Humanoid") humanoid:ApplyHumanoidDescription(desc) end) -- Also force re-spawn to apply targetPlayer:LoadCharacter() endend
copyEvent.OnServerEvent:Connect(function(player, targetUserId) copyAvatarToPlayer(targetUserId, player) end)
Client script to request a copy:
local ReplicatedStorage = game:GetService("ReplicatedStorage") local copyEvent = ReplicatedStorage:WaitForChild("CopyAvatarEvent")
copyEvent:FireServer(123456789) -- Target user IDThe FE Copy All Avatars Script can be