Attempted:
local SHOW_WAYPOINTS = true
no change
waypoints = nil
no change
removing
path.Blocked:Connect
no change
local function createNewPath()
local path = PathfindingService:CreatePath()
path:ComputeAsync(...)
no change
path:Destroy()
no change
local path = PathfindingService:FindPathAsync
no change
Added the following to the Spawner script prior to the loop that does Zombie:Clone:
local PhysicsService = game:GetService("PhysicsService")
PhysicsService:CreateCollisionGroup("NPC")
PhysicsService:CollisionGroupSetCollidable("NPC","NPC",false)
for i, v in pairs(game.ReplicatedStorage.Zombie:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v, "NPC")
end
end
no change although the zombies did stop running into each other.
This is showing a LOT of promise as being the fix. It was proposed to address another path finding issue in a different thread. When I first came across it I overlooked it as I didn’t see how it could be relevant. Mostly because I still do not understand what it does and how it could possibly be the root cause of my issue. It has easily run 15x times as long as it normally takes to stall a NPC. I may run it all night to see if it is still healthy in the morning.
for i, v in pairs(zombie:GetChildren()) do
if v:IsA("BasePart") then
v:SetNetworkOwner(nil)
end
end
Does anyone know what the above does and why it would address my issue?
Solution was presented in a different path finding thread by @IronRobotStudios here:
And the physics preventing NPCs from colliding and also solution by @IAmPinleon here:
I probably spent 15hours on this stupid bug only to have it fixed in a way had nothing to do with my code! ![]()