Staredit Network > Forums > SC2 Assistance > Topic: [SOLVED] Execution took too long
[SOLVED] Execution took too long
Nov 28 2012, 1:04 pm
By: payne  

Nov 28 2012, 1:04 pm payne Post #1

:payne:

Here is my Action Definition:

Code
Assign units to random players
   Options: Action
   Return Type: (None)
   Parameters
       Players' units region = No Region <Region>
   Grammar Text: Assign units to random players(Players' units region)
   Hint Text: (None)
   Custom Script Code
   Local Variables
       Successful attempts = 0 <Integer>
       Players' units = (Empty unit group) <Unit Group>
       Random Unit = No Unit <Unit>
       SelectedPlayer = 0 <Integer>
   Actions
       General - While (Conditions) are true, do (Actions)
           Conditions
               (Number of Living units in (Any units in Players' units region owned by player 0 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)) != 0
           Actions
               Variable - Set Players' units = (Any units in Players' units region owned by player 0 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       Successful attempts == (Number of players in human players)
                   Then
                       General - Pick each integer from 1 to number of players, and do (Actions)
                           Actions
                               Variable - Set PlayersIsChosen[(Picked integer)] = False
                   Else
               Variable - Set SelectedPlayer = (Random integer between 1 and number of players)
               General - While (Conditions) are true, do (Actions)
                   Conditions
                       Or
                           Conditions
                               (Controller of player SelectedPlayer) != User
                               PlayersIsChosen[SelectedPlayer] == True
                   Actions
                       Variable - Set SelectedPlayer = (Random integer between 1 and number of players)
               Variable - Set PlayersIsChosen[SelectedPlayer] = True
               Variable - Modify Successful attempts: + 1
               Variable - Set Random Unit = (Random Living unit from Players' units)
               Unit - Change ownership of Random Unit to player SelectedPlayer and Change Color
               Unit - Make Random Unit Vulnerable
               Unit Group - Remove Random Unit from Players' units


Whenever I run it, sc2 warns me that the execution took too long and it stops running it.
I haven't seen it change ownership of more than 2 units out of the total of units.
My goal is to have it so that it selects a random unit in a region, and gives it to a random player. Then does the same thing for all the players of a certain Player Group. However, it must not give another unit to a player as long as all players haven't received their unit (this is to make sure I do not end up with Player 1 controlling all the units).

Additional (global) variables:
Code
PlayersIsChosen = False <Boolean[6]>
human players = (Empty player group) <Player Group>
number of players = 6 <Integer>


"human players" player group is containing the User players of another player group containing all the team 1 allied players. The map is set up for 6 allied players, but say the Players 4 and 6 are missing, "human players" would contain Players 1, 2, 3, and 5.

EDIT: No idea why I didn't think about that solution before.
Code
Assign units to random players
   Options: Action
   Return Type: (None)
   Parameters
       Players' units region = No Region <Region>
   Grammar Text: Assign units to random players(Players' units region)
   Hint Text: (None)
   Custom Script Code
   Local Variables
       Players' units = (Empty unit group) <Unit Group>
       Random Unit = No Unit <Unit>
   Actions
       General - While (Conditions) are true, do (Actions)
           Conditions
               (Number of Living units in (Any units in Players' units region owned by player 0 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)) != 0
           Actions
               Player Group - Pick each player in human players and do (Actions)
                   Actions
                       Variable - Set Players' units = (Any units in Players' units region owned by player 0 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)
                       Variable - Set Random Unit = (Random Living unit from Players' units)
                       Unit - Change ownership of Random Unit to player (Picked player) and Change Color
                       Unit - Make Random Unit Vulnerable
                       Unit Group - Remove Random Unit from Players' units


Post has been edited 8 time(s), last time on Nov 28 2012, 1:55 pm by payne.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[2024-4-27. : 7:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
[2024-4-27. : 6:24 pm]
NudeRaider -- "War nie wirklich weg" 🎵
[2024-4-27. : 3:33 pm]
O)FaRTy1billion[MM] -- o sen is back
[2024-4-27. : 1:53 am]
Ultraviolet -- :lol:
[2024-4-26. : 6:51 pm]
Vrael -- It is, and I could definitely use a company with a commitment to flexibility, quality, and customer satisfaction to provide effective solutions to dampness and humidity in my urban environment.
[2024-4-26. : 6:50 pm]
NudeRaider -- Vrael
Vrael shouted: Idk, I was looking more for a dehumidifer company which maybe stands out as a beacon of relief amidst damp and unpredictable climates of bustling metropolises. Not sure Amazon qualifies
sounds like moisture control is often a pressing concern in your city
[2024-4-26. : 6:50 pm]
Vrael -- Maybe here on the StarEdit Network I could look through the Forums for some Introductions to people who care about the Topics of Dehumidifiers and Carpet Cleaning?
[2024-4-26. : 6:49 pm]
Vrael -- Perhaps even here I on the StarEdit Network I could look for some Introductions.
[2024-4-26. : 6:48 pm]
Vrael -- On this Topic, I could definitely use some Introductions.
Please log in to shout.


Members Online: lil-Inferno