[Solved] External dialogue events only want to use objects from my first scene

Hello. I have a dialogue system set up as an external event sheet and it’s been working fine with my first scene. I have created a second scene that links to the dialogue system in the same way as scene one. I have a scene group called npcGroup in each scene, and I put anything in there that I want the player to talk to, and I target the items in the group to make sure the player character is facing who they’re talking to (flipped the right way) using a repeat-for-each and a variable that holds the name of the npc.

This all works fine in my first scene, but the second scene doesn’t work at all, even though I have an identical group set-up. Even if I make the group, and the objects in it, global, things just don’t work on the second scene. It’s only if I remove the repeat-for-each and any reference to the npcGroup that the dialogue system will work in my second scene. In other words, the external event sheet only wants to play ball with the scene it is associated with in the ‘Configure the external event’ setting.

Can you only target global things in an external event sheet and not identically named per scene objects? I don’t want to include my dialogue system in every scene, but that’s the only way I can think of to make it behave the way I want and correctly target scene-specific objects. Thanks for any tips you can offer.

Hiya Pixels, I just did this for a game and the way I got it to work, put the objects in a Global Group but NOT global objects. So each scene you add the objects for that specific scene into the correct Global group, which should appear empty because you don’t have global objects in it. I did not have dialogue though, just my entire game logic was an external event. Anyhoo try that.

Thanks Lucky-j. I’ll give that a try. After a little reading, it seems external events are only good for targeting objects that the external events are associated with or global objects. So if I try your method I think it should work.

K hope it works. In my case I was creating mini games with the same logic, so I needed different graphics in each scene. So by using Global Groups with scene specific objects and referencing the Global Groups in the external event, it worked just fine. I did 2 different particle emitters in each scene that I needed to spawn different images, and those I did not put in a group and they were not global, I just referenced them by name and used the exact name for them in each scene.

I always thought that objects in a global group would need to be global themselves. It almost seems like a hack that shouldn’t be allowed by the engine :smiley: but I’m glad it works. It sounds promising. I hate the idea of having 30 copies of my whole dialogue system instead, but it needs to target different graphics in each scene.

1 Like

Yeh I tell you it took me a few whiles before I figured out how to get it to work. At first I tried just creating the same group name in each scene but it would not work. And I really didn’t feel like copy pasting logic all over the place so I was determined to find a way haha.

1 Like

Hi Lucky-j. Good news: I got my external dialogue event sheet working the way I wanted today. I found that I can target scene objects from the external events in any scene if they’re in a group with the same name in each scene. I use repeat-for-each-instance with objects in those groups and it works fine. Each scene has different NPCs, and now I can target them without making them global.

I have to confess… I think the issue yesterday was that I forgot to give instance variables to the NPCs in my second scene, which broke the repeat-for-each-instance in my external events. I thought the problem was the external event’s inability to target scene objects beyond its associated scene, but I was wrong. Sorry about that :roll_eyes: Thank you for your help. Talking about it helped me to think differently and to come up with a solution. I have a much better understanding of how external events work now too, so it’s all good.

1 Like