Author Topic: Table balance event does not fire  (Read 118 times)

Blind Joe

  • Newbie
  • *
  • Posts: 28
    • View Profile
Table balance event does not fire
« on: September 20, 2021, 12:52:21 PM »
I've made a new event, trigger is A table balance is suggested with no conditions.

In testing, I mloaded 2 tables with players and busted them out until they became unbalanced. I expected the event to fire at the moment a player is busted from one table causing the tables to become unbalanced, in turn causing a suggested movement, but when I make thata bust nothing happens.

On the control screen the table balance switches from YES to NO, and the suggest movement turns red, which I thought meant my condition for triggering the event had been met. What am I missing?

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5993
    • View Profile
Re: Table balance event does not fire
« Reply #1 on: September 20, 2021, 01:40:38 PM »
Just tested this and it works as expected.  Usually when an event isn't firing when you think it should, often it is because another event is higher in priority and firing in its place.  But it could be a number of things.  Are there other events that could be firing instead?  Feel free to share your events template, or email it to me, if you want me to take a look.

Blind Joe

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Table balance event does not fire
« Reply #2 on: September 20, 2021, 02:21:19 PM »
Thanks Corey, as far as I can tell there is nothing above the event that takes priority. Initially one of the bust out events fired in its place, but those are below this event which seems to suggests it isn't being triggered at all. I've attached the events template for you to have a look at. Thanks again  :)

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5993
    • View Profile
Re: Table balance event does not fire
« Reply #3 on: September 20, 2021, 09:02:30 PM »
Never seen so many events!  Kudos, you've done a lot of configuration to personalize your tournaments.

So I loaded up a sample tournament that was already over.  Then I loaded your Events template.  I examined your events to find the Table Balance event, and checked out each [enabled] event above it.  Everything seems in order.  I added an Action to your Table Balance event, just to display the word "Balance" when it triggered.

I got the tournament going again by un-busting out everyone.  This immediately triggered a table balance, since everyone needed to be re-seated.  And the "Balance" action immediately displayed.  I then began busting players out of the tournament.  When a table balance occurred, I always saw the "Balance" message.  When no table balance occurred, I saw the "<player> eliminated <player>" message.  Since that event is lower priority than the Table Balance event, it only triggered when a player busted out and no table balance occurred.

I'm not sure why it doesn't appear to be working for you.  Maybe the audio file is missing or corrupt?  Of course, all the events display in red when I load your template, because I don't have any of the audio files.  Does the Table Balance event appear in red?  That would indicate the audio file is missing.

Blind Joe

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Table balance event does not fire
« Reply #4 on: September 21, 2021, 12:36:28 AM »
Never seen so many events!  Kudos, you've done a lot of configuration to personalize your tournaments.
Haha, thanks Corey  ;D  Quite a few of my tournaments have a theme (eg October = Halloween) so I like to have events on hand that compliment the theme in addition to the personalised events I have for individual player buy-ins and bust-outs, etc, so kudos to you my friend for making that possible!

Quote
So I loaded up a sample tournament that was already over.  Then I loaded your Events template.  I examined your events to find the Table Balance event, and checked out each [enabled] event above it.  Everything seems in order.  I added an Action to your Table Balance event, just to display the word "Balance" when it triggered.

I got the tournament going again by un-busting out everyone.  This immediately triggered a table balance, since everyone needed to be re-seated.  And the "Balance" action immediately displayed.  I then began busting players out of the tournament.  When a table balance occurred, I always saw the "Balance" message.  When no table balance occurred, I saw the "<player> eliminated <player>" message.  Since that event is lower priority than the Table Balance event, it only triggered when a player busted out and no table balance occurred.

I'm not sure why it doesn't appear to be working for you.  Maybe the audio file is missing or corrupt?  Of course, all the events display in red when I load your template, because I don't have any of the audio files.  Does the Table Balance event appear in red?  That would indicate the audio file is missing.
So this is strange. The audio file is definitely present and loading without issue. If I fire the event manually (right-click, "fire event now") the audio plays and the message "balance" (which I have now added for visual confirmation) displays correctly.

However, if I buy-in a bunch of players, seat them on 2 tables evenly, start the tournament then begin busting out, I only ever get the "<hitman> eliminated <player>" event(s) and never the "table balance" event, despite the latter being above the former in priority.

As mentioned before, the control screen shows the tables are unbalanced and that a player movement is being suggested, but the event just isn't triggered.  ???

I did notice something that might be playing a part in this, but I don't know. Recently I have been toggling some preferences including those around suggested movements under the behaviour section of preferences. I had "allow seating of players who have not bought in" checked, then I unchecked it, but even with it unchecked I am still able to seat players who haven't bought in. This means that as soon as I add players to the tournament TD suggests a player movement, and if I accept it, it seats players who haven't bought in. Maybe this has nothing to do with this current issue, so I'm sorry if this muddies the waters, but I did wonder if this is the correct behaviour for TD regardless.

Would it be helpful if I sent you any other files?

EDIT: it seems I might be on to something with the preferences, and it seems to be something specific to this tournament. I loaded a different tournament and then loaded my events template into that. Then I added a bunch of players to the tournament. The "suggested movement" button did not turn red. Then I bought a player in and this immediately triggered the table balance event (I'm not exactly sure why, since nobody was seated meaning the tables were technically balanced, but the important thing is the event triggered!). I modified the event with the condition "state = 2" and this successfully prevented the event from firing during the buy-in period. Once players were bought in and seated I started the tournament and started busting them out to create an imbalance... and the event triggered just as it should. Win!

One more question if I may: is there any way to have both the "table balance" event and the "bust out" event trigger without one invalidating the other? So the elimination message and sound would still play, followed by the table balance message and sound? I'm pretty sure the answer to that is no, so if that's the case I will combine the bust-out event into the table balance event as a workaround like I've done with similar scenarios, but I thought I would ask as there may be a condition I could implement that could delay the trigger, eg "a player movement is suggested" + "a player busted out 10 seconds ago" or something like that.

Thanks again for your help and your continuous hard work Corey  :)
« Last Edit: September 21, 2021, 01:14:04 AM by Blind Joe »

Blind Joe

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Table balance event does not fire
« Reply #5 on: September 22, 2021, 07:06:27 AM »
So it looks like a table balance event and a player bust out event are mutually exclusive, and they can't be consolidated into one, as I'd hoped, since both are dependent on triggers rather than conditions.

I can't incorporate the bust out event into the table balance event because without the trigger a player busts out there is no way to pull the relevant player images (busted and hitman), and vice versa, without the trigger a table balance is suggested there is no condition to add to a bust out event that would check if the tables are unbalanced.

Also, I still can't figure out why one of my tournaments doesn't trigger the table event  ???

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5993
    • View Profile
Re: Table balance event does not fire
« Reply #6 on: September 23, 2021, 10:34:47 AM »
So it looks like a table balance event and a player bust out event are mutually exclusive, and they can't be consolidated into one, as I'd hoped, since both are dependent on triggers rather than conditions.

Correct.  A table balance resulting from a player busting out basically happens at exactly the same time as the player busts out.  And two events cannot fire at the same time (if both were supposed to play an audio file, which should play?)  So yeah, unfortunately you have to decide which should fire in that situation, and move it higher in priority.

I did notice something that might be playing a part in this, but I don't know. Recently I have been toggling some preferences including those around suggested movements under the behaviour section of preferences. I had "allow seating of players who have not bought in" checked, then I unchecked it, but even with it unchecked I am still able to seat players who haven't bought in. This means that as soon as I add players to the tournament TD suggests a player movement, and if I accept it, it seats players who haven't bought in. Maybe this has nothing to do with this current issue, so I'm sorry if this muddies the waters, but I did wonder if this is the correct behaviour for TD regardless.

I am unable to reproduce this behavior.  When I have players added to the tournament but none bought-in, on the Tables tab there is a message in the Unseated Players section regarding seating players (they must be bought in, or change the setting to allow seating of players who have not bought in, to paraphrase).  When I enable "Allow seating of players who have not bought-in", the message is removed and all added players are displayed in the Unseated Players section, allowing me to seat them if I want.  If I seat some of those players and then disallow seating of players who have not bought-in, the TD warns me that this will unseat those players, and does unseat them when I confirm.

Seating does not occur when players are added to the tournament and not-bought in.  Even when "Allow seating of players who have not bought-in" is enabled.

Would it be helpful if I sent you any other files?

EDIT: it seems I might be on to something with the preferences, and it seems to be something specific to this tournament. I loaded a different tournament and then loaded my events template into that. Then I added a bunch of players to the tournament. The "suggested movement" button did not turn red. Then I bought a player in and this immediately triggered the table balance event (I'm not exactly sure why, since nobody was seated meaning the tables were technically balanced, but the important thing is the event triggered!). I modified the event with the condition "state = 2" and this successfully prevented the event from firing during the buy-in period. Once players were bought in and seated I started the tournament and started busting them out to create an imbalance... and the event triggered just as it should. Win!

Definitely.  Reproducing the issue is about the most helpful thing I can do, and having "live" data to assist in that is usually extremely helpful.  If you still need it, please attach your tournament or send it directly to me.

One more question if I may: is there any way to have both the "table balance" event and the "bust out" event trigger without one invalidating the other? So the elimination message and sound would still play, followed by the table balance message and sound? I'm pretty sure the answer to that is no, so if that's the case I will combine the bust-out event into the table balance event as a workaround like I've done with similar scenarios, but I thought I would ask as there may be a condition I could implement that could delay the trigger, eg "a player movement is suggested" + "a player busted out 10 seconds ago" or something like that.

Thanks again for your help and your continuous hard work Corey  :)

I don't think so, unfortunately.  There are workarounds in some cases, like combining audio files.  But I'm not sure how to distinguish between a table balance triggered by a bust-out and a table balance triggered by something else (such as a buy-in or a rebuy).

Blind Joe

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Table balance event does not fire
« Reply #7 on: September 24, 2021, 12:55:13 AM »
Correct.  A table balance resulting from a player busting out basically happens at exactly the same time as the player busts out.  And two events cannot fire at the same time (if both were supposed to play an audio file, which should play?)  So yeah, unfortunately you have to decide which should fire in that situation, and move it higher in priority.
Yeah I thought that was the case. Probably more work than it's worth but an option to allow some events to fire sequentially would be very handy in certain circumstances.

I am unable to reproduce this behavior.  When I have players added to the tournament but none bought-in, on the Tables tab there is a message in the Unseated Players section regarding seating players (they must be bought in, or change the setting to allow seating of players who have not bought in, to paraphrase).  When I enable "Allow seating of players who have not bought-in", the message is removed and all added players are displayed in the Unseated Players section, allowing me to seat them if I want.  If I seat some of those players and then disallow seating of players who have not bought-in, the TD warns me that this will unseat those players, and does unseat them when I confirm.

Seating does not occur when players are added to the tournament and not-bought in.  Even when "Allow seating of players who have not bought-in" is enabled.

Definitely.  Reproducing the issue is about the most helpful thing I can do, and having "live" data to assist in that is usually extremely helpful.  If you still need it, please attach your tournament or send it directly to me.
I've attached my tournament file. Unless I'm missing something (I've tried to compare the preferences with another tournament that doesn't do this and can't see any difference) the "allow players who haven't bought in to be seated" preference doesn't seem to have stuck when it's been unchecked.

I don't think so, unfortunately.  There are workarounds in some cases, like combining audio files.  But I'm not sure how to distinguish between a table balance triggered by a bust-out and a table balance triggered by something else (such as a buy-in or a rebuy).
This is what I've done for the bubble bursting, which is triggered by a bust but can conditioned to only fire when playersLeft=inTheMoneyRank, ie, the number of players left is equal to the number of places paid out. In this case the event plays out the usual bust out sound and message except the sound has been edited to include a delayed "in the money" jingle. When it comes to table balance/player movements this can't be done because there aren't any conditions one can use. If there was a condition such as "tableBalance=0" then one could tack this on to other events such as bust outs and re-buys.

Corey Cooper

  • Administrator
  • Hero Member
  • *****
  • Posts: 5993
    • View Profile
Re: Table balance event does not fire
« Reply #8 on: September 27, 2021, 06:57:22 PM »
I've attached my tournament file. Unless I'm missing something (I've tried to compare the preferences with another tournament that doesn't do this and can't see any difference) the "allow players who haven't bought in to be seated" preference doesn't seem to have stuck when it's been unchecked.

I'm seeing the same behavior with your tournament as with my own.  When I load the tournament, Allow seating of players who have not bought-in is already checked (because it was saved that way in your tournament).  In fact, I searched through the contents of the saved tournament (the raw tdt file) and found that this setting is enabled.  The behavior I see is the same as I described previously with my own tournament.  Players are not seated automatically when added to the tournament.  And only when Allow seating of players who have not bought-in is enabled can I seat unpaid players.

I obviously cannot see what you are seeing or necessarily explain it.  But I do often run into stuff like this, and it's usually me forgetting how something works or forgetting that there's another setting controlling this behavior somewhere.  That's probably what it is in this case, too, but I certainly can't completely rule out a bug in there somewhere.