- Joined
- Apr 5, 2013
- Messages
- 154
I'm using this trigger for a zombie map, where every 3.00 seconds the zombies attack a nearby player that is ALIVE. The problem here is that the zombies will still choose to attack units/locations where a dead player is if its closer than a live one. Help would be appreciated, every time I try to return to this map I just can't seem to work it out.
-
OrderZombieAttack
-
Events
- Time - Every 3.00 seconds of game time
- Conditions
-
Actions
- Custom script: call RemoveLocation (udg_EP)
-
For each (Integer A) from 1 to 10, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (PlayerUnit[(Integer A)] is alive) Equal to True
-
Then - Actions
- Custom script: call RemoveLocation (udg_EP_PLAYER[bj_forLoopAIndex])
- Set EP_PLAYER[(Integer A)] = (Position of PlayerUnit[(Integer A)])
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in ALLZombies and do (Actions)
-
Loop - Actions
- Set EP = (Position of (Picked unit))
- -------- Player 1 --------
- Set PLAYERNUMBER = 1
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[5])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 2 --------
- Set PLAYERNUMBER = 2
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[5])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 3 --------
- Set PLAYERNUMBER = 3
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[5])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 4 --------
- Set PLAYERNUMBER = 4
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[5])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 5 --------
- Set PLAYERNUMBER = 5
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 6 --------
- Set PLAYERNUMBER = 6
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Player 7 --------
- Set PLAYERNUMBER = 7
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[1])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[2])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[3])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[4])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[6])
- (Distance between EP and EP_PLAYER[PLAYERNUMBER]) Less than (Distance between EP and EP_PLAYER[7])
-
Conditions
-
And - All (Conditions) are true
-
Then - Actions
- Unit - Order (Picked unit) to Attack PlayerUnit[PLAYERNUMBER]
- Else - Actions
-
If - Conditions
- -------- Idiot Corner --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Idiot Corner <gen> contains (Picked unit)) Equal to True
-
Then - Actions
- Custom script: set bj_wantDestroyGroup = true
-
Unit Group - Pick every unit in (Units in Idiot Corner <gen>) and do (Actions)
-
Loop - Actions
- Unit - Order (Picked unit) to Attack-Move To (Center of REAL <gen>)
-
Loop - Actions
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
Events