*set assigns a value to properties, you can also make *set [property] +1 to add one to numerical values, or use - to subtract. You can only *set properties that have been created. Both *create and *temp can do this, but with caveats.
*create makes it so that that property lasts throughout the whole game, but can only be done at the beginning of the game. *temp can be done anywhere. However, *temp only creates that property for the scene in question, it won’t last past that scene, and will be deleted if you leave that scene via *finish or *goto_scene.
*goto and *goto_scene function somewhat similarly. *goto tells the system to skip to wherever the label name is.
would create an infinite loop where the system is told to read starting from loop, whereupon the first command is to read starting from loop. *label is something like a pointer, it marks down locations you can use the *goto command to find, note that *goto only functions within the scene itself, so no worries if you set the same label name so long as all are in different scenes. *goto_scene instead moves you to the beginning of the scene specified. If you want to move to a specific label in the scene, use *goto [scene] [label].
I think there’s a wiki somewhere, check it out.