Wow this is really similar to the game I've been working on. Difference is I use an Overseer, too. PLus, mine will be a lot less talky, more shoot-em-up.
this is probably a necro, but i'll contribute for the sake of anyone searching for this solution.
I haven't tried this, I don't know if it will work for your purposes, but I would simply redefine the edge of your playable map by making it smaller than the maximum capacity of your map and hiding terrain cells outside your playable area. This way you can have a camera at the edge of the playable area without the limitations of the true edge of the map.
Almost solved. I still have a problem in that the Track Veterancy Gains trigger executes twice during a morph and counts the set experience as experience gained, effectively doubling the end unit's resulting experience. I.e., whenever you switch into a form, that form's experience is set to twice what it was last seen with, twice what it should be.
I tried turning off the Track Veterancy Gains trigger at the beginning of each morph Start trigger and turning it back on at the end of each morph End trigger. This didn't work.
I tried making a behavior called Morphing and adding it to the unit at the each morph Start trigger and removing it at each morph End trigger, and making a condition in Track Veterancy Gains trigger "Unit has behavior:Morphing == False." This didn't work.
Events are registered when the map loads. At that time, your initialization trigger has not yet run, so your array is not initialized. As a result, you'r not registering the correct unit. The only way to go around that is to add a piece of custom script code that adds the event from your initilization trigger
If that map initialization trigger is located in a library, it is a little more difficult, since I don't think you will be able to refer to the defeat trigger from there, unless it is also in the same library. If it's outside, make an initialization trigger outside the library, and put the custom script there - events for library triggers are registered before events for non library triggers, so they should run in the proper order.
If your overseer variable is in the library, then the name of the variable changes a bit. Maybe it will be lib1_gv_overseer.. If not, you will have to look for the right name in the custom script code for your library (ctrl+F11).
Would it work if I simply changed the defeat trigger event to "Any Unit Dies" and add a condition "(Triggering Unit) == Overseer[1]?"
I'm not going to read this whole trigger because I don't know what you're doing in Data.
I've never tried this before, but if I had to guess, I would make a behavior that made the unit fire his automatic weapon. Then make a trigger that applies this behavior to the unit when the player clicks the mouse down with weapon 3 active, and a trigger to remove the behavior when the player clicks the mouse up.
Can map-specific triggers use variables from a library and vice versa?
I have a unit variable array in my library Overseer[4] with Initial Value: No Unit and the map triggers I want to work are as follows
-----
Map Initialization
Event
Map Initialization
Actions
Unit - Create an Overseer for Player 1 at [point]
Variable - Set Overseer[1] = (Last created unit)
Defeat
Event
Unit - Overseer[1] dies
Actions
Game - End game in defeat for Player 1
-----
The goal is for the defeat trigger to execute when Player 1's Overseer dies.
The problem I'm getting is that the defeat trigger executes when Any Unit dies.
I would like to keep the unit variable as an array for consistency's sake. I use this library for multiplayer games.
If the event is "Unit is created" i.e. "Any Unit creates a unit with Ability or behavior Game Link"
You can specify the unit created with "Created Unit" and the creating unit with "Triggering Unit"
I have 8 units, 4 opposing players controlling 2 each
What I Want
I need a unique action to occur in the event of each unit's death.
My Question
Is it better to use a different trigger for each "variable(unit) dies"
or should I use one trigger "any unit dies" with 8 conditions "if (triggering unit) == variable(unit)"?
Additionally, is there a way to block normal communication between players in the game?
Unit - Any Unit uses (Ability[transform to Form 1]) at Morph 11 - Unit Start stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Add 1 Behavior:Morphing to (Triggering unit) from (Triggering unit)
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 2
Then
Variable - Set Experience Tracker[2] = ((Triggering unit) Experience (Current))
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 3
Then
Variable - Set Experience Tracker[3] = ((Triggering unit) Experience (Current))
Trigger: Form 2 Start
Events
Unit - Any Unit uses (Ability[transform to Form 2]) at Morph 11 - Unit Start stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Add 1 Behavior:Morphing to (Triggering unit) from (Triggering unit)
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 1
Then
Variable - Set Experience Tracker[1] = ((Triggering unit) Experience (Current))
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 3
Then
Variable - Set Experience Tracker[3] = ((Triggering unit) Experience (Current))
Trigger: Form 3 Start
Events
Unit - Any Unit uses (Ability[transform to Form 3]) at Morph 11 - Unit Start stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Add 1 Behavior:Morphing to (Triggering unit) from (Triggering unit)
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 1
Then
Variable - Set Experience Tracker[1] = ((Triggering unit) Experience (Current))
General - If (Conditions) then do (Actions)
Else If
(Unit type of (Triggering unit)) == Form 2
Then
Variable - Set Experience Tracker[2] = ((Triggering unit) Experience (Current))
Trigger: Form 1 End
Events
Unit - Any Unit uses (Ability[transform to form 1]) at Morph 12 - Unit End stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Set (Triggering unit) Experience to Experience Tracker[1]
Wait 0.0002 Real Time seconds.
Unit - Remove 1 Behavior:Morphing from (Triggering unit)
Trigger: Form 2 End
Events
Unit - Any Unit uses (Ability[transform to form 2]) at Morph 12 - Unit End stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Set (Triggering unit) Experience to Experience Tracker[2]
Wait 0.0002 Real Time seconds.
Remove 1 Behavior:Morphing from (Triggering unit)
Trigger: Form 3 End
Events
Unit - Any Unit uses (Ability[transform to form 3]) at Morph 12 - Unit End stage (Ignore shared abilities)
Local Variables
Conditions
Actions
Unit - Set (Triggering unit) Experience to Experience Tracker[3]
Wait 0.0002 Real Time seconds.
Remove 1 Behavior:Morphing from (Triggering unit)
End Solution
What I Have
I have a shapeshifting unit made using Auracy's morphing tutorial and it works great! I also have some Marines for it to kill.
What I Want
What I want to do is give each form it's own experience bar and level, which only increase while in the form.
For example, Hero unit can transform into a Zergling and a Hydralisk. Both start at LVL 0,
Hero, in Zergling form, kills 10 Marines and dings LVL 1,
Hero switches to Hydralisk form, which should still be LVL 0, then kills 10 Marines, dings LVL 1, then kills 15 more and dings LVL 2,
Hero switches to Zergling form, which is still LVL 1.
What I Tried
I tried this by giving all units associated with the Hero the veterancies of all forms, then disabling/enabling appropriate experience gains when unit uses appropriate ability morph, but this didn't seem to work.
I tried using a real variable array to track the number of Marines killed by the Hero and setting the killing unit's experience to the value of the real variable each time a Marine was killed, but this doesn't work either.
@Ability1: Go
By doing that, the camera pans to the scourge's spawn point.
I want the camera to follow the scourge as it moves to a destination point. I've been able to fake it by panning to a point over 6 seconds, whereabout the scourge travels. I got rid of the pan at the start of the game by making a condition: mission time < 20
So I have a camera pan to point whenever a Scourge enters the map trigger
but it pans the camera at the start of the map instead.
it worked fine when the camera was made to look at it (as in it happened at the right time)
but when I changed it to pan, suddenly it pans it at the start of the game.
Trigger looks like this
Scourge Order
Events
Unit - Scourge Enters (Entire map)
Local Variables
Conditions
Actions
Unit - Order Scourge to ( Move targeting drill cpu ambush attack point) (Replace Existing Orders)
Camera - Pan the camera for player 1 to (Center of (Triggering region)) over 2.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Do Not use smart panning
0
@blumberry: Go
Wow this is really similar to the game I've been working on. Difference is I use an Overseer, too. PLus, mine will be a lot less talky, more shoot-em-up.
0
@Rideanovan: Go
this is probably a necro, but i'll contribute for the sake of anyone searching for this solution.
I haven't tried this, I don't know if it will work for your purposes, but I would simply redefine the edge of your playable map by making it smaller than the maximum capacity of your map and hiding terrain cells outside your playable area. This way you can have a camera at the edge of the playable area without the limitations of the true edge of the map.
0
In Hero Attack players choose the map, each with its own cliff design. How do you change the terrain like that?
0
Almost solved. I still have a problem in that the Track Veterancy Gains trigger executes twice during a morph and counts the set experience as experience gained, effectively doubling the end unit's resulting experience. I.e., whenever you switch into a form, that form's experience is set to twice what it was last seen with, twice what it should be.
I tried turning off the Track Veterancy Gains trigger at the beginning of each morph Start trigger and turning it back on at the end of each morph End trigger. This didn't work.
I tried making a behavior called Morphing and adding it to the unit at the each morph Start trigger and removing it at each morph End trigger, and making a condition in Track Veterancy Gains trigger "Unit has behavior:Morphing == False." This didn't work.
0
Would it work if I simply changed the defeat trigger event to "Any Unit Dies" and add a condition "(Triggering Unit) == Overseer[1]?"
0
I'm not going to read this whole trigger because I don't know what you're doing in Data.
I've never tried this before, but if I had to guess, I would make a behavior that made the unit fire his automatic weapon. Then make a trigger that applies this behavior to the unit when the player clicks the mouse down with weapon 3 active, and a trigger to remove the behavior when the player clicks the mouse up.
0
Can map-specific triggers use variables from a library and vice versa?
I have a unit variable array in my library Overseer[4] with Initial Value: No Unit and the map triggers I want to work are as follows
-----Map Initialization
Defeat
-----The goal is for the defeat trigger to execute when Player 1's Overseer dies. The problem I'm getting is that the defeat trigger executes when Any Unit dies.
I would like to keep the unit variable as an array for consistency's sake. I use this library for multiplayer games.
0
@Operation51: Go
It's triggering unit.
If the event is "Unit is created" i.e. "Any Unit creates a unit with Ability or behavior Game Link" You can specify the unit created with "Created Unit" and the creating unit with "Triggering Unit"
0
What I Have
I have 8 units, 4 opposing players controlling 2 each
What I Want
I need a unique action to occur in the event of each unit's death.
My Question
Is it better to use a different trigger for each "variable(unit) dies" or should I use one trigger "any unit dies" with 8 conditions "if (triggering unit) == variable(unit)"?
Additionally, is there a way to block normal communication between players in the game?
0
I followed this tutorial, but when my unit takes damage, the update health bar trigger goes on an infinite loop, not sure why.
[EDIT] Figured it out. It was because the unit had passive life regeneration. Set the unit's life regen to zero to solve this.
0
Solution
This will explain the triggers necessary to do this with 3 forms, including the original form or caster form.
Global Variable: Experience Tracker = 0.0 <Real[3]>
Trigger: Track Veterancy Gains
Trigger: Form 1 Start
Trigger: Form 2 Start
Trigger: Form 3 Start
Trigger: Form 1 End
Trigger: Form 2 End
Trigger: Form 3 End
End Solution
What I Have
I have a shapeshifting unit made using Auracy's morphing tutorial and it works great! I also have some Marines for it to kill.
What I Want
What I want to do is give each form it's own experience bar and level, which only increase while in the form.
For example, Hero unit can transform into a Zergling and a Hydralisk. Both start at LVL 0, Hero, in Zergling form, kills 10 Marines and dings LVL 1, Hero switches to Hydralisk form, which should still be LVL 0, then kills 10 Marines, dings LVL 1, then kills 15 more and dings LVL 2, Hero switches to Zergling form, which is still LVL 1.
What I Tried
I tried this by giving all units associated with the Hero the veterancies of all forms, then disabling/enabling appropriate experience gains when unit uses appropriate ability morph, but this didn't seem to work.
I tried using a real variable array to track the number of Marines killed by the Hero and setting the killing unit's experience to the value of the real variable each time a Marine was killed, but this doesn't work either.
Suggestions To Make This Work?
0
@Keyeszx: Go
How would I do that? I want it to be created at a certain point at a certain time.
0
im trying to use a trigger to create a hallucinated overseer. anyone know how?
0
@Ability1: Go By doing that, the camera pans to the scourge's spawn point.
I want the camera to follow the scourge as it moves to a destination point. I've been able to fake it by panning to a point over 6 seconds, whereabout the scourge travels. I got rid of the pan at the start of the game by making a condition: mission time < 20
0
So I have a camera pan to point whenever a Scourge enters the map trigger
but it pans the camera at the start of the map instead.
it worked fine when the camera was made to look at it (as in it happened at the right time)
but when I changed it to pan, suddenly it pans it at the start of the game.
Trigger looks like this
Scourge Order Events Unit - Scourge Enters (Entire map) Local Variables Conditions Actions Unit - Order Scourge to ( Move targeting drill cpu ambush attack point) (Replace Existing Orders) Camera - Pan the camera for player 1 to (Center of (Triggering region)) over 2.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Do Not use smart panning