local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local plr = Players.LocalPlayer
local AntiFlingEnabled = false
local function setCanCollideOfModelDescendants(model, bval)
if not model then return end
for _, v in pairs(model:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = bval
end
end
end
for _, v in pairs(Players:GetPlayers()) do
if v ~= Players.LocalPlayer then
RunService.Stepped:Connect(function()
if not AntiFlingEnabled then return end
setCanCollideOfModelDescendants(v.Character, false)
end)
end
end
Players.PlayerAdded:Connect(function(plr)
RunService.Stepped:Connect(function()
if not AntiFlingEnabled then return end
setCanCollideOfModelDescendants(plr.Character, false)
end)
end)
local gui = Instance.new("ScreenGui", game:GetService("CoreGui"))
gui.Name = "Aura!"
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 150, 0, 50)
frame.Position = UDim2.new(0.5, -75, 0.5, -25)
frame.BackgroundColor3 = Color3.new(0, 0, 0)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
local uiCorner = Instance.new("UICorner", frame)
uiCorner.CornerRadius = UDim.new(0, 8)
local uiStroke = Instance.new("UIStroke", frame)
uiStroke.Color = Color3.new(1, 1, 1)
uiStroke.Thickness = 2
local textBox = Instance.new("TextBox", frame)
textBox.Size = UDim2.new(0.8, 0, 0.6, 0)
textBox.Position = UDim2.new(0.1, 0, 0.2, 0)
textBox.BackgroundTransparency = 1
textBox.TextColor3 = Color3.new(1, 1, 1)
textBox.Text = "5"
textBox.TextWrapped = true
textBox.ClearTextOnFocus = false
local dragDetector = Instance.new("UIDragDetector", frame)
local visualizer = Instance.new("Part")
visualizer.Name = "ReachSphere"
visualizer.BrickColor = BrickColor.Red()
visualizer.Transparency = 0.6
visualizer.Anchored = true
visualizer.CanCollide = false
visualizer.Shape = Enum.PartType.Ball
visualizer.Material = Enum.Material.ForceField
visualizer.BottomSurface = Enum.SurfaceType.Smooth
visualizer.TopSurface = Enum.SurfaceType.Smooth
visualizer.CastShadow = false
visualizer.Parent = workspace
local function updateSphereSize(reach)
visualizer.Size = Vector3.new(reach, reach, reach)
end
local function toggleAntiFling(state)
AntiFlingEnabled = state
if not state then
for _, v in pairs(Players:GetPlayers()) do
if v ~= plr then
setCanCollideOfModelDescendants(v.Character, true)
end
end
end
end
game:GetService("RunService").RenderStepped:Connect(function()
local tool = plr.Character and plr.Character:FindFirstChildOfClass("Tool")
local handle = tool and (tool:FindFirstChild("Handle") or tool:FindFirstChildOfClass("BasePart"))
local camera = workspace.CurrentCamera
if handle then
visualizer.Parent = workspace
local reach = tonumber(textBox.Text) or 5
visualizer.CFrame = handle.CFrame
updateSphereSize(reach)
if not AntiFlingEnabled then
toggleAntiFling(true)
end
for _, v in pairs(Players:GetPlayers()) do
if v ~= plr and v.Character then
local hrp = v.Character:FindFirstChild("HumanoidRootPart")
if hrp and (hrp.Position - handle.Position).Magnitude <= reach then
local heightOffset = 1.5
local lookVector = (hrp.Position - plr.Character.HumanoidRootPart.Position).Unit
hrp.CFrame = CFrame.new(
handle.Position + Vector3.new(0, heightOffset, 0),
handle.Position + Vector3.new(0, heightOffset, 0) + lookVector
)
end
end
end
else
visualizer.Parent = nil
if AntiFlingEnabled then
toggleAntiFling(false)
end
end
end)
textBox:GetPropertyChangedSignal("Text"):Connect(function()
local reach = tonumber(textBox.Text)
if reach then
updateSphereSize(reach)
end
end)