I'm working on replays for a game, and whenever I clone the character, it just falls apart. Every part in the character is constantly being tweened which confuses me with why none of the parts move
https://gyazo.com/33b5dcb8491fa5daba18c0b6800c6ecb
Code:
-- The portion that records the CFrames for the replays to run off of rec = game:GetService("RunService").RenderStepped:Connect(function() for i, v in pairs(game.Players:GetPlayers()) do if v.Character then if rep[v.Name] == nil then rep[v.Name] = {} end for c, d in pairs(v.Character:GetDescendants()) do if d:IsA("BasePart") then rep[v.Name][d.Name] = {} rep[v.Name][d.Name][tick()] = d.CFrame if not rep[v.Name][d.Name].Object then rep[v.Name][d.Name].Object = d if not d.Archivable then d.Archivable = true end rep[v.Name][d.Name].Clone = d:Clone() rep[v.Name][d.Name].Clone.Name = rep[v.Name][d.Name].Clone.Name.."REPLAY" for a, b in pairs(rep[v.Name][d.Name].Clone:GetChildren()) do if not b:IsA("DataModelMesh") then b:Destroy() end end rep[v.Name][d.Name].Clone.CFrame = d.CFrame end end end end end rep["Puck"][tick()] = workspace.ball.ball.CFrame count = count + 1 if count >= 200 then ed = tick() rec:Disconnect() end end) -- The Replay Portion local ti = start local cache = {} while ti < ed do ti = ti + game:GetService("RunService").RenderStepped:Wait() spawn(function() for i, v in pairs(rep) do if i == "Puck" then continue end for c, d in pairs(v) do if d.Clone.Parent ~= workspace then d.Clone.Parent = workspace end local cf = d.Clone.CFrame for p, q in pairs(d) do if typeof(q) == "CFrame" then cache[d.Clone] = cache[d.Clone] or {} if ti >= p and not cache[d.Clone][q] then cache[d.Clone][q] = true cf = q break end end end TS:Create(d.Clone,TweenInfo.new(1/60),{CFrame = cf}) end end end) end