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!