You can only detect a click of an ImageButton locally I’m pretty sure, so it’s the same way, there isn’t a way for you to get a click of a GUI element from the server.
I have a system where the person clicks on a thing called a “checker” that takes up the PC and prevents others from using it. By occupying it, the PC would become available and options would become available. There is this problem, one of the options is an imagebutton and I wanted to make a way that only the player could use it, then comes the script checking if the player has the same name as the stringvalue.
Put the surfacegui in startergui but set the “adornee” value to the computer screen. This will allow you to use local scripts, as you have a client-side surfacegui.
Forgot that I have another thing that benefits this, I have other thing that makes sure the PC is locked to the only one player. As the Gui doesnt exist (yet), it wouldnt be able to interact to the gui himself (So the options of it, be availaby for the only one player)