Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local RunService = game:GetService("RunService")
- local Players = game:GetService("Players")
- local Player = Players.LocalPlayer
- local Camera = workspace.CurrentCamera
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local RootPart1 = Character:WaitForChild("HumanoidRootPart")
- local _Position = CFrame.new(0, -17, 0) * CFrame.Angles(math.rad(-90), 0, 0)
- local function Control(NewCharacter)
- local function SetSimulationRadius()
- pcall(sethiddenproperty, Player, "SimulationRadius", math.huge)
- end
- -- Executa SetSimulationRadius continuamente para manter controle do Dummy
- RunService.Heartbeat:Connect(SetSimulationRadius)
- local Void = workspace.FallenPartsDestroyHeight
- Character.Archivable = true
- for _, Part in ipairs(Character:GetDescendants()) do
- if Part:IsA("BasePart") then
- Part.CanCollide = false
- end
- end
- Player.Character = NewCharacter
- Camera.CameraSubject = NewCharacter
- local RootPart2 = NewCharacter:WaitForChild("HumanoidRootPart")
- local function Respawn()
- Camera.CameraSubject = Character
- Player.Character = Character
- task.wait(0.1)
- Character:WaitForChild("Humanoid").Health = 0
- NewCharacter.Parent = nil
- end
- local SteppedConnection
- SteppedConnection = RunService.Stepped:Connect(function()
- if not RootPart1 then
- return SteppedConnection:Disconnect()
- end
- local IsInteger = tostring(Void):find("-") or false
- local Position = RootPart1.Position
- if IsInteger and (Position.Y <= Void) or not IsInteger and (Position.Y >= Void) then
- SteppedConnection:Disconnect()
- Respawn()
- end
- end)
- local RenderSteppedConnection
- RenderSteppedConnection = RunService.RenderStepped:Connect(function()
- if not RootPart1 or not RootPart2 then
- return RenderSteppedConnection:Disconnect()
- end
- RootPart1.CFrame = RootPart2.CFrame * _Position
- end)
- NewCharacter:WaitForChild("Humanoid").Died:Once(Respawn)
- end
- local TouchedConnection
- TouchedConnection = RootPart1.Touched:Connect(function(Part)
- local Target = Part.Parent
- if Target:IsA("Model") and Target.Name == "Menacing Dummy" and Target:FindFirstChild("Humanoid") then
- TouchedConnection:Disconnect() -- Desconecta o evento Touched para evitar repetição
- Control(Target)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment