You can't declare constants inside a method (such as
initialize); you must use
@ variables if you want your module to "see" them outside the initialize method or just declare them as constants
outside a method.
Try this one:
CODE
module Lullaby_Menu
Chara_BGS = {
1 => "Menu_Back",
2 => "Menu_Back 2",
3 => "Menu_Back 3",
}
def Lullaby_Menu.menu_character_type
if @menu_character_type.nil?
@menu_character_type = 0
end
return @menu_character_type
end
def Lullaby_Menu.menu_character_type=(value)
@menu_character_type = (value)
end
def Lullaby_Menu.menu_picture
return Chara_BGS[@menu_character_type]
end
end
I've added a method (
Lullaby_Menu.menu_picture) which gives you back the item in thehash named
Chara_BGS, which matches with the
@menu_character_type variable's value (e.g. if you want to call "Menu Back", just call
Lullaby_Menu.menu_character_type= 1. If you want to access an element of the hash, just call
Lullaby_Menu::Chara_BGS[index] where
index is the number you see on the left of the hash - commonly named
key).
Hashes are powerful instruments you should learn about, they solve a whole bunch of problems

There should actually be another method to create that module using the initialize, but I have to read some documentation before saying that for sure.
For any issue concerning this point, just reply here or send me a PM

I hope this can help,
Jens