This is an entire movie style experience but you play the action packed bits.
I don't know how blizzard make the character's mouths move so I ditched that bit but the story still works awesome in my books. What other ways do you think I could have done the cinematic to get it more movie like? Or is there actually a way to have their mouths move?
Isolate the events Remvoes everything else about the trigger and have the bear minimum.
Event:
unit - any unit uses scv - return cargo at harvest4 - wait to return stage (include shared abilities)
Action:
Display text saying "Trigger Activated"
So then when it triggers the event, you know and you go Woo Hoo!
Then try the other Event.
Event:
unit - any unit uses scv - gather at generic6 - complete stage (include shared abilities)
Action:
Display text saying "Trigger Activated"
Then test the condition.
Event
Any unit enters region Test
Condition
((Triggering unit) has Carry Terrazine Node) == true
Action:
Display text saying "Trigger Activated"
Then test combinations:
Event
unit - any unit uses scv - return cargo at harvest4 - wait to return stage (include shared abilities)
Condition
((Triggering unit) has Carry Terrazine Node) == true
Action:
Display text saying "Trigger Activated"
Event
unit - any unit uses scv - gather at generic6 - complete stage (include shared abilities)
Condition
((Triggering unit) has Carry Terrazine Node) == true
Action:
Display text saying "Trigger Activated"
You need to work out HOW the events and conditions work so you can be creative with them. Just copying and pasting won't be sufficient.
Controlling a region means you have the most amount of units in that region right?
So basically you have a trigger set up for each player so that if a unit enters Room A, it's added to that players Node 1 control group. So "Player 1 Room A" variable as a unit group.
Another trigger is If a unit leaves the node, it's taken out of the unit group.
If a unit dies, it's taken out of the unit group. So you have a variable group for each player holding all the live units for that player inside the Room A.
Then you have 3 more triggers. One trigger set for if any unit dies, another for if any unit enters Room A, and another trigger that if any unit leaves. These three triggers all trigger a comparison trigger each individual player. 4 players, 4 triggers.
The comparison trigger compares units in the player's control group, to the number of living units in the "Room A Controller group"
If the numbers are higher than the Room A Controller group, then remove all units from from Room A Controller group, then pick all units from that player's control group and add all those units to Room A Controller group.
The AI timer will give the AI an order. Separate trigger.
The way you do AI is you have AI Timer expires as an event. For each player you have a AI trigger
Comparison. Owner of (unit 1 from Room A Controller group)) != 2
Controller of Player 2 = computer
Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A.
So with that, you have a trigger for each player keeping track of how it's doing in the region. You have a trigger working out who is doing the best in the region. You have another trigger working out when to issue orders. Then you have a trigger for each player working out if that player is the one who gets the orders.
But that AI will always attack in 1 order. You can randomize the order with If then else commands.
So AI timer expires
Set AI variable = Random integer
If owner of unit in unit group Room A Controller != Player 2
And AI Variable = 1
Then Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A.
Else
If owner of unit in unit group Room B Controller != Player 2
And AI Variable = 2
Then Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A.
Else
etc
So that you are checking if player 2 owns it, and if it's randomly picked for attack, then attack it.
You would need a quick timer to check every half a second or so though because there may be like 30 times where they integer doesn't link up with the last room it has to attack.
It's easier to just have
AI timer expires
Set AI variable = Random integer
Pick unit in unit group any unit set to alliance enemy with by player 2
And picked unit to "enemy group"
Issue order to unit in unit group any in entire map owned by player 2, to attack random unit from "Enemy group".
Timer - Start (New timer) as a One Shot timer that will expire in 0.1 Game Time seconds
General - Wait for (Last started timer) to have 0.0 seconds Remaining
Point - Move Point 001 To ((Position of Merc - War Pig (Merc Marine) [97.62, 100.17]) offset by (0.0, 0.0))
Point - Make Point 001 face (Facing of Merc - War Pig (Merc Marine) [97.62, 100.17]) degrees
Camera - Set Camera 001 target to Point 001
Camera - Apply camera object Rotation (Facing of Point 001) for player 1 over 1.0 seconds with Existing Velocity% initial velocity and 10% deceleration
Timer - Restart (Last started timer)
There a nice smooth camera rotation for ya@Doom2Darkness: Go
Click "1" Click "Function" go down to "player from player group"
Click the bracket before (Allies of... and change it to "Active players.
So now you have
Add player (Player 1 from (active players)) to Team 1.
What this does, is it finds all the active players and treats them as a group. It then finds the first player in that group and adds it to team 1. It's the same way Unit groups work where it says Unit 1 from unit group. 1 is the first guy in the unit group.
So you have:
Map initialization:
Add player (Player 1 from (active players)) to Team 1.
Add player (Player 2 from (active players)) to Team 2.
Add player (Player 3 from (active players)) to Team 1.
Add player (Player 4 from (active players)) to Team 2.
Add player (Player 5 from (active players)) to Team 1.
Add player (Player 6 from (active players)) to Team 2.
Add player (Player 7 from (active players)) to Team 1.
Add player (Player 8 from (active players)) to Team 2.
Add player (Player 9 from (active players)) to Team 1.
Add player (Player 10 from (active players)) to Team 2.
I haven't tested this but it makes sense.
Now after that,
Set alliance team 1 allied with Shared vision
Set alliance team 2 allied with Shared vision
That seems much simpler to me.
That's what you are trying to accomplish right? Even if it doesn't work, you can use that as an example of what you want to accomplish. It reads WAY easier than what you have written up there.
Timer - Start (New timer) as a One Shot timer that will expire in 0.1 Game Time seconds
General - Wait for (Last started timer) to have 0.0 seconds Remaining
Point - Move Point 001 To ((Position of Merc - War Pig (Merc Marine) [97.62, 100.17]) offset by (0.0, 0.0))
Point - Make Point 001 face (Facing of Merc - War Pig (Merc Marine) [97.62, 100.17]) degrees
Camera - Set Camera 001 target to Point 001
Camera - Apply camera object Rotation (Facing of Point 001) for player 1 over 1.0 seconds with Existing Velocity% initial velocity and 10% deceleration
Timer - Restart (Last started timer)
There a nice smooth camera rotation for ya@Doom2Darkness: Go
-
That should help.
You just set it to go on when Unit uses Hold Fire.
Controlling a region means you have the most amount of units in that region right?
So basically you have a trigger set up for each player so that if a unit enters center node 1, it's added to that players Node 1 control group. So "Player 1 Center Node" variable as a unit group.
Another trigger is If a unit leaves the node, it's taken out of the unit group.
If a unit dies, it's taken out of the unit group. So you have a variable group for each player holding all the live units for that player inside the center node.
Then you have 3 more triggers. One trigger set for if any unit dies, another for if any unit enters center node, and another trigger that if any unit leaves. These three triggers all trigger a comparison trigger each individual player. 4 players, 4 triggers.
The comparison trigger compares units in the players control group, to the number of living units in the "Center Controller group"
If the numbers are higher than the Center Control Group, then remove all units from from Center Control Group, then pick all units from that players control group and add all those units to Center Control Group. This player is not the Center node 1 region controller. As well as this, you want to reset a money timer.
The money timer will give the control group owner 50 resources every 5 seconds. Separate trigger.
The way you do that is you have Money Timer expires as an event
For each player you have a money trigger
Comparison. Owner of (unit 1 from Center Control Group)) = 1
Add 50 minerals for player 1.
So with that, you have a trigger for each player keeping track of how it's doing in the region. You have a trigger working out who is doing the best in the region. You have another trigger working out if and when minerals should be delivered. Then you have a trigger for each player working out if that player is the one who gets the minerals.
Yes there may be simpler ways to do this but I found it simpler to do it this way.
Does it have to be an effect? Otherwise I'd use triggers. Make the effect a dud effect like "Heal Unit 0 points" or something.
You could maybe have the "Order (trigger unit) to (move targeting ((center of (Unit Group ((Triggering unit)))) offset by 1.0 towards (facing angle of (triggering unit)) degrees)) (replacing existing orders)"
To get this. Create action trigger, "Issue Order"
Click the bracket just before the words (Ability Command)
Change it to Function, "Order targeting point"
Ability Command change to Move.
Change Targeting Point to Function, "Point with polar offset"
Change point to Function, "Center of unit group"
Change Unit Group to Function, "Convert Unit to Unit Group"'
Click Degrees and Function, "Facing Angle of Unit"
Otherwise maybe you can have a trigger that creates a point infront of a unit. It's a technique used in the 3rd person targeting techniques I think
So I'd look into having a point offset from the unit by a certain distance and a the angle of the facing unit. Then when effect A is used, it executes the trigger for the triggering unit ordering the unit to move to the point.
0
Ok Create a camera for each person. Name them all different as in "CAM Player 1" "CAM Player 2" etc.
You have to put in points so that each camera is located at each unit.
You need to Apply Camera "CAM Player 1" for "Player 1"
You need to Apply Camera "CAM Player 2" for "Player 2"
I believe you would have to have the mouse movements of player 1 only effect the camera for player 1.
Onetwo has some awesome tutorials for this sort of thing.
0
This is an entire movie style experience but you play the action packed bits.
I don't know how blizzard make the character's mouths move so I ditched that bit but the story still works awesome in my books. What other ways do you think I could have done the cinematic to get it more movie like? Or is there actually a way to have their mouths move?
0
A combination of "Black And White" creature training, and Base Defense, but with a funny twist.
I don't know how easy it is to learn how to play it since I played it millions of times.
0
Isolate the events Remvoes everything else about the trigger and have the bear minimum.
Event: unit - any unit uses scv - return cargo at harvest4 - wait to return stage (include shared abilities)
Action: Display text saying "Trigger Activated"
So then when it triggers the event, you know and you go Woo Hoo!
Then try the other Event.
Event: unit - any unit uses scv - gather at generic6 - complete stage (include shared abilities)
Action: Display text saying "Trigger Activated"
Then test the condition.
Event Any unit enters region Test Condition ((Triggering unit) has Carry Terrazine Node) == true Action: Display text saying "Trigger Activated"
Then test combinations:
Event unit - any unit uses scv - return cargo at harvest4 - wait to return stage (include shared abilities) Condition ((Triggering unit) has Carry Terrazine Node) == true Action: Display text saying "Trigger Activated"
Event unit - any unit uses scv - gather at generic6 - complete stage (include shared abilities) Condition ((Triggering unit) has Carry Terrazine Node) == true Action: Display text saying "Trigger Activated"
You need to work out HOW the events and conditions work so you can be creative with them. Just copying and pasting won't be sufficient.
0
Ok really you need to set up multiple triggers.
Controlling a region means you have the most amount of units in that region right?
So basically you have a trigger set up for each player so that if a unit enters Room A, it's added to that players Node 1 control group. So "Player 1 Room A" variable as a unit group.
Another trigger is If a unit leaves the node, it's taken out of the unit group.
If a unit dies, it's taken out of the unit group. So you have a variable group for each player holding all the live units for that player inside the Room A.
Then you have 3 more triggers. One trigger set for if any unit dies, another for if any unit enters Room A, and another trigger that if any unit leaves. These three triggers all trigger a comparison trigger each individual player. 4 players, 4 triggers.
The comparison trigger compares units in the player's control group, to the number of living units in the "Room A Controller group"
If the numbers are higher than the Room A Controller group, then remove all units from from Room A Controller group, then pick all units from that player's control group and add all those units to Room A Controller group.
The AI timer will give the AI an order. Separate trigger.
The way you do AI is you have AI Timer expires as an event. For each player you have a AI trigger
Comparison. Owner of (unit 1 from Room A Controller group)) != 2 Controller of Player 2 = computer Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A.
So with that, you have a trigger for each player keeping track of how it's doing in the region. You have a trigger working out who is doing the best in the region. You have another trigger working out when to issue orders. Then you have a trigger for each player working out if that player is the one who gets the orders.
But that AI will always attack in 1 order. You can randomize the order with If then else commands.
So AI timer expires
Set AI variable = Random integer
If owner of unit in unit group Room A Controller != Player 2 And AI Variable = 1 Then Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A. Else If owner of unit in unit group Room B Controller != Player 2 And AI Variable = 2 Then Issue order to unit in unit group any unit in entire map owned by player 2, to attack center of Room A. Else etc
So that you are checking if player 2 owns it, and if it's randomly picked for attack, then attack it.
You would need a quick timer to check every half a second or so though because there may be like 30 times where they integer doesn't link up with the last room it has to attack.
It's easier to just have AI timer expires
Set AI variable = Random integer
Pick unit in unit group any unit set to alliance enemy with by player 2 And picked unit to "enemy group" Issue order to unit in unit group any in entire map owned by player 2, to attack random unit from "Enemy group".
Check out my map if you want to see what I did.
Adrenaline Rush Elite
0
This was supplied by Draken2223 -
General - Repeat (Actions) forever
Actions
Timer - Start (New timer) as a One Shot timer that will expire in 0.1 Game Time seconds
General - Wait for (Last started timer) to have 0.0 seconds Remaining
Point - Move Point 001 To ((Position of Merc - War Pig (Merc Marine) [97.62, 100.17]) offset by (0.0, 0.0))
Point - Make Point 001 face (Facing of Merc - War Pig (Merc Marine) [97.62, 100.17]) degrees
Camera - Set Camera 001 target to Point 001
Camera - Apply camera object Rotation (Facing of Point 001) for player 1 over 1.0 seconds with Existing Velocity% initial velocity and 10% deceleration
Timer - Restart (Last started timer)
There a nice smooth camera rotation for ya@Doom2Darkness: Go
-
0
Add player to player group
Click "1" Click "Function" go down to "player from player group" Click the bracket before (Allies of... and change it to "Active players.
So now you have
Add player (Player 1 from (active players)) to Team 1.
What this does, is it finds all the active players and treats them as a group. It then finds the first player in that group and adds it to team 1. It's the same way Unit groups work where it says Unit 1 from unit group. 1 is the first guy in the unit group.
So you have:
Map initialization:
Add player (Player 1 from (active players)) to Team 1.
Add player (Player 2 from (active players)) to Team 2.
Add player (Player 3 from (active players)) to Team 1.
Add player (Player 4 from (active players)) to Team 2.
Add player (Player 5 from (active players)) to Team 1.
Add player (Player 6 from (active players)) to Team 2.
Add player (Player 7 from (active players)) to Team 1.
Add player (Player 8 from (active players)) to Team 2.
Add player (Player 9 from (active players)) to Team 1.
Add player (Player 10 from (active players)) to Team 2.
I haven't tested this but it makes sense.
Now after that, Set alliance team 1 allied with Shared vision
Set alliance team 2 allied with Shared vision
That seems much simpler to me.
That's what you are trying to accomplish right? Even if it doesn't work, you can use that as an example of what you want to accomplish. It reads WAY easier than what you have written up there.
0
This was supplied by Draken2223
-General - Repeat (Actions) forever
Actions
Timer - Start (New timer) as a One Shot timer that will expire in 0.1 Game Time seconds
General - Wait for (Last started timer) to have 0.0 seconds Remaining
Point - Move Point 001 To ((Position of Merc - War Pig (Merc Marine) [97.62, 100.17]) offset by (0.0, 0.0))
Point - Make Point 001 face (Facing of Merc - War Pig (Merc Marine) [97.62, 100.17]) degrees
Camera - Set Camera 001 target to Point 001
Camera - Apply camera object Rotation (Facing of Point 001) for player 1 over 1.0 seconds with Existing Velocity% initial velocity and 10% deceleration
Timer - Restart (Last started timer)
There a nice smooth camera rotation for ya@Doom2Darkness: Go
-That should help.
You just set it to go on when Unit uses Hold Fire.
And instead of merc, use (triggering unit)
0
You can have a trigger set up so "unit from unit group uses ability Crono rift"
Actions, modify variable "Charges left" - 1
That's the way I would do it.
0
Ok you can easily do this.
Any unit enters range of unit from unit group.
For specifics, change any unit to unit from Unit group. And then change unit group to Units in region matching condition.
You can specify exactly what unit you want to come in contact with, and what unit you want it to come in contact with.
Then you change your range to 0.1 It's not specifically on top of but it's damn close. Maybe 0.0 might work.
Anyway.
Then you have your trigger make unit face angle.
Hope that helps.
0
Ok really you need to set up multiple triggers.
Controlling a region means you have the most amount of units in that region right?
So basically you have a trigger set up for each player so that if a unit enters center node 1, it's added to that players Node 1 control group. So "Player 1 Center Node" variable as a unit group.
Another trigger is If a unit leaves the node, it's taken out of the unit group.
If a unit dies, it's taken out of the unit group. So you have a variable group for each player holding all the live units for that player inside the center node.
Then you have 3 more triggers. One trigger set for if any unit dies, another for if any unit enters center node, and another trigger that if any unit leaves. These three triggers all trigger a comparison trigger each individual player. 4 players, 4 triggers.
The comparison trigger compares units in the players control group, to the number of living units in the "Center Controller group"
If the numbers are higher than the Center Control Group, then remove all units from from Center Control Group, then pick all units from that players control group and add all those units to Center Control Group. This player is not the Center node 1 region controller. As well as this, you want to reset a money timer.
The money timer will give the control group owner 50 resources every 5 seconds. Separate trigger.
The way you do that is you have Money Timer expires as an event For each player you have a money trigger
Comparison. Owner of (unit 1 from Center Control Group)) = 1
Add 50 minerals for player 1.
So with that, you have a trigger for each player keeping track of how it's doing in the region. You have a trigger working out who is doing the best in the region. You have another trigger working out if and when minerals should be delivered. Then you have a trigger for each player working out if that player is the one who gets the minerals.
Yes there may be simpler ways to do this but I found it simpler to do it this way.
Check out my map if you want to see what I did.
Adrenaline Rush Elite
0
Looks like there you have 2 things. The event, Complete Stage, to me means the unit nolonger has the behaivior enabled.
Try separating the 2 events into 2 separate triggers.
Remove "unit - any unit uses scv - gather at generic6 - complete stage (include shared abilities)"
To me, you seem like you want the SCV to come up on the map as "SCV carrying Canister"
So Event. SCV uses Gather Terrazine ability, then actions.
Ditch the condition. Ditch the stage complete thing.
I don't know.
I haven't looked at the gathering abilities as events.
0
(Unit 1 from (SCV units in (Entire map) owned by player 1 Excluded: Missle, Dead, Hidden, with at most Any amount)) dies.
CONDITIONS
((Triggering unit) has Carry Terrazine Node) == true
ACTIONS
Create Terrazine Canister for player 1 at (center of unit group (triggering unit)) using default facing (no options)
0
I'm not a Data editor guy. That stuff is beyond me since I am Old school Star Craft 1 editor guy.
0
Does it have to be an effect? Otherwise I'd use triggers. Make the effect a dud effect like "Heal Unit 0 points" or something.
You could maybe have the "Order (trigger unit) to (move targeting ((center of (Unit Group ((Triggering unit)))) offset by 1.0 towards (facing angle of (triggering unit)) degrees)) (replacing existing orders)"
To get this. Create action trigger, "Issue Order"
Click the bracket just before the words (Ability Command)
Change it to Function, "Order targeting point"
Ability Command change to Move.
Change Targeting Point to Function, "Point with polar offset"
Change point to Function, "Center of unit group"
Change Unit Group to Function, "Convert Unit to Unit Group"'
Click Degrees and Function, "Facing Angle of Unit"
Otherwise maybe you can have a trigger that creates a point infront of a unit. It's a technique used in the 3rd person targeting techniques I think
So I'd look into having a point offset from the unit by a certain distance and a the angle of the facing unit. Then when effect A is used, it executes the trigger for the triggering unit ordering the unit to move to the point.