Problem with binding event dispatcher

Hello everyone, i have this problem. I’m doing a puzzle where 4 small pillars have to show the correct face to one big central pillar, when every pillar is showing the correct face to the central pillar a wall should come down to reveal the prize

I made this blueprint for the small pillars using enums, in which i check for the rotation, if it’s correct i change the enum and then i make a call to the event dispatcher

Then, inside the wall blueprint i try to bind the beginplay event to the event dispatcher of the pillars, but all that i get is an error

I’m stuck, i have no idea what could i do

1 Like

It’s because you’re trying to join the begin play event, which won’t be available when the binding is called.

Nevertheless, a dispatcher is not what you need here.

It would be, if you wanted the central pillar to call an event on all the other pillars simultaneously. But that’s not the case here.

What would work better, is when a pillar is rotated correctly, it calls the central pillar to tell it. The central pillar just holds a bool array. When it gets a correct rotation message, and the array is all true, open the door / wall. Each surrounding pillar has an ID, which is it’s index in the bool array.

You can do this with direct blueprint communication ( which would mean the pillars would have a reference to the central pillar ), or you can use an interface ( which would mean, the surrounding pillars don’t know the type of the central pillar, better… :slight_smile: )

The problem is, the central pillar is not a single BP but it’s a cube and on every surface there is anoter object which is a hint for what face you have to show to that surface

1 Like

It would be easier if you make it a BP.

You need a central BP to figure out if the puzzle is solved. You can’t do it with the pillars alone…

Or, you can just make a central BP the player can’t see to do the calculation, but then you have to tell it what’s happening with the cube :slight_smile: ( what is on each face etc ).

pillars

So the interface only has this

and the center pillar has

The outer pillars have to figure out if they have been rotated correctly, and then call the interface