Custom Parameter - evalute undercooking bug?

Hey,

I have two base components. When a player buzzes in and is active in the game, the custom parameter in the gameplay component called Activeplayernumber is assigned a number, representative of the player buzzer number

example - Player 1 presses the buzzer during the game, Activeplayernumber is assigned the value 1. Activeplayernumber is an int.

In the other base component called Player, I have some customer parameters such as Playernumber, Buzzed, Ingame etc. When the player buzzes into the game, - I have a toggle parameter that checks if the Playernum in the Player component is equal to the Activeplayernumber, if it is then the Toggle becomes True.

I noticed that sometimes that the code in the’ Buzzed’ toggle parameter, it would mostly active the toggle to True, but not always. It appeared to not cook all the time. This is the code:

me.par.Playernum == op.game.par.Activeplayer

When I changed the code to

op.game.par.Activeplayernumber.eval() == me.par.Playernumber.eval()

  • any issues with this sometimes not working had been fixed. It’s like it wasn’t cooking at times with the code before.

Must I always use .eval() in this use case?

Thanks

Hi. Offhand both cases should be identical, (except the left/right swapping of parameters).
Does it still work when you keep me.par.Playernumber.eval() on the left?

Did you change any other aspect of your test, for example, just examining it in the network instead of Perform Mode? Some cooking issues are hidden when examining the operators directly, as they update their output when looked at in the network.

If you want to post your network or just this part of it, I’ll run a couple tests. You can also send to ivan@derivative.ca if it’s private.

We did uncover the bug. Will be fixed in the next experimental release because it has some backwards compatibility implications.

Basically, this particular syntax comparing par to par with no eval is comparing the parameter IDs instead of their values.