Run it
Copy the script and paste it into your executor.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Create RemoteEvents for chatting and switching
local cloneChat = Instance.new("RemoteEvent", ReplicatedStorage)
cloneChat.Name = "CloneChat"
local switchClone = Instance.new("RemoteEvent", ReplicatedStorage)
switchClone.Name = "SwitchClone"
-- Store clone info per player
local playerClones = {}
Players.PlayerAdded:Connect((player)
player.CharacterAdded:((character)
()
clone = character:()
clone.Name = player.Name ..
clone.Parent =
_, part (clone:())
part:()
part.Anchored =
part.CanCollide =
cloneHead = clone:()
label
cloneHead
gui = .(, cloneHead)
gui.Size = .(, , , )
gui.StudsOffset = .(, , )
gui.AlwaysOnTop =
label = .(, gui)
label.Size = .(, , , )
label.BackgroundTransparency =
label.TextColor3 = .(, , )
label.TextScaled =
label.Text =
playerClones[player] = {
clone = clone,
original = character,
chatLabel = label
}
)
)
cloneChat.OnServerEvent:((player, message)
info = playerClones[player]
info info.chatLabel
info.chatLabel.Text = message
)
switchClone.OnServerEvent:((player)
info = playerClones[player]
info info.clone
player.Character = info.clone
)
Players.PlayerRemoving:((player)
playerClones[player] =
)Clone

Universal