Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local player = game.Players.LocalPlayer
- local function createInterface()
- local character = player.Character or player.CharacterAdded:Wait()
- -- Interface Setup
- local screenGui = Instance.new("ScreenGui")
- screenGui.Parent = player:WaitForChild("PlayerGui")
- local button = Instance.new("ImageButton")
- button.Size = UDim2.new(0, 70, 0, 70)
- button.Position = UDim2.new(0.5, 160, 0, 70)
- button.Image = "rbxassetid://6256840888"
- button.BackgroundTransparency = 1
- button.LayoutOrder = 1
- button.Parent = screenGui
- local corner = Instance.new("UICorner", button)
- corner.CornerRadius = UDim.new(1, 0)
- local function createImage(parent, size, pos, image)
- local img = Instance.new("ImageLabel")
- img.Size = size
- img.Position = pos
- img.Image = image
- img.BackgroundTransparency = 1
- img.Parent = parent
- return img
- end
- local recordImage = createImage(button, UDim2.new(0.6, 0, 0.6, 0), UDim2.new(0.2, 0, 0.2, 0), "rbxassetid://91011118958267")
- recordImage.Visible = false
- local playImage = createImage(button, UDim2.new(0.6, 0, 0.6, 0), UDim2.new(0.23, 1.5, 0.2, 0), "rbxassetid://124357353573356")
- playImage.Visible = true
- -- Movement Recording
- local recording = false
- local movements = {}
- local function recordMovements()
- while recording do
- local snapshot = {}
- for _, part in ipairs(character:GetDescendants()) do
- if part:IsA("Motor6D") then
- snapshot[part.Name] = {
- C0 = part.C0,
- C1 = part.C1,
- Transform = part.Transform
- }
- elseif part:IsA("BasePart") then
- snapshot[part.Name] = {
- CFrame = part.CFrame
- }
- end
- end
- table.insert(movements, snapshot)
- task.wait()
- end
- end
- local function replayMovements()
- for i = #movements, 1, -1 do
- local snapshot = movements[i]
- for _, part in ipairs(character:GetDescendants()) do
- local data = snapshot[part.Name]
- if data then
- if part:IsA("Motor6D") then
- part.C0 = data.C0
- part.C1 = data.C1
- part.Transform = data.Transform
- elseif part:IsA("BasePart") then
- part.CFrame = data.CFrame
- end
- end
- end
- task.wait()
- end
- end
- -- Button Click
- button.MouseButton1Click:Connect(function()
- if not recording then
- recording = true
- movements = {}
- recordImage.Visible = true
- playImage.Visible = false
- task.spawn(recordMovements)
- else
- recording = false
- recordImage.Visible = false
- playImage.Visible = true
- replayMovements()
- end
- end)
- end
- player.CharacterAdded:Connect(createInterface)
- if player.Character then
- createInterface()
- end
Advertisement
Add Comment
Please, Sign In to add comment