Seltsames (internes) Verhalten von CARTWALL SELECT

Noch sone Nummer, ich stehe auf dem Schlauch:

In diesem Skript wird ein Zähler beim Cart-Start hoch- und bei Stop runtergezählt. Ziel ist, zu prüfen, ob noch ein Player läuft. Funktioniert soweit gut. Jedoch: Wenn ich einen Cartplayer selektiere (der zuvor in Stop war und auch so bleibt), dann zählt es einen herunter. SELECT wirkt hier wie STOP. Ich wüßte jetzt nicht, wie ich das abfangen kann.

Das Problem ist noch größer: Auch DESELECT wirkt wie STOP, und es wird weiter heruntergezählt. Mein über Nacht ersonnener Workaround mit der Zeile

if Item.GetSelected then
  Dec(CartState);

hilft nicht. Sobald SELECT ins Spiel kommt, funktioniert diese Mimik nicht mehr. Wenn es ums Zählen der Player geht, gibt es jedoch Abhilfe – siehe den ursprünglichen Thread.

Trotzdem fände ich es schön, wenn dieses verwirrende Verhalten mal geradegezogen werden könnte. Auch denkbar wären zum Beispiel zwei neue PlayerStates

psSelected
psUnselected

dann könnte man auch den Übergang vom einen in den anderen Status auswerten.