You might want to edit your post to not centre the text in the [code ] window. Whilst it will copy/paste correctly, it just doesn't look right.
One more thing that made me look twice is that you have your Window_location class nested inside the Scene_Menu class. Now, nesting classes isn't a bad thing, but having it written in the middle of Scene_Menu methods doesn't aid readability - it separates the methods in Scene_Menu.
If you wanted it nested, I usually do something like this:
class A
#Class A contains nested class: NestedA
def method_a
#do something
end
def method_b
#do something else
end
class NestedA
def method_a
#do something
end
end
end
The comment after declaring 'Class A' tells me that I have a nested class in there somewhere. For me, that's going to be somewhere near the end of 'Class A'.
It does mean, however, that if you wanted to create another instance of the class 'Window_location', like in Scene_Status, you would have to go through Scene_Menu first like so:
@win_loc = Scene_Menu::Window_location.new(x, y)
You can only use '@win_loc = Window_location.new' when working within Scene_Menu already.
Nesting classes is a little like using modules to create a namespace to show that a particular class is not like another class of the same name. For example:
#Totally pointless classes
class A
class C
end
end
class B
class C
end
end
It becomes obvious that an instance of A::C is not the same thing as an instance of B::C, despite them sharing the same class name. Modules allow you to do the same (as well as another, slightly more advanced use called 'mixin'), by providing a kind of namespace for the data within. The main difference between Modules and Classes, though, is that you can create instances of Classes with the '.new' keyword, but you can't make an instance of a Module. There are other differences, but I won't keep pushing info onto you. I just wanted to point that bit out.
Other than that, it's good to see a fresh face around. Starting off small is the best way to learn how the language functions. Then you can start to make scripts to rival modern and the other good scripters here.