local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local lp = Players.LocalPlayer
local detectionRange = 490
local checkDelay = 0.1
local safeNudge = Vector3.new(0.25, 0, 0.25)
local notifyCooldown = 6
local healRate = 10 -- Amount healed per tick
local healDelay = 0.1 -- Delay between each regen tick
local recentAttackers = {}
local canMove = true
local function waitForCharacter()
lp.CharacterAdded:Wait()
lp.Character:WaitForChild("HumanoidRootPart")
lp.Character:WaitForChild("Humanoid")
end
if not lp.Character then waitForCharacter() end
local char = lp.Character
local hrp = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")
function isDangerousTool(tool)
local dangerNames = {"Mace", "Pencil", "Knife", "Blade", "Hammer"}
for _, word in pairs(dangerNames) do
if tool.Name:lower():find(word:lower()) then
return true
end
end
return false
end
function notifyOnce(player)
local name = player.Name
if recentAttackers[name] then return end
recentAttackers[name] = true
pcall(function()
local thumb = Players:GetUserThumbnailAsync(player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size100x100)
StarterGui:SetCore("SendNotification", {
Title = "⚠️ Aura Warning",
Text = player.DisplayName .. " (@" .. player.Name .. ") is targeting you!",
Icon = thumb,
Duration = 3
})
end)
task.delay(notifyCooldown, function()
recentAttackers[name] = nil
end)
end
function checkAura()
if not lp.Character or not lp.Character:FindFirstChild("HumanoidRootPart") then return end
hrp = lp.Character.HumanoidRootPart
for _, p in ipairs(Players:GetPlayers()) do
if p ~= lp and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local theirHRP = p.Character.HumanoidRootPart
local distance = (theirHRP.Position - hrp.Position).Magnitude
if distance <= detectionRange then
local tool = p.Character:FindFirstChildOfClass("Tool")
if tool and isDangerousTool(tool) then
notifyOnce(p)
if canMove then
canMove = false
local newPos = hrp.Position + safeNudge
hrp.CFrame = CFrame.new(newPos, newPos + hrp.CFrame.LookVector)
task.delay(0.2, function() canMove = true end)
end
end
end
end
end
end
-- Fast health regen loop
task.spawn(function()
while true do
task.wait(healDelay)
if lp.Character and lp.Character:FindFirstChild("Humanoid") then
local h = lp.Character:FindFirstChild("Humanoid")
if h.Health < h.MaxHealth then
h.Health = math.min(h.Health + healRate, h.MaxHealth)
end
end
end
end)
-- Handle respawn
Players.LocalPlayer.CharacterAdded:Connect(function(newChar)
char = newChar
hrp = char:WaitForChild("HumanoidRootPart")
hum = char:WaitForChild("Humanoid")
end)
-- Main loop
while true do
task.wait(checkDelay)
checkAura()
end






Grant Ninja has been a game changer for organizations looking to navigate the complexities of R&D funding. Their consultants clearly understand how to align research goals with grant criteria. I appreciate how they tailor each application for maximum impact. It's rare to find such a hands-on approach in grant consulting. For anyone serious about securing R&D funding, they are definitely worth reaching out to.
J’ai récemment découvert Swanson Reed | conseillers spécialisés en crédit d’impôt recherche en France, et je dois dire que leur accompagnement m’a impressionné. Ils expliquent clairement chaque étape du processus CIR, ce qui facilite grandement la gestion administrative. Une vraie valeur ajoutée pour les entreprises innovantes cherchant à croître efficacement.