It appears that 3 of my triggers together are generating an arrary IndexOverflow error.
My 1st trigger is :
Events:
......Unit-Any Unit dies
Conditions:
.....(Unit type of (Triggering unit)) == Queen
Actions
.....Unit Group-Pick each unit in (Any units in (Entire map) owned by player (Owner of (Triggering unit))
matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
.............Actions:
..................Unit- Kill (Picked unit)
...................UI-Display (Text) says that unit has been killed
...................General- Wait 4 game time seconds
..................Game - End game in Defeat for player 1
**********
Whenever Queen dies, the text appears saying the unit has been killed.
Fortunately this time, a unit is killed by trigger. However, only one unit owned by
player 1 is killed every second. I want to speed the trigger so that ALL units
owned by player 1 is killed at the same time, whether he has 100 or 20 units.
Each time a unit owned by player 1 dies, the text appears again and again.
Also when Queen dies, these errors appear:
............Trigger Error in 'gt_CountKills_Func':
...................e_arrayIndexOverflow
and
............Trigger Error in 'gt_Spawn Hero_Func':
re-post the code. copy and paste the code in again and use wikicreole. then highlight the pasted stuff and click the code button. on the prompt enter Trigger.
this will make it easier to read.
make sure your arrays are big enough. i see array size 8 for players if the killing player is the hostle player 15 then it will return a array overflow sense 15>8.
For your first problem you have to put out the wait and defeat for player out of the actions from the loop:
Conditions: .....(Unit type of (Triggering unit)) == Queen
Actions .....Unit Group-Pick each unit in (Any units in (Entire map) owned by player (Owner of (Triggering unit)) matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
.............Actions:
..................Unit- Kill (Picked unit)
...................UI-Display (Text) says that unit has been killed
General- Wait 4 game time seconds
Game - End game in Defeat for player 1
For the second problem:
Any Unit Dies Actions: .........If
.............(Triggering player)! = (Killing Player) <-exchange them with trigegring player=>owner of trigegring unit and killing player=>owner of killing unit
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
It appears that 3 of my triggers together are generating an arrary IndexOverflow error.
My 1st trigger is : Events: ......Unit-Any Unit dies
Conditions: .....(Unit type of (Triggering unit)) == Queen
Actions .....Unit Group-Pick each unit in (Any units in (Entire map) owned by player (Owner of (Triggering unit)) matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
.............Actions:
..................Unit- Kill (Picked unit)
...................UI-Display (Text) says that unit has been killed
...................General- Wait 4 game time seconds
..................Game - End game in Defeat for player 1
**********
Whenever Queen dies, the text appears saying the unit has been killed. Fortunately this time, a unit is killed by trigger. However, only one unit owned by player 1 is killed every second. I want to speed the trigger so that ALL units owned by player 1 is killed at the same time, whether he has 100 or 20 units.
Each time a unit owned by player 1 dies, the text appears again and again.
Also when Queen dies, these errors appear:
............Trigger Error in 'gt_CountKills_Func':
...................e_arrayIndexOverflow
and
............Trigger Error in 'gt_Spawn Hero_Func':
...................e_arrayIndexOverflow
where NumKills = 0 <Integer[8]> and
HeroNum = 0 <Integer[8]>
************8
The trigger for CountKills is:
Event: Any Unit Dies Actions: .........If
.............(Triggering player)! = (Killing Player)
.........Then
...............Variable-Modify NumKills[(Killing player)]: +1
................Leaderboard-Set LeaderBoard item text at column 2 and row (Killing player)
................to (Text(NumKills[(Killing player)]))
Summary of Trigger for Hero Spawn is:
Event: Any Unit Dies
Actions:
.........If
...........NumKills[(Killing player)] >= 100
..............AND
....................Conditions
...........................HeroNum[(Killing player)] ==0
............Then
..............Modify HeroNum[(Killing player)]: + 1
...............Create 1 Hydralisk for player (Killing player) at (Start location of player (Killing player))
I tried changing replacing killing player with owner of unit (triggering unit), but that would prevent COuntKill trigger from counting player kills.
Moved to Map & Development forum.
@TwilightMarine: Go
re-post the code. copy and paste the code in again and use wikicreole. then highlight the pasted stuff and click the code button. on the prompt enter Trigger.
this will make it easier to read.
make sure your arrays are big enough. i see array size 8 for players if the killing player is the hostle player 15 then it will return a array overflow sense 15>8.
For your first problem you have to put out the wait and defeat for player out of the actions from the loop: Conditions: .....(Unit type of (Triggering unit)) == Queen
Actions .....Unit Group-Pick each unit in (Any units in (Entire map) owned by player (Owner of (Triggering unit)) matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
.............Actions:
..................Unit- Kill (Picked unit)
...................UI-Display (Text) says that unit has been killed
General- Wait 4 game time seconds
Game - End game in Defeat for player 1
For the second problem: Any Unit Dies Actions: .........If
.............(Triggering player)! = (Killing Player) <-exchange them with trigegring player=>owner of trigegring unit and killing player=>owner of killing unit