Yeah, I have noticed that on the second you clicked, the Position property of the Functions frame didn’t change. It seems like the method TweenPosition didn’t register at all.
The problem might be you have too many wait. I would suggest tweening the ImageTransparency using TweenService.
Sorry, what changes should I make and where should I make them exactly? Not sure what much of this means, I have very little experience with programming.
I just noticed this, but why are you using a server script for tweening (entering)? It is recommended to tween GUIs using local script. It may not be related to your issue, but maybe switch to a local script?
Oh I think I know why now. It’s because of how two different unique script controls the UI.
In the server, you tweened the Functions frame to the position (0, 150, 0 ,0) which would replicate to all clients to change their UI.
In the client, you tweened the Functions frame back to the original position (0, 0, 0, 0), but the server sees that it is not in the position (0, 0, 0, 0).
The reason why it doesn’t tween the second time is because the server sees that the Functions frame is not back to its position (0, 0, 0, 0), so it doesn’t tell the client to change anything.