Why in the RBX Lua you have to put game.Players.LocalPlayer:WaitForChild("somegui"):WaitForChild("someframe")
for A Keydown functions instead of game.StarterGui.somegui.someframe
?
I'm not asking someone to create me a Script
StarterGui is the default storage that clones all the children of it and puts them in all of the players' PlayerGui. So, if you're editing properties of children of StarterGui, then the next time any player respawns, the changes will take effect. Kind of difficult to put it into words, but I hope you get it.
So, in a nutshell, StarterGui clones all of its children and puts them in players' PlayerGui.