you are going to have to set up a round-based system for this, I have made a tutorial on how to make that luckily: How To Make A Round-Based System
As for the Custom Character, make sure you check out the 2015 method of this tutorial: Replacing the default character with a custom character
and set the NetworkOwnership
to the player like this:
for _, d in pairs(F:GetDescendants()) do -- F is your custom character
if d:IsA("BasePart") then
d:SetNetworkOwner(player)
end
end