"For Each (Integer A)" Action Help

Chilling

New Member
Reaction score
1
Hey, I've been wondering for a while now just what the "For Each Integer A(or B), do Actions" action does. What is Integer A? How quickly does it do the actions one after another? Is there a way to make it repeat the actions until a boolean variable is True?
Thanks
 

the_ideal

user title
Reaction score
61
For every integer A simply runs your actions A times, instantly.

So if you did this:

For every integer A from 1 to 4
Create 1 footman at center of playable map area

It would create 4 footmen at the center of the map, instantly.

If you added a 1 second wait, however,

For every integer A from 1 to 4
Create 1 footman at center of playable map area
Wait 1 second

Then it would create a footman, wait a second, create another one, wait, etc.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
for each integer A actions in GUI are just iterations with an index variable.

for example, when you do something like this in GUI:
Trigger:
  • For each (Integer A) from 3 to 6, do (Actions)
    • Loop - Actions
      • Unit - Create 1 Footman for (Player((Integer A))) at (Center of (Playable map area)) facing Default building facing (270.0) degrees

it will create 1 footman for players 3, 4, 5 and 6.

and if you do this:
Trigger:
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Item - Create Healing Potion at (Center of (Playable map area))

it will create 4 healing potions at the center of the map.

or if you do this:
Trigger:
  • For each (Integer A) from 1 to 12, do (Actions)
    • Loop - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Player((Integer A))) slot status) Not equal to Has left the game
        • Then - Actions
          • Player - Add 1000 to (Player((Integer A))) Current gold
        • Else - Actions

every player who is still playing (has not left the game) will get 1000 gold.
 

Necrach

You can change this now in User CP.
Reaction score
62
And the Integer B is simply if you need another loop inside the Integer A loop. For example, I made an X/Y system where there should be summoned units in an area like this

! . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . ( . = unit)

and used an offset from ! with loops inside eachother,
X = 40xInteger A and
Y = 40xInteger B

I am sure you see what I mean, sry for not writing it in code
 

Bogrim

y hello thar
Reaction score
154
Integer A and B are simply variables named "A" and "B", the "Integer" part is just what type of variable it is. When you want to input an integer value, you can use "For Loop Integer A" to get the current loop number. This is useful for things like creating object handles for every player and saving every handle in a unique variable, using the loop number as a player index (1-12).

However, Integer A and B are also global variables like so many other pre-set variables in the GUI, meaning that if you introduce a wait action in the loop and another loop fires using the same variable, your first loop will break. I've written a tutorial with more insight on this issue here.
 

tooltiperror

Super Moderator
Reaction score
231
I'm pretty sure, if you have an Integer A loop ending at, let's say 13, and you want it to end, you can just do this with a custom script.

Trigger:
  • Custom Script: set bj_forLoopAIndex=13
 
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