Selection Bug, I need Help

Reflexar

New Member
Reaction score
12
Hello. My map Rise of Empires got a weird selection bug.
I don't know when it happens, but what happens is that you can't order your units to do stuffs after it had happen. Then it takes a while, like a minute or two and then u can order them again.:banghead:

I suspect these triggers:

JASS:
scope HouseEvolve initializer Init

globals
    private integer array HOUSES
endglobals

private function Callback takes nothing returns nothing
    local unit u = GetEnumUnit()
    local integer id = GetUnitTypeId(u)
    local integer i = 0

    loop
        exitwhen HOUSES<i> == 0
        if id == HOUSES<i>then
            if GetUnitState(u,UNIT_STATE_MANA) == GetUnitState(u, UNIT_STATE_MAX_MANA) and GetUnitTypeId(u) != HOUSES[2] then // h00G = Max upgrade
                call ReplaceUnitBJ(u,HOUSES[i+1], bj_UNIT_STATE_METHOD_DEFAULTS)
            elseif GetUnitState(u,UNIT_STATE_MANA) &lt; 1 and GetUnitTypeId(u) != HOUSES[0] then // The poorest upgrade
                call ReplaceUnitBJ(u,HOUSES[i-1], bj_UNIT_STATE_METHOD_DEFAULTS)
            endif
            exitwhen true
        endif
        set i = i+1
    endloop
endfunction

private function GroupFilter takes nothing returns boolean
    local integer i = 0
    local integer id = GetUnitTypeId(GetFilterUnit())
    
    loop
        exitwhen HOUSES<i> == 0 or id == HOUSES<i>
        set i = i+1
    endloop
    return id == HOUSES<i>
endfunction

private function Actions takes nothing returns nothing
    local group houses = CreateGroup()

    call GroupEnumUnitsInRect(houses,GetWorldBounds(),Condition(function GroupFilter))
    call ForGroup(houses,function Callback)
    call DestroyGroup(houses)
endfunction

private function Init takes nothing returns nothing
    set gg_trg_House_Evolving = CreateTrigger(  )
    set HOUSES[0] = &#039;h00B&#039;
    set HOUSES[1] = &#039;h00Y&#039;
    set HOUSES[2] = &#039;h00L&#039;
    set HOUSES[3] = 3 //This tells loops when to end.
    call TriggerRegisterTimerEvent(gg_trg_House_Evolving, 3, true)
    call TriggerAddAction( gg_trg_House_Evolving, function Actions )
endfunction


endscope</i></i></i></i></i>


It might have something to do with if u have a building selected when it's replaced :confused:

Trigger:
  • Gate Animation For Open Gate
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Unit-type of (Casting unit)) Equal to Gate (Horizontal) closed
      • (Ability being cast) Equal to Open/Close
    • Actions
      • Wait 0.10 seconds
      • Animation - Play (Casting unit)&#039;s death alternate animation
      • Set Temp_Group = (Units currently selected by (Owner of (Casting unit)))
      • Unit Group - Pick every unit in Temp_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of (Picked unit)) Equal to Gate (Horizontal) open
            • Then - Actions
              • Animation - Play (Picked unit)&#039;s death alternate animation
            • Else - Actions
      • Custom script: call DestroyGroup(udg_Temp_Group)




Please Help me, I will give u reputation if you do.!
 
Reaction score
341
I have never experienced this bug, though it may be from destroying the group of units being selected.

Try right before you call DestroyGroup(udg_Temp_Group), to clear the players selection.
 

Reflexar

New Member
Reaction score
12
Oh

You mean the second trigger :p

Well that might be the problem :p But isn't it more likely it's the first trigger that bugs?
 
Reaction score
341
Oh

You mean the second trigger :p

Well that might be the problem :p But isn't it more likely it's the first trigger that bugs?

I just took a quick glance at the second.

Never really looked that long enough at your first, the only thing i noticed is you leak a group.

You don't null it.
 

Reflexar

New Member
Reaction score
12
Trigger:
  • Set Temp_Group = (Units currently selected by (Owner of (Casting unit)))


Units currently Selected says something about this should not be used in Trigger conditions. Can that be something?
 

warden13

New Member
Reaction score
32
Search for Pan Camera (As Necessary) action in your triggers and change it to Pan Camera action. It is the reason. (imo)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top