Hello everyone,

I have been attempting to resolve this issue since this morning without success. In my script, the player is required to click on three different buttons, each initiating a dialogue. So far, there have been no issues with this part. However, when I try to start a new dialogue after all three dialogues have been completed, it doesn't work. My signals seem to be functioning correctly, as I am able to print a test message. The crash occurs only when I add Dialogic.start("intro_sister") instead of print; it then throws an 'Out of bounds get index '-1' (on base: 'Array')' error.

Thank you in advance!

Here is my code:
https://snappify.com/view/545388ec-340d-413c-ba57-6fc903567d74

func _ready():
transition.play("fade_in")
Dialogic.start("intro")
Dialogic.signal_event.connect(check_all_done)

func _on_piano_pressed():
#piano_song.play()
Dialogic.start("intro_piano")
piano_done = true
check_all_done("piano_done")

func _on_parent_picture_pressed():
Dialogic.start("intro_parent")
picture_done = true
check_all_done("picture_done")

func _on_plants_pressed():
Dialogic.start("intro_plants")
plants_done = true
check_all_done("plants_done")

func check_all_done(argument:String):
match argument:
"picture_done":
picture_done = true
"piano_done":
piano_done = true
"plants_done":
plants_done = true

if picture_done and piano_done and plants_done:
	Dialogic.start("intro_sister")

I'm facing the same issue, and I'm glad to know I'm not alone lol. I've been trying a couple of different solutions, and I'll let you know if I find one that doesn't completely fuck up dialogic.

    kykysuperfly23 Okay I just went into every instance where dialogic threw an array out of bounds exception-- they were all functions to check if the line was voiced or if it was a choice statement or something like that -- and added "index>0 and" to the first if statement in each function. Not sure if it's a long term solution yet but I'll let you know.

    Example:
    func is_question(index:int) -> bool:
    if index>0 and dialogic.current_timeline_events[index] is DialogicTextEvent:
    if len(dialogic.current_timeline_events)-1 != index:
    if dialogic.current_timeline_events[index+1] is DialogicChoiceEvent:
    return true

    if index>0 and dialogic.current_timeline_events[index] is DialogicChoiceEvent:
    	if index != 0 and dialogic.current_timeline_events[index-1] is DialogicEndBranchEvent:
    		if dialogic.current_timeline_events[dialogic.current_timeline_events[index-1].find_opening_index()] is DialogicChoiceEvent:
    			return false
    		else:
    			return true
    	else:
    		return true
    return false`

    Idk why the code markup function didn't work properly lol but that's what i did.