Error: e_arrayIndexOverflow

Sensang

TH.net Regular
Reaction score
7
I'm trying to create sort of a Hack'n'Slay system to work.
Atm Im stuck at figuring out how to move with mouseclick or attack if theres a unit. Also I want there to be the possibility to hold the mouse button down upon an enemy to continuously attack. So I need to check whether or not theres an enemy at the clicked position


The debugger says:
Code:
00:00:00.13 Trigger Error in 'lib1_gt_Set_Func': e_arrayIndexOverflow

Trigger:
  • Clicking
    • Events
      • UI - Player Any Player clicks Left mouse button Down.
    • Local Variables
      • ClickedRegion = (Region((Point(0.0, 0.0)), 0.5)) <Region>
    • Conditions
    • Actions
      • Variable - Set LastLMBClick[(Triggering player)] = (Point((Mouse X position clicked in the world), (Mouse Y position clicked in the world)))
      • Region - Move ClickedRegion[(Triggering player)] to LastLMBClick[(Triggering player)]
      • Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
        • Actions
          • Unit Group - Pick each unit in (Any units in ClickedRegion owned by player (Picked player) matching Excluded: Missile, Dead, Hidden, with at most 1) and do (Actions)
            • Actions
              • General - If (Conditions) then do (Actions) else do (Actions)
                • If
                  • ((Picked unit) is valid) == true
                • Then
                  • Variable - Set ClickedUnit[(Triggering player)] = (Picked unit)
                  • Variable - Set timesright = (timesright + 1)
                • Else
                  • Variable - Set timeswrong = (timeswrong + 1)


timesright and timeswrong is getting shown in a leaderboard to see whether or not ill get a target when clicking :p
The debugger says the trigger isnt going off at all. which is wierd since its about a simple click event.

If you know what is causing this error and how I can fix it, plz tell me.
Otherwise telling me how else I could achieve what I want that would be great too.
TIA!
 

Cookiemaster

New Member
Reaction score
36
an arrayIndexOverflow happens when you use an invalid integer as an index. (E.g. the array is given size "10" in gui, making it 11 big (0~10), any number other than 0~10 will give this error.)

Check your arrays for their sizes.

Try making them bigger and see if any errors will then be thrown.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Use the GUI tags, please. Even if they're meant for WC3, it still makes it easier to read.
 

SerraAvenger

Cuz I can
Reaction score
234
any number other than 0~10 will give this error.
Not true.
Any number that is bigger than the upper bound will cause an overflow error, every number that is smaller that the lower bound will cause an underflow error.

EDIT: Is there not a unit is clicked event? Note that it seems to fire twice on unselectable units.
 

Sensang

TH.net Regular
Reaction score
7
ok thx those tags are awesome ;)

However I've misread something... because the trigger actually fires off even with having that overflow error once in the beginning. To make it short I have no freakin idea why this overflow error is there. Would an integer array of twelve mean player 1-12 or player 0-11 ? Ofc since I was player 1 when I tried and I havent even clicked so the event shouldnt have fired anyhow. However thanks for your help at least I know now what that is... increasing the array did fix that. But I guess it wasn't the problem.
 
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