# "For each integer A/B" - what does that mean and how does it work?

#### Ioannes

##### Oh man, I shot Marvin in the face.
Any explanations are welcome. #### tommerbob

##### Minecraft. :D
It represents an Integer. It is a loop action that runs through the specified number of loops. So if you are doing several actions with sequential numbers, you can use this action to make it easier. Example:

Trigger:
• For Each Integer A (1 to 10) do Actions -
• Loop - Actions
• Set New_Integer = (Integer A)

That will set a new integer variable 10 times. It is the exact same thing as doing this:

Trigger:
• Actions
• Set New_Integer = 1
• Set New_Integer = 2
• Set New_Integer = 3
• ...
• Set New_Integer = 10

NOTE:
The only the thing to remember is that (Integer A) and (Integer B) are global variables, which means that if you use them several times in the same trigger, make sure they do not overlap or they will overwrite each other's data. That's what (Integer B) is for: You can use it inside an (Integer A) loop. Example:

Trigger:
• For each Integer A (1 to 10) do Actions -
• Loop - Actions
• Set New_Integer = (Integer A)
• For each Integer B (11 to 20) do Actions -
• Loop - Actions
• Set Brand_New_Integer = (Integer B)

With that you have 2 variables, one that is set ten times from 1 to 10, and the second is also set 10 times, from 11 to 20. Of course that would be completely useless, but its just an example.

They are especially useful when using arrays, because you can use one loop action to set multiple variables with an array.

• 1 person

#### Ioannes

##### Oh man, I shot Marvin in the face.
Trigger:
• Actions
• Set New_Integer = 1
• Set New_Integer = 2
• Set New_Integer = 3
• ...
• Set New_Integer = 10
Yea but what would the point in doing this be?

#### tommerbob

##### Minecraft. :D
There isn't a point, it was just an example of how to use the (Integer A) function. They are useful when dealing with arrays, where you access certain integers that have data, such as Player Numbers, Unit Groups, etc.

#### keychup

##### Active Member
He means "What's the point of having integer A/B"

Well it makes it easier to do loops with specifications.

Example:
Player (Integer A)

If you use (For each Integer A from 1 to 12) the Editor will carry out the actions using:
Player (1), Player (2), Player (3), ..... Player (12).

Look for a GUI Mass Impale. It's a great example of how to use integer A/B loops.

• 1 person

#### johnnymra

##### New Member
As a quick example that states almost exactly what temmerbob and keychup said:

For each (Integer A) from 1 to 12
Loop
Player - Set property - Set gold for Player(Integer A) to X

• 1 person

#### Ioannes

##### Oh man, I shot Marvin in the face.
Trigger:
• CreateRandom
• Events
• Player - Player 1 (Red) skips a cinematic sequence
• Conditions
• Actions
• Set Count = 5
• For each (Integer A) from 0 to 5, do (Actions)
• Loop - Actions
• Set Index[(Integer A)] = (Integer A)
• For each (Integer B) from 0 to 1, do (Actions)
• Loop - Actions
• Set RandomInt = (Random integer number between 0 and Count)
• Set Point = (Center of Region[Index[RandomInt]])
• Special Effect - Create a special effect at Point using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
• Special Effect - Destroy (Last created special effect)
• Custom script: call RemoveLocation(udg_Point)
• Set Index[RandomInt] = Count
• Set Count = (Count - 1)

This is script by Dinowc. Integer B is from 0 to 1, any1 know what that means? #### Ryushi

##### "I will stand, or I will fall. I will not sit."
The (Integer B) from 0 to 1 means that the actions within the loop are going to run twice, the first time with Integer B having a value of 0 and the second time with Integer B having a value of 1. Since Integer B isn't used within the loop, it's simply running the set of actions twice.

• 1 person

#### Ioannes

##### Oh man, I shot Marvin in the face.
The (Integer B) from 0 to 1 means that the actions within the loop are going to run twice, the first time with Integer B having a value of 0 and the second time with Integer B having a value of 1. Since Integer B isn't used within the loop, it's simply running the set of actions twice.
Is it the same as
Code:
``````from 1 to 2
or
from 5 to 6``````
?

#### Ryushi

##### "I will stand, or I will fall. I will not sit."
They would essentially be the same, they all cause the actions in the loop to be run twice. The only difference would be the value of the Integer B loop within the variable.

General chit-chat
Help Users
• No one is chatting at the moment.

### Members online

No members online now.