Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | Katso |
Im using The Dialogic Add-on in Godot and when i try to end the dialog timeline i get the error code: Invalid get index ‘end_idx’ (on base: ‘Dictionary’).
This error code is in the DialogNode.gd script
This is a section of the function that holds the error:
func _load_event():
# Updates whether the event is the last text box
if dialog_index + 1 >= dialog_script['events'].size():
is_last_text = true
else:
# Get next event
var next_event = dialog_script['events'][dialog_index + 1]
# If next event is Text Event, is_last_text is false
if next_event['event_id'] == "dialogic_001":
is_last_text = false
# Else, if next event is End Branch, set is_last_text to whether the next after exceeds the size of events.
elif 'end_branch_of' in next_event:
is_last_text = dialog_index + 2 >= dialog_script['events'].size()
# Else, if next event is Choice (and current event is not a Question)
elif 'choice' in next_event and not 'options' in dialog_script['events'][dialog_index]:
# Get Question
var index_in_questions = next_event['question_idx']
var question = questions[index_in_questions]
var index_in_events = dialog_script['events'].rfind(question, dialog_index)
var end_index = question["end_idx"] #this is the code that is broken
is_last_text = end_index + 1 >= dialog_script['events'].size()
_emit_timeline_signals()
_hide_definition_popup()
if dialog_script.has('events'):
if not _is_dialog_finished():
# CHECK IF NECESSARY!
var func_state = event_handler(dialog_script['events'][dialog_index])
#if (func_state is GDScriptFunctionState):
# print(func_state)
# yield(func_state, "completed")
elif not Engine.is_editor_hint():
# If setting 'Don't Close After Last Event' is not checked, free it.
if not current_theme.get_value('settings', 'dont_close_after_last_event', false):
queue_free()
im using version v3.5.2.stable.official [170ba337a]
Edited to fix forum code formatting…
jgodfrey | 2023-06-01 19:06