the way I would do something like that is this:
Code:
# menu screen
screen charactermenu:
imagemap:
auto "characters_%s.png" #the character menu imagemap
hotspot(1, 1, 1, 1,) action [ Show('character1'), Hide('charactermenu') ] #when you click the first character, hide this screen and show their profile
hotspot(2, 2, 2, 2) action [ Show('character2'), Hide('charactermenu') ] #when you click the second character, hide this screen and show their profile
hotspot (3, 3, 3, 3) action Return #when this spot is clicked, close the menu screen and return to the game
# character screen
screen character1:
add "character1profile.png" #shows the profile image of the first character
textbutton "go back" action[ Show('charactermenu'), Hide('character1') ] #when clicked, hides this screen and shows the menu
# other character screen
screen character2:
add "character2profile.png" #shows the profile image of the second character
textbutton "go back" action[ Show('charactermenu'), Hide('character1') ] #when clicked, hides this screen and shows the menu
# actual game
label start:
"text text text"
"more text"
call charactermenu #call the character menu screen
"even more text"
to declare imagemaps, you'll want to put them inside a screen. feel free to define that screen in your script file, or have your own specific file for it, or however you want to organise it. you can either call the screen with "show" or "call". in my example, I put call, so to hide it you only need to call "return" to make it go away, but if you "show" the screen, you'll need to "hide" it when you're done with it. I hope this makes sense!