# speaker: # title (string) # text (string) # options: # - text (string) # click (task) tickquests_create_dialogue_task: type: task definitions: d|loc script: - spawn tickquests_text_display <[loc]> save:text - define text_entity - define title <[d.speaker.title]> - define text <[d.speaker.text]> - define lines # TITLE - define lines:->:<[title]> # TEXT - define lines:->: - define lines:->:<&[base]><[text]> - define text <[lines].separated_by[]> - adjust <[text_entity]> text:<[text]> - define line_width <[text_entity].line_width> - define height <[text].split_lines_by_width[<[line_width]>].split[].size> # OPTIONS - define lines:->: - define option_lines - foreach <[d.options]> as:opt: - define lines:->:<&[base]><[opt.text]> - define option_line <[opt.text].split_lines_by_width[<[line_width]>].split[].size> - define option_lines:->:<[option_line]> - announce "Option '<[opt.text]>' is at <[option_lines].sum.add[<[height]>]>." - define text <[lines].separated_by[]> - adjust <[text_entity]> text:<[text]> - flag <[text_entity]> dialogue:<[d]> - flag <[text_entity]> option_lines:<[option_lines]> - announce <[height]> tickquests_text_display: type: entity entity_type: text_display mechanisms: background_color: black pivot: center display: left scale: 0.7,0.7,0.7 line_width: 150 tickquests_sample_dialogue: type: data d: speaker: title: James text: Hello, I'm . This is a sample dialogue. options: ].include_single[]>