Hi, my previous question was inaccurate so here is the accurate one. My dinosaur NPC DOES follow other models with humanoids but not players with humanoids. If I make a brick and insert a humanoid into that brick then the Dinosaur moves to that humanoid but whenever a player goes near it the dinosaur just ignores the player. So it will follow other parts and models with humanoids but not players. Does anyone know how to fix this and make it the other way around (follows players but not models)? Or if you can't make it ignore models then can anyone at least tell me how to make it follow players too? Here is the script, comment below if you have any questions before you can answer: NOTE: Rex is the name of the dinosaur's Humanoid
local larm = script.Parent:FindFirstChild("Left Arm") local rarm = script.Parent:FindFirstChild("Right Arm") local mouth = script.Parent:FindFirstChild("Jaw") while wait() do function findNearestTorso(pos) local list = game.Workspace:children() local torso = nil local dist = 1000 local temp = nil local human = nil local temp2 = nil for x = 1, #list do temp2 = list[x] if (temp2.className == "Model") and (temp2 ~= script.Parent) then temp = temp2:findFirstChild("Torso") human = temp2:findFirstChild("Humanoid") if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then if (temp.Position - pos).magnitude < dist then torso = temp dist = (temp.Position - pos).magnitude end end end end return torso end function Hit(hit) local human = hit.Parent:FindFirstChild("Humanoid") if human ~= nil then human.Health = human.Health -10 wait(0.001) script.Parent.Head.Sound5:Stop() script.Parent.Head.Sound6:Stop() script.Parent.Head.Sound9:Stop() script.Parent.Head.Sound10:Stop() script.Parent.Head.Sound8:Play() script.Parent.Head.Sound2:Play() script.Parent.Rex.WalkSpeed = 0 script.Parent.Torso.Neck.DesiredAngle = 0 script.Parent.Head.JawJoint.DesiredAngle = 0 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.1 script.Parent.Head.JawJoint.DesiredAngle = 0.1 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.2 script.Parent.Head.JawJoint.DesiredAngle = 0.2 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.3 script.Parent.Head.JawJoint.DesiredAngle = 0.3 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.4 script.Parent.Head.JawJoint.DesiredAngle = 0.4 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.5 script.Parent.Head.JawJoint.DesiredAngle = 0.5 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.7 script.Parent.Head.JawJoint.DesiredAngle = 0.7 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.9 script.Parent.Head.JawJoint.DesiredAngle = 0.9 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 1 script.Parent.Head.JawJoint.DesiredAngle = 1 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.9 script.Parent.Head.JawJoint.DesiredAngle = 0.9 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.7 script.Parent.Head.JawJoint.DesiredAngle = 0.7 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.5 script.Parent.Head.JawJoint.DesiredAngle = 0.5 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.4 script.Parent.Head.JawJoint.DesiredAngle = 0.4 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.3 script.Parent.Head.JawJoint.DesiredAngle = 0.3 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.2 script.Parent.Head.JawJoint.DesiredAngle = 0.2 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0.1 script.Parent.Head.JawJoint.DesiredAngle = 0.1 wait(0.001) script.Parent.Torso.Neck.DesiredAngle = 0 script.Parent.Head.JawJoint.DesiredAngle = 0 script.Parent.Head.Sound7:Play() wait(0.7) script.Parent.Rex.WalkSpeed = 40 end end larm.Touched:connect(Hit) rarm.Touched:connect(Hit) mouth.Touched:connect(Hit) while true do wait(0.1) local target = findNearestTorso(script.Parent.Torso.Position) if target ~= nil then script.Parent.Rex:MoveTo(target.Position, target) end end end