Why it works as expected without character, but with default narrator?
Screen displayed during menu interaction, so call to label happens from menu statement and test_label returns to menu statement. I believe it should work just fine, but likely there is separate code paths when menu caption spoken by narrator and by normal character. Probably when spoken by character it generate two nodes, instead on one, as result label return to menu node, not to say node.
It is not very weird combination, i placed button in say screen what will show speaker character information etc, in this screen some functionality allow to interact with some item by calling that item label. After you done with information screen you close it and game returns to exact dialog line you opened information screen. Works perfectly except one specific case, when menu is displayed.
So it is perfectly valid code with one minor glitch, nothing lethal, but looks weird when say screen disappear.
P.S.:
Try this and see it works flawlessly:
Code: Select all
default bob=Character('Bob')
label test_label:
hide screen test_screen
'Click to return to menu.\nCharacter line will not appear unless spoken by narrator.'
return
screen test_screen():
textbutton 'Click me' action Call('test_label',from_current=True) text_size 50
label start:
show screen test_screen
menu:
'Testing menu bug'
# bob 'Testing menu bug'
'Quit':
pass
return