Defeat/Victory for Absent Player Causes Loss of Unit Control

ShadowTek

New Member
Reaction score
23
I have noticed that if you defeat or victory a player that has left the game, then there is sometimes a loss of unit control that results for some players immediately after the defeat/victory action for their currently selected units.

The loss of control seems to only affect any currently selected units. You can see the unit's UI, and you can click around on the screen as if you are successfully giving commands, but the unit that you have selected will not respond to any of the commands.

The only way to break out from this "stuck" condition is if you select another unit, and then reselect the previous unit. Everything behaves normally after that.

It can really suck if you end up losing units because of this, especially in a hero type game. Some players never even figure out what the problem is and just leave the game out of frustration.

I did a search a while back to see if I could find any information about this problem. I do remember finding a forum post that confirmed that this was once a problem with a previous version of WC, but the problem was claimed to have been resolved with a following patch.

So does this mean that the original problem was never completely solved, or does this particular problem have a different cause?
 

ShadowTek

New Member
Reaction score
23
Well, I have been experimenting with this issue for a while, and it seems like the only reasonable way of dealing with this is just to use "Selection - Clear selection" to remove all currently selected units before giving victory of defeat to any player.

I tried to add all currently selected units for each player to a series of unit groups, then clear the selection for all players, then victory or defeat a player, and then reselect each of those unit groups for each remaining player. But even that didn't work out.

Sometimes, another player's unit would be reselected, no units would be selected, or the right unit would be selected in addition to another player's unit being selected.

This is the code that I tried, but the results were inconsistent.
Code:
For each (Integer A) from 1 to 12, do (Actions)
    Loop - Actions
        Set SelectionGroups[(Integer A)] = (Units currently selected by (Player((Integer A))))
    Selection - Clear selection
...
(various if then forks with individual defeats or victories)
...

For each (Integer A) from 1 to 12, do (Actions)
    Loop - Actions
        Selection - Select SelectionGroups[(Integer A)] for (Player((Integer A)))
        Custom script:   call DestroyGroup( udg_SelectionGroups[(GetForLoopIndexA())] )

I also tried inserting various wait periods before the reselection actions, but the same malfunctions persisted.

At least I have found some reasonably acceptable way of dealing with this, by only using "clear selection" by itself. This means that players will have to manually reselect their units, which is still a minor nuisance. But I would still like to understand what the exact nature of these "malfunctions" are.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top