Ok so you need the NPC to execute the wanted level. The NPC is server side (not a part of the player). Players (client side) are stopped from being able to talk to the server, EXCEPT through remote events, or things like replicated storage.
So If the NPC dies, it then changes a variable somewhere that is the “WantedLevel” I would use and intValue object and then anything can access that variable and react apropriately. But if you have a script that handles all the variables, you may need to use that binding thing.
Anyway Server now knows Wanted is active. It then sends a message to the StartGui saying “Wanted Level is now 2.” So the Player (local script inside the starter gui or starterscripts) then goes. “Oh ok. I’ve been told. I will now change the transparency of my image.”
Point being, you really should keep them separate and have them Tell each other only the important information.
Aditionally, you want to have your Image in the Gui where the local script is that handles the remote event. That way you just have
local WantedLevel = script.Parent.wanted1
That way, you don’t need to know where it is or anything. The wanted Gui will handle itself without any other hassles.
Alternatively, if you are a script based coder you will need to tell the script where everything is in relation to the script. I don’t do this. I tend to have each object handle itself and communicate any needed information to other objects.
It’s like a bunch of people working together each handling their own thing, rather than like one big super computer doing the work of like 20 people.
So in the end, just make the Wanted Level Gui wait for the remote event and when it gets it, it just changes the transparency.
The NPC when it dies, either tells the Gui to show the wanted level, or it tells the main script (through like and IntValue) that the wanted level is rising. That way the main script can determine when to trigger the next level of the wanted level.