dialogic-godot / dialogic

💬 Create Dialogs, Visual Novels, RPGs, and manage Characters with Godot to create your Game!
https://dialogic.pro
MIT License
3.42k stars 206 forks source link

Dialogic crashes exports #898

Closed NILL2021 closed 1 year ago

NILL2021 commented 2 years ago

The problem

Describe the bug When running an exported version of my game, dialogic crashes it with this error message:

SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'.
          at: _process (res://addons/dialogic/Nodes/DialogNode.gdc:424)

This doesn't happen when running from the editor.

To Reproduce Steps to reproduce the behavior: I don't know how I did it so I can't show you how.

Expected behavior I expect dialogue to show up when I start my game

Screenshots Screenshot 2022-05-16 204614

System (please complete the following information):

Solutions

I don't know

Workaround

A delay before adding dialogic as a child, this didn't work

Possible fixes I have no idea :/

zaknafean commented 2 years ago

Is this an export to android by chance? Either way I believe this is a known issue, and the fix is currently in main branch. Try downloading that and see if the error persists.

NILL2021 commented 2 years ago

Is this an export to android by chance? Either way I believe this is a known issue, and the fix is currently in main branch. Try downloading that and see if the error persists.

Okay thanks, and no,this is a windows export

NILL2021 commented 2 years ago

Is this an export to android by chance? Either way I believe this is a known issue, and the fix is currently in main branch. Try downloading that and see if the error persists.

Okay thanks, and no,this is a windows export

NILL2021 commented 2 years ago

I tried that, but the problem is still there. I now get this errors:

**SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'.
          at: parse_alignment (res://addons/dialogic/Parser/DialogicParser.gdc:178)
SCRIPT ERROR: Invalid type in function 'parse_definitions' in base 'GDScript'. Cannot convert argument 2 from Nil to String.
          at: update_text (res://addons/dialogic/Nodes/DialogNode.gdc:1036)
SCRIPT ERROR: Invalid get index 'waiting' (on base: 'Dictionary').
          at: play_audio (res://addons/dialogic/Nodes/DialogNode.gdc:392)
**
matiwierzba commented 2 years ago

Repro (I guess it's the same issue?) on Windows 10, Godot 3.4.2, Dialogic 1.4.1:

[D] An error occurred when trying to access the custom event folder. SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: resize_main (res://addons/dialogic/Nodes/DialogNode.gdc:210) SCRIPT ERROR: Invalid call. Nonexistent function 'get_children' in base 'Nil'. at: clear_options (res://addons/dialogic/Nodes/DialogNode.gdc:1062) SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: fade_in_dialog (res://addons/dialogic/Nodes/DialogNode.gdc:1386) SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: update_name (res://addons/dialogic/Nodes/DialogNode.gdc:1015)

I tried exporting the game both to HTML and Windows. It crashes as soon as I try instantiate any dialog with Dialogic.

zaknafean commented 2 years ago

Repro (I guess it's the same issue?) on Windows 10, Godot 3.4.2, Dialogic 1.4.1:

[D] An error occurred when trying to access the custom event folder. SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: resize_main (res://addons/dialogic/Nodes/DialogNode.gdc:210) SCRIPT ERROR: Invalid call. Nonexistent function 'get_children' in base 'Nil'. at: clear_options (res://addons/dialogic/Nodes/DialogNode.gdc:1062) SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: fade_in_dialog (res://addons/dialogic/Nodes/DialogNode.gdc:1386) SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: update_name (res://addons/dialogic/Nodes/DialogNode.gdc:1015)

I tried exporting the game both to HTML and Windows. It crashes as soon as I try instantiate any dialog with Dialogic.

Can you try using the main branch from git hub (our 1.4.2) release candidate, and see if you get the same issue?

matiwierzba commented 2 years ago

Thanks, I just tried that! Now the game doesn't crash, but I get this error:

[D] An error occurred when trying to access the custom event folder. SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: resize_main (res://addons/dialogic/Nodes/DialogNode.gdc:214) SCRIPT ERROR: Invalid call. Nonexistent function 'get_children' in base 'Nil'. at: clear_options (res://addons/dialogic/Nodes/DialogNode.gdc:1073) SCRIPT ERROR: Invalid call. Nonexistent function 'get_value' in base 'Nil'. at: fade_in_dialog (res://addons/dialogic/Nodes/DialogNode.gdc:1400)

The dialog spawns, but it seems that at first it's invisible - I need to press an action button, and only then it fades in, simultaneously skipping from the first line to the second one.

zaknafean commented 2 years ago

Can you screen shot the start of the timeline in question if you have a moment?

matiwierzba commented 2 years ago

I tried it with two different timelines with the same result, here they are:

obraz obraz

zaknafean commented 2 years ago

And just to verify, this doesn't happen in the editor. Only on export?

matiwierzba commented 2 years ago

That's right

zaknafean commented 2 years ago

I have a hunch... are both those characters using the same theme? Or are you only using the default theme? Or did you edit the default theme and are using the edited theme for those characters?

matiwierzba commented 2 years ago

Yeah, the last one. I edited the default theme. Using a completely new theme should solve it?

zaknafean commented 2 years ago

I'm thinking it might. We get some WEIRD issues with the default theme. Give it a try and report back if you wouldn't mind.

matiwierzba commented 2 years ago

Still the same - I created a new theme and assigned it to both characters, but I'm getting the same error as previously and I still need to press a button to make the dialog actually appear.

zaknafean commented 2 years ago

More for my own notes than anything else as this isn't actionable...

It appears that the current_theme isn't being set on time. I can't currently recreate the issue, but its clearly affecting a bunch of our users.

@matiwierzba Is there any further stack trace you could share on the issue, or is that it?

matiwierzba commented 2 years ago

Nope, that's it. Thanks for your efforts!

matiwierzba commented 2 years ago

Hello again! I stumbled upon a solution for this problem, maybe it will work for others as well. In Dialogic settings I had the "default theme" still set as the default theme (I know how it sounds but I think you know what I mean). None of my characters were using it, but after I changed the default theme in the settings to an entirely new theme the issues disappeared completely, both on Windows and in the web version

kakurokan commented 2 years ago

Hello again! I stumbled upon a solution for this problem, maybe it will work for others as well. In Dialogic settings I had the "default theme" still set as the default theme (I know how it sounds but I think you know what I mean). None of my characters were using it, but after I changed the default theme in the settings to an entirely new theme the issues disappeared completely, both on Windows and in the web version

This saved my life, thank you.

coppolaemilio commented 1 year ago

Is this closeable?

zaknafean commented 1 year ago

Gotta make the actual fix. Open for now will have it worked out this week.

On Sat, Jun 18, 2022, 6:46 PM Emi @.***> wrote:

Is this closeable?

— Reply to this email directly, view it on GitHub https://github.com/coppolaemilio/dialogic/issues/898#issuecomment-1159577338, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3CCZMH3E5DOCJIXGJA7WDVPZGU3ANCNFSM5WCSFZMA . You are receiving this because you commented.Message ID: @.***>

zaknafean commented 1 year ago

This and its dupes should be fixed with #978