There’s not enough context here. What about your script doesn’t work and are you able to pinpoint where the issue happens in your code? What steps do you commit to before the issue occurs? Is there anything in your console? What debugging have you done so far? Please supply context.
Besides lack of context, there are some particularly wrong-seeming choices and other nitpicks I have about the code I’d like to note:
-
LocalScript is polling the value of Equip for some reason. If event-based programming is staring you in the face please use it instead of loops. BoolValues have a Changed event that you should connect to so that you can toggle the night vision’s effect.
-
wait() is/will be superseded by task.wait(). wait() will be deprecated eventually but will continue to work; task.wait() is encouraged for use with new code.
-
Set properties (that includes children) first before a parent.