Hey guys, i'm having trouble with triggers. What i want is, spawn 2 units in a area/point (whatever) and when this dies, the game wait 30 seconds and create another 2 units (same unit).
I can make units appear from 30 to 30 seconds, but what i want is: JUST APPEAR if the current units are dead. (If just one unit die, another can appear to replace). The current state of my trigger is: "Create 2 units from 30 to 30 seconds", the problem is, in 2 minutes i have 8 units.
Another problem appeared. The trigger is working, the problem is that it applies to ALL units on the map, without exception. And I don't want to relive my units when they die. Can someone help? I just want the player's units relive 15. (Hostile)
Thanks dude, but a member of another forum helped me, the right answer (so obvious):
"Add a condition to the trigger that compares the owner of the triggering unit with 15. In SC2 players are nothing more than integers (with the first human usually being value 1 with 0 being neutral)." - Dr Super Good.
I believe onetwoSC did a tutorial about critter respawn, or something similar. The neat thing about his, was he stored the x and y positions of the units into a custom value of the unit. In this way he was able to have the units always respawn at the same point. It looked something like this.
Map initialization
Pick each unit for player 15
Store x of point (position of picked unit) into custom value 5 (or w/e number you want) of picked unit
Store y of point.... custom value 6...
Second trigger
Unit dies
Condition: unit is on player 15 team
wait X seconds
Create unit at point (custom value 5 of triggering unit, custom value 6 of triggering unit), Or store the the point in a local variable first if the wait is screwing it up
Store the custom values again like first trigger into the newly created unit.
Anyway, I just want to point out a few other techniques that could work in various situations.
- You can store the location of the dying unit in a point variable for reference later. If you know the exact number of unique units that need to revive throughout the course of the game, it would be a bit easier to use an array of point variables to track the unit's location.
- You can designate which units can be revived using custom values or by storing the unit within a unit group variable. When the unit dies, you can check it's custom value or you can check to see if that unit is in the unit group variable. This will allow you to revive units for more than one player, or be selective about which units owned by a certain player can be revived.
- Using a Unit Dies event, you can store the Triggering Unit's position in a local point variable and avoid having to commit that position to the system's memory. You can then wait 30 seconds and revive the unit.
- A special behavior can also be used to designate which units may be revived. Just check the dying unit to see if it has the behavior.
- If you want to get fancy, you can use the hero death behavior that Jim Raynor or Kerrigan has. If you're feeling creative, you can pause the dying unit's death animation and keep it "alive," then apply a 30-second buff that revives the unit when it expires.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hey guys, i'm having trouble with triggers. What i want is, spawn 2 units in a area/point (whatever) and when this dies, the game wait 30 seconds and create another 2 units (same unit).
I can make units appear from 30 to 30 seconds, but what i want is: JUST APPEAR if the current units are dead. (If just one unit die, another can appear to replace). The current state of my trigger is: "Create 2 units from 30 to 30 seconds", the problem is, in 2 minutes i have 8 units.
I hope I have been clear.
Thank you!
Thanks guys, i don't need anymore. I found a very good tutorial:
Another problem appeared. The trigger is working, the problem is that it applies to ALL units on the map, without exception. And I don't want to relive my units when they die. Can someone help? I just want the player's units relive 15. (Hostile)
Picture:
Use Custom Value or Unit Death Revive Script. Hope this helps, goodluck.
@Reul123: Go
Thanks dude, but a member of another forum helped me, the right answer (so obvious):
"Add a condition to the trigger that compares the owner of the triggering unit with 15. In SC2 players are nothing more than integers (with the first human usually being value 1 with 0 being neutral)." - Dr Super Good.
@Diego6D: Go
Probably Dr Super Evil :)
@Reul123: Go
Unless he has a good twin! Sounds like a conspiracy...
@Diego6D: Go
I believe onetwoSC did a tutorial about critter respawn, or something similar. The neat thing about his, was he stored the x and y positions of the units into a custom value of the unit. In this way he was able to have the units always respawn at the same point. It looked something like this.
Map initialization
Pick each unit for player 15
Store x of point (position of picked unit) into custom value 5 (or w/e number you want) of picked unit
Store y of point.... custom value 6...
Second trigger
Unit dies
Condition: unit is on player 15 team
wait X seconds
Create unit at point (custom value 5 of triggering unit, custom value 6 of triggering unit), Or store the the point in a local variable first if the wait is screwing it up
Store the custom values again like first trigger into the newly created unit.
Why am I posting in a solved topic?
Bored, I guess.
Anyway, I just want to point out a few other techniques that could work in various situations.
- You can store the location of the dying unit in a point variable for reference later. If you know the exact number of unique units that need to revive throughout the course of the game, it would be a bit easier to use an array of point variables to track the unit's location.
- You can designate which units can be revived using custom values or by storing the unit within a unit group variable. When the unit dies, you can check it's custom value or you can check to see if that unit is in the unit group variable. This will allow you to revive units for more than one player, or be selective about which units owned by a certain player can be revived.
- Using a Unit Dies event, you can store the Triggering Unit's position in a local point variable and avoid having to commit that position to the system's memory. You can then wait 30 seconds and revive the unit.
- A special behavior can also be used to designate which units may be revived. Just check the dying unit to see if it has the behavior.
- If you want to get fancy, you can use the hero death behavior that Jim Raynor or Kerrigan has. If you're feeling creative, you can pause the dying unit's death animation and keep it "alive," then apply a 30-second buff that revives the unit when it expires.