CoiledTom

Teste

Nov 2nd, 2026
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. local Players = game:GetService("Players")
  2. local RunService = game:GetService("RunService")
  3. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  4.  
  5. local player = Players.LocalPlayer
  6.  
  7. -- Ajustes
  8. local VELOCIDADE_MAX = 60 -- studs/s legítimos (dash, queda etc.)
  9. local FOLGA = 12 -- tolerância para lag
  10. local MOSTRAR_HITBOX = true
  11. local TAMANHO = Vector3.new(4, 6, 2)
  12. local OFFSET = CFrame.new(0, 0, 0)
  13.  
  14. -- Opcional: RemoteEvent "Denuncia" em ReplicatedStorage
  15. local denuncia = ReplicatedStorage:FindFirstChild("Denuncia")
  16.  
  17. -- Hitbox visual
  18. local visual = Instance.new("Part")
  19. visual.Name = "HitboxDebug"
  20. visual.Size = TAMANHO
  21. visual.Color = Color3.fromRGB(255, 0, 0)
  22. visual.Transparency = MOSTRAR_HITBOX and 0.6 or 1
  23. visual.Anchored = true
  24. visual.CanCollide = false
  25. visual.CanQuery = false
  26. visual.CanTouch = false
  27. visual.Parent = workspace
  28.  
  29. local ultimoCFrame = nil
  30. local ultimoAviso = 0
  31.  
  32. local function proteger(character)
  33. ultimoCFrame = nil
  34. local root = character:WaitForChild("HumanoidRootPart")
  35. local humanoid = character:WaitForChild("Humanoid")
  36.  
  37. -- Se algo ancorar seu personagem, desancora
  38. root:GetPropertyChangedSignal("Anchored"):Connect(function()
  39. if root.Anchored and not character:GetAttribute("TeleportLiberado") then
  40. root.Anchored = false
  41. end
  42. end)
  43.  
  44. -- Segurança extra: impede ser sentado à força
  45. humanoid.Seated:Connect(function(ativo)
  46. if ativo and not character:GetAttribute("SentarLiberado") then
  47. humanoid.Sit = false
  48. humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  49. end
  50. end)
  51. end
  52.  
  53. RunService.Heartbeat:Connect(function(dt)
  54. local char = player.Character
  55. local root = char and char:FindFirstChild("HumanoidRootPart")
  56. local hum = char and char:FindFirstChildOfClass("Humanoid")
  57. if not root or not hum or hum.Health <= 0 then
  58. ultimoCFrame = nil
  59. return
  60. end
  61.  
  62. -- Teleporte legítimo do seu jogo: char:SetAttribute("TeleportLiberado", true) e depois false
  63. if char:GetAttribute("TeleportLiberado") then
  64. ultimoCFrame = root.CFrame
  65. return
  66. end
  67.  
  68. if ultimoCFrame then
  69. local dist = (root.Position - ultimoCFrame.Position).Magnitude
  70. if dist > VELOCIDADE_MAX * dt + FOLGA then
  71. -- Foi puxado: volta e zera a velocidade
  72. root.AssemblyLinearVelocity = Vector3.zero
  73. root.AssemblyAngularVelocity = Vector3.zero
  74. root.CFrame = ultimoCFrame
  75.  
  76. if denuncia and os.clock() - ultimoAviso > 2 then
  77. ultimoAviso = os.clock()
  78. denuncia:FireServer(dist)
  79. end
  80. return
  81. end
  82. end
  83. ultimoCFrame = root.CFrame
  84. end)
  85.  
  86. RunService.RenderStepped:Connect(function()
  87. local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  88. if root then
  89. visual.CFrame = root.CFrame * OFFSET
  90. end
  91. end)
  92.  
  93. if player.Character then proteger(player.Character) end
  94. player.CharacterAdded:Connect(proteger)
Advertisement
Add Comment
Please, Sign In to add comment