• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Selection Bug?

Status
Not open for further replies.
Level 10
Joined
Mar 25, 2008
Messages
339
Several people are reporting Selection bugs on my LoaP (LoaP Ascension).

What could even cause this?
From what I gather they lose the ability to click things.

Theres nothing in the game that messes with the players ability to select units.
 
Level 14
Joined
Nov 17, 2010
Messages
1,265
Do you ever disable user control for players? There might be something that happens where it doesn't get enabled again.
 
Level 10
Joined
Mar 25, 2008
Messages
339
I wonder if my trigger that applys a custom camera height every 0.01 seconds could be causing this lol, i really need to find a way to keep custom camera heights even when using the mouse scroll wheel without refreshing it 100 times a minute.
 
Level 3
Joined
Nov 12, 2018
Messages
43
  • Game - Acticate pre-selection functionality (Deactivate pre-selection circles, life bars, and object info)
  • Game - Activate drag-selection functionality (Deactivate drag-selection box)
  • Game - Activate selection and deselection functionality (Deactivate selection circles)
Are you sure, that you never use these functions?
 
Level 10
Joined
Mar 25, 2008
Messages
339
  • Game - Acticate pre-selection functionality (Deactivate pre-selection circles, life bars, and object info)
  • Game - Activate drag-selection functionality (Deactivate drag-selection box)
  • Game - Activate selection and deselection functionality (Deactivate selection circles)
Are you sure, that you never use these functions?
Im sure, The only place I have added them is player commands in the attempt to fix the bug, but in the game these are Never used.

Players report they can fix it by clicking on a doodad.

I keep trying to find any kind of fix but nothing seems to help.
 
Level 10
Joined
Mar 25, 2008
Messages
339
It sounds like something is going wrong with synchronization of selections, or what @SoooK suggested. Is there any pattern or point in time when the selections stop working?

Also, is this your map?
From what I can gather it starts happening later in the game, atm im having a second issue of leaks piling up and crashing the game after hours of play, so i have been focused on fixing leaks.

Yes that's my map, LoaP Ascension.
 
From what I can gather it starts happening later in the game, atm im having a second issue of leaks piling up and crashing the game after hours of play, so i have been focused on fixing leaks.

Yes that's my map, LoaP Ascension.

If you can upload a few replays which show it happening it might help determine a pattern.

Another thing I would suggest is replacing all of your TriggerSleepAction's (GUI Wait action) with PolledWait as normal waits can cause all kinds of odd issues. PolledWait gets around it by also using timer.

I know in the past when developing my sync system I ran into the same issue, although I can't remember what I did to cause it.
 
Level 10
Joined
Mar 25, 2008
Messages
339
i removed probably 30 different waits from my game, pruning them down to only the absolutely necessary ones like boss respawns.
Apparently It didn't help at all.
What does it actually do? Is it guaranteed to work constantly in unison with potentially three dozen other polled waits?
If someone rushes through the forest boss region of my map slaughtering everything quickly there could be somewhere between two and three dozen active respawn timers.
 
Last edited:
Level 10
Joined
Mar 25, 2008
Messages
339
From what I have read polled waits only help with de-syncs, people on my map are having straight up loss of mouse function.
Disabling the npc talk on click trigger did nothing, fixing a million region leaks did nothing, other than fix the late game crashing from memory use.
Disabling my camera trigger that runs every 0.1 seconds to set the camera to a player defined height, did nothing.

I even combined a bunch of reoccurring events into one timer to cut down on running scripts, and it still hasn't helped.
Also I used variables to define specific units every time I use a forced selection, even that hasn't helped.
"Selection - Select PlayerWisps[1] for Player 1 (Red)"

At this point im thinking Wc3 is just overwhelmed by my map and bugging out.
 
Level 10
Joined
Mar 25, 2008
Messages
339
Appears none of these solutions worked, players still reporting the occasional clicking bug which they report they can fix by clicking a Closed Door
-Figured posting on this old thread is better than starting a new one for the same thing?
 
Level 10
Joined
Mar 25, 2008
Messages
339
  • Game - Acticate pre-selection functionality (Deactivate pre-selection circles, life bars, and object info)
  • Game - Activate drag-selection functionality (Deactivate drag-selection box)
  • Game - Activate selection and deselection functionality (Deactivate selection circles)
Are you sure, that you never use these functions?
Ok I do use these, in the initialization trigger, should i remove them?
-going to try it right now and see if it breaks anything
 
Level 10
Joined
Mar 25, 2008
Messages
339
Or perhaps hiding a unit? But i don't know why this would effect a unrelated player at random like it is now.
Code:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
        (Item-type of (Sold Item)) Equal to Taxi Ride to Ezco Corporation
    Then - Actions
        Set VariableSet IsTraveling[(Player number of (Owner of (Buying unit)))] = True
        Unit - Hide (Buying unit)
        Camera - Pan camera for (Owner of (Buying unit)) to PointTaxiDestination[1] over 6.00 seconds
        Wait 6.00 game-time seconds
        Unit - Move (Buying unit) instantly to PointTaxiDestination[1]
        Game - Display to (Player group((Owner of (Buying unit)))) for 5.00 seconds the text: |cFFD9D900Taxi Driv...
        Unit - Unhide (Buying unit)
        Set VariableSet IsTraveling[(Player number of (Owner of (Buying unit)))] = False
    Else - Actions
        Do nothing
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
Hi, I have the same issue with my map (see [General] - Deselection bug in multiplayer) and I cannot find any solution. I suspected different things like bj_wantDestroyGroup or my selection actions but nothing helped. I didn't change the map dimension but added some code and triggers. I have both map versions to compare. The one with the selection bug and the one without it.

I have tried to compare the map scripts but by now the differences became pretty big and I am lost now.
Did anybody finally find the cause for this annoying bug? People cannot play the latest version of my map in multiplayer.

This thread states that dialogs might be an issue: Selection bug after dialog window

I want to fix the cause of the bug. My workaround would be a destructable to select and calling SyncSelection every 0.01 seconds or something?
 
Level 10
Joined
Mar 25, 2008
Messages
339
Hi, I have the same issue with my map (see [General] - Deselection bug in multiplayer) and I cannot find any solution. I suspected different things like bj_wantDestroyGroup or my selection actions but nothing helped. I didn't change the map dimension but added some code and triggers. I have both map versions to compare. The one with the selection bug and the one without it.

I have tried to compare the map scripts but by now the differences became pretty big and I am lost now.
Did anybody finally find the cause for this annoying bug? People cannot play the latest version of my map in multiplayer.

This thread states that dialogs might be an issue: Selection bug after dialog window

I want to fix the cause of the bug. My workaround would be a destructable to select and calling SyncSelection every 0.01 seconds or something?
Not sure if selecting destructables is possible via triggers.
But 0.01 seconds is excessive and possibly laggy
It's worth a shot, the only problem I have is the problem is so rare and not-reproducable it's hard to try to fix it, I have never even experienced it, but people who play my map a lot do.

That thread was quite useful, I think im going to replace all of the dialog options in my game with buyable item options instead.
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
I have tried the periodic trigger with SyncSelections and it did not fix anything. For my map version 2.1 https://github.com/tdauth/wowr/raw/master/wowr2.1.w3x it happens EVERY TIME in multiplayer now already in the beginning :(
When I play it with myself on LAN starting two instances of Warcraft III it did not happen.

My chat command only pans the camera to the destructable but the player has to select it him/her self.

Actually, I had many dialog options in the old working version without this issue and reduced them by introducing taverns, so I am really confused now.

Debugging Warcraft III maps still is hell.
 
Level 10
Joined
Mar 25, 2008
Messages
339
I have tried the periodic trigger with SyncSelections and it did not fix anything. For my map version 2.1 https://github.com/tdauth/wowr/raw/master/wowr2.1.w3x it happens EVERY TIME in multiplayer now already in the beginning :(
When I play it with myself on LAN starting two instances of Warcraft III it did not happen.

My chat command only pans the camera to the destructable but the player has to select it him/her self.

Actually, I had many dialog options in the old working version without this issue and reduced them by introducing taverns, so I am really confused now.

Debugging Warcraft III maps still is hell.
Do you have a lot of dialog boxes in your map?
I just went and removed the entire dialog box system from my pvp arena and redesigned it a different way.
We will see if that helps reduce the issue on my map, it takes a long time for people to tell me if anything worked though
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
I had more dialogs before. Now I have only some left. I rather suspect from Selection bug after dialog window that it is caused by "unit group - units selected by player" since he writes that it is fixed with the destructable click. Now I am looking for calls of this functions and check if they were present in my older map version 2.0.

edit:
Good news. I think I have found and fixed the issue by disabling two triggers I tried to use for receiving a double click event:

  • Camera Change Selection Double Click
    • Events
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • ((Triggering unit) is A Hero) Equal to True
          • (Unit-type of (Triggering unit)) Equal to Gryphon Mount
          • (Unit-type of (Triggering unit)) Equal to Wyvern Mount
          • (Unit-type of (Triggering unit)) Equal to Frost Wyrm Mount
          • (Unit-type of (Triggering unit)) Equal to Chimaera Mount
          • (Unit-type of (Triggering unit)) Equal to Nether Drake Mount
          • (Unit-type of (Triggering unit)) Equal to Dragonhawk Mount
      • (Unit-type of (Triggering unit)) Not equal to Backpack
      • (Number of units in (Units currently selected by (Triggering player))) Equal to 1
      • (Triggering unit) Equal to CamLockPlayerTargetNew[(Player number of (Triggering player))]
    • Actions
      • Set VariableSet CamLockPlayerTarget[(Player number of (Triggering player))] = (Triggering unit)
      • Set VariableSet CamLockPlayerTargetNew[(Player number of (Triggering player))] = No unit
      • Set VariableSet TmpPlayer = (Triggering player)
      • Trigger - Run Camera Lock <gen> (checking conditions)
and

  • Camera Change Selection Single Click
    • Events
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • ((Triggering unit) is A Hero) Equal to True
          • (Unit-type of (Triggering unit)) Equal to Gryphon Mount
          • (Unit-type of (Triggering unit)) Equal to Wyvern Mount
          • (Unit-type of (Triggering unit)) Equal to Frost Wyrm Mount
          • (Unit-type of (Triggering unit)) Equal to Chimaera Mount
          • (Unit-type of (Triggering unit)) Equal to Nether Drake Mount
          • (Unit-type of (Triggering unit)) Equal to Dragonhawk Mount
      • (Unit-type of (Triggering unit)) Not equal to Backpack
      • (Number of units in (Units currently selected by (Triggering player))) Equal to 1
    • Actions
      • Set VariableSet CamLockPlayerTargetNew[(Player number of (Triggering player))] = (Triggering unit)
with the events:

  • Camera Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Player Group - Pick every player in (All players controlled by a User player) and do (Actions)
        • Loop - Actions
          • Trigger - Add to Camera Change Selection Double Click <gen> the event (Player - (Picked player) Selects a unit)
          • Trigger - Add to Camera Change Selection Single Click <gen> the event (Player - (Picked player) Selects a unit)
as written in the post the trigger function here seems to be the issue:

  • (Number of units in (Units currently selected by (Triggering player))) Equal to 1
 
Last edited:
Status
Not open for further replies.
Top