Ameno__GodOH

dummycontrol

Nov 7th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  2. local RunService = game:GetService("RunService")
  3. local Players = game:GetService("Players")
  4. local Player = Players.LocalPlayer
  5.  
  6. local Camera = workspace.CurrentCamera
  7. local Character = Player.Character or Player.CharacterAdded:Wait()
  8. local RootPart1 = Character:WaitForChild("HumanoidRootPart")
  9.  
  10. local _Position = CFrame.new(0, -17, 0) * CFrame.Angles(math.rad(-90), 0, 0)
  11.  
  12. local function Control(NewCharacter)
  13. local function SetSimulationRadius()
  14. pcall(sethiddenproperty, Player, "SimulationRadius", math.huge)
  15. end
  16.  
  17. -- Executa SetSimulationRadius continuamente para manter controle do Dummy
  18. RunService.Heartbeat:Connect(SetSimulationRadius)
  19.  
  20. local Void = workspace.FallenPartsDestroyHeight
  21. Character.Archivable = true
  22.  
  23. for _, Part in ipairs(Character:GetDescendants()) do
  24. if Part:IsA("BasePart") then
  25. Part.CanCollide = false
  26. end
  27. end
  28.  
  29. Player.Character = NewCharacter
  30. Camera.CameraSubject = NewCharacter
  31.  
  32. local RootPart2 = NewCharacter:WaitForChild("HumanoidRootPart")
  33.  
  34. local function Respawn()
  35. Camera.CameraSubject = Character
  36. Player.Character = Character
  37. task.wait(0.1)
  38. Character:WaitForChild("Humanoid").Health = 0
  39. NewCharacter.Parent = nil
  40. end
  41.  
  42. local SteppedConnection
  43. SteppedConnection = RunService.Stepped:Connect(function()
  44. if not RootPart1 then
  45. return SteppedConnection:Disconnect()
  46. end
  47.  
  48. local IsInteger = tostring(Void):find("-") or false
  49. local Position = RootPart1.Position
  50.  
  51. if IsInteger and (Position.Y <= Void) or not IsInteger and (Position.Y >= Void) then
  52. SteppedConnection:Disconnect()
  53. Respawn()
  54. end
  55. end)
  56.  
  57. local RenderSteppedConnection
  58. RenderSteppedConnection = RunService.RenderStepped:Connect(function()
  59. if not RootPart1 or not RootPart2 then
  60. return RenderSteppedConnection:Disconnect()
  61. end
  62.  
  63. RootPart1.CFrame = RootPart2.CFrame * _Position
  64. end)
  65.  
  66. NewCharacter:WaitForChild("Humanoid").Died:Once(Respawn)
  67. end
  68.  
  69. local TouchedConnection
  70. TouchedConnection = RootPart1.Touched:Connect(function(Part)
  71. local Target = Part.Parent
  72. if Target:IsA("Model") and Target.Name == "Menacing Dummy" and Target:FindFirstChild("Humanoid") then
  73. TouchedConnection:Disconnect() -- Desconecta o evento Touched para evitar repetição
  74. Control(Target)
  75. end
  76. end)
Advertisement
Add Comment
Please, Sign In to add comment