This script is made to handle multiple players fighting a Mob, but it's not working. they are just moving around and around in circles. Please help.
Code:
local UpdatePosition = 0.2 --How long it takes target the next humanoid
local DamageTime = 3 --How long it takes for the enemy to attack again
local Damage = 30 --How much damage the enemy does
--Advanced Config
local AgroDist = 100 --The amount of studs that the enemy can find you at
local HitBox = script.Parent.HitBox --Change to the part that it has to touch to deal damage (example: script.Parent.Head, script.Parent.LeftArm. Make sure it's not the rootpart though)
-- Do not edit the below unless you know what you are doing
local Player = game.Players.LocalPlayer
local enhum = script.Parent.Enemy
local ddb = false
local character
local ClosestMagnitude
local ClosestMagnitudeObject
-- This is the real script. Only edit if you know what you are doing
function Update(UpdTime)
for _, v in pairs(game.Workspace:GetChildren()) do
if v:FindFirstChild("Humanoid") then
if ClosestMagnitude and ClosestMagnitudeObject and not ddb then
ddb = true
character = v
if (character.Humanoid.RootPart.Position - enhum.RootPart.Position).Magnitude < ClosestMagnitude and (character.Humanoid.RootPart.Position - enhum.RootPart.Position).Magnitude <= AgroDist then
if ClosestMagnitudeObject and ClosestMagnitudeObject.Humanoid and ClosestMagnitude["Humanoid"].RootPart then
if (character.Humanoid.RootPart.Position - ClosestMagnitudeObject.Humanoid.RootPart.Position).Magnitude <= ClosestMagnitude then
wait(UpdTime)
ddb = false
ClosestMagnitudeObject = v
ClosestMagnitude = (character.Humanoid.RootPart.Position - enhum.RootPart.Position).Magnitude
enhum:MoveTo(v.Humanoid.RootPart.Position)
end
end
end
elseif not ddb then
ddb = true
character = v
if (character.Humanoid.RootPart.Position - enhum.RootPart.Position).Magnitude <= AgroDist then
wait(UpdTime)
ddb = false
ClosestMagnitude = (character.Humanoid.RootPart.Position - enhum.RootPart.Position).Magnitude
enhum:MoveTo(v.Humanoid.RootPart.Position)
end
end
end
end
end
while wait() do
Update(UpdatePosition)
end
Please help!
