Random integer
The random integers have a lot of applications. This wiki will try to give trigger references for the most common on them.
Pick + Withdraw
If you want the editor to pick number 1-3, assign it to a random player, and then force it to pick a new value from the remaining values between 1-3, and assign it to a player that has been assigned no units: http://omegacode.0sites.org/BBCode/BBCode3.php?ID=17
None.
- Successful Attempts = 0 <Integer>
- Choices = false <Boolean[3]>
- Players = false <Boolean[3]>
- SelectedChoice = 0 <Integer>
- SelectedPlayer = 0 <Integer>
None.
General - For each integer Successful Attempts from 1 to 3 with increment 1, do (Actions)
- Actions
- Pick the unit choice
- Variable - Set SelectedChoice = (Random integer between 0 and 2)
- General - While (Conditions) are true, do (Actions)
- Conditions
- Choices[SelectedChoice] == true
- Actions
- Variable - Set SelectedChoice = (Random integer between 0 and 2)
- Conditions
- ------- Pick the player number
- Variable - Set SelectedPlayer = (Random integer between 0 and 2)
- General - While (Conditions) are true, do (Actions)
- Conditions
- Choices[SelectedChoice] == false
- Actions
- Variable - Set SelectedPlayer = (Random integer between 0 and 2)
- Conditions
- ------- Actions
- ------- Do All the unit spawning stuff here ------
- Variable - Set Choices[SelectedChoice] = true
- Variable - Set Players[SelectedPlayer] = trueffs
Limitations
While short and sweet, this trigger segment can be subject to long running times if a number is repeatedly picked by the random integer function (as it will pick it, realize it has been picked, and then re-pick over and over again). While it will generally not be noticeable, as the triggers run quite fast, bear in mind that using large choice or player integer values can cause this script to lag. It is better suited to values of about 15 or below.