Ameno__GodOH

revoz

Dec 20th, 2024
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. local player = game.Players.LocalPlayer
  2.  
  3. local function createInterface()
  4. local character = player.Character or player.CharacterAdded:Wait()
  5.  
  6. -- Interface Setup
  7. local screenGui = Instance.new("ScreenGui")
  8. screenGui.Parent = player:WaitForChild("PlayerGui")
  9.  
  10. local button = Instance.new("ImageButton")
  11. button.Size = UDim2.new(0, 70, 0, 70)
  12. button.Position = UDim2.new(0.5, 160, 0, 70)
  13. button.Image = "rbxassetid://6256840888"
  14. button.BackgroundTransparency = 1
  15. button.LayoutOrder = 1
  16. button.Parent = screenGui
  17.  
  18. local corner = Instance.new("UICorner", button)
  19. corner.CornerRadius = UDim.new(1, 0)
  20.  
  21. local function createImage(parent, size, pos, image)
  22. local img = Instance.new("ImageLabel")
  23. img.Size = size
  24. img.Position = pos
  25. img.Image = image
  26. img.BackgroundTransparency = 1
  27. img.Parent = parent
  28. return img
  29. end
  30.  
  31. local recordImage = createImage(button, UDim2.new(0.6, 0, 0.6, 0), UDim2.new(0.2, 0, 0.2, 0), "rbxassetid://91011118958267")
  32. recordImage.Visible = false
  33.  
  34. local playImage = createImage(button, UDim2.new(0.6, 0, 0.6, 0), UDim2.new(0.23, 1.5, 0.2, 0), "rbxassetid://124357353573356")
  35. playImage.Visible = true
  36.  
  37. -- Movement Recording
  38. local recording = false
  39. local movements = {}
  40.  
  41. local function recordMovements()
  42. while recording do
  43. local snapshot = {}
  44. for _, part in ipairs(character:GetDescendants()) do
  45. if part:IsA("Motor6D") then
  46. snapshot[part.Name] = {
  47. C0 = part.C0,
  48. C1 = part.C1,
  49. Transform = part.Transform
  50. }
  51. elseif part:IsA("BasePart") then
  52. snapshot[part.Name] = {
  53. CFrame = part.CFrame
  54. }
  55. end
  56. end
  57. table.insert(movements, snapshot)
  58. task.wait()
  59. end
  60. end
  61.  
  62. local function replayMovements()
  63. for i = #movements, 1, -1 do
  64. local snapshot = movements[i]
  65. for _, part in ipairs(character:GetDescendants()) do
  66. local data = snapshot[part.Name]
  67. if data then
  68. if part:IsA("Motor6D") then
  69. part.C0 = data.C0
  70. part.C1 = data.C1
  71. part.Transform = data.Transform
  72. elseif part:IsA("BasePart") then
  73. part.CFrame = data.CFrame
  74. end
  75. end
  76. end
  77. task.wait()
  78. end
  79. end
  80.  
  81. -- Button Click
  82. button.MouseButton1Click:Connect(function()
  83. if not recording then
  84. recording = true
  85. movements = {}
  86. recordImage.Visible = true
  87. playImage.Visible = false
  88. task.spawn(recordMovements)
  89. else
  90. recording = false
  91. recordImage.Visible = false
  92. playImage.Visible = true
  93. replayMovements()
  94. end
  95. end)
  96. end
  97.  
  98. player.CharacterAdded:Connect(createInterface)
  99. if player.Character then
  100. createInterface()
  101. end
Advertisement
Add Comment
Please, Sign In to add comment