The weird thing is it worked before so I don't know why it stopped all of a sudden.
This is my entire script in the Tool of an enemy NPC. It will print out their health, but for some reason, will never run HealthChanged. I have no idea why.
local Character = script.Parent.Parent local Humanoid = Character:WaitForChild('Enemy') print("HUMANOID HEALTH: ", Humanoid.Health) Humanoid.HealthChanged:Connect(function(health) print("HEALTH CHANGED") end)
If you are detecting those changes on a server script and you are changing the values on a local script then it will not replicate to the server, thats becuase of FE. FE has made games very secure against hackers, though some would argue it wasnt the best way to handle it. FE has broken a lot of classic games and can be difficult to work with for some people, however once you get used to it, it's advantages outweigh the challenges. This is why when you use a server script to do those changes it actually works.