I am going to show you how to create Objectives for a map. This is actually very simple and does not require a lot of knowledge of the Data Editor to get it.
Then I'm going to show you how to send a Transmission to somebody.
Note: You must expand the Trigger Editor and the Action/Events/Conditions Menu to see everything.
===== Objectives =====
1. Open the Trigger Editor.
2. Make a new Event that looks like: Objective < Create Objective.
3. Then set the desired options. I recommend setting the objective to Active - Primary, since you are probably going to have the objective in where you want it to appear.
Ex: After you gather minerals you have to destroy a Protoss Base. (Objective Comes In)
4.Now again create a new Event and do: Data Table < Save Data Table Value (Objective) Then set it to Save Last Created Objective as (Objective Name, mine is Objective 1) in the Global Data Table.
5. Now, create a New Element, and look at the second picture at the bottom. Make the event what you want the objective to be. Mine is when Nexus Dies. Then do: Objective - Mark (Name of Objective; Note, you have to type the name in, in the Value Section.) as Completed.
Done! Now you can make the objectives more elaborate and add more actual objectives needed to complete it.
Ex: Destroy, Nexus, Gateway, and Photon Cannon; then mark it as completed.
===== Transmissions =====
To do this, just create an event like this: Transmission < Create Transmission (Not Simple) Then just fill out the box, and voila. You have a message.
3d portraits are static if your video settings are set to low quality (ie if you video card cant handle it, or whatnot). so that too may be why your portrait was static.
Thanks for the Tutorial, really helped and I believe I can expand on it using my knowledge of other game engines.
Tip however... I would take the extra time to explain step by step how you accessed the specific Actions, Events, and Conditions. Maybe giving their default name as well so us following your tutorials can find them by using the search function.
Also, you keep referring to Actions as Events and vice versa. This lead to confusion as I was trying to create a new event, when you really wanted me to create a new Action.
Thanks again for the tutorial, great stuff. But making it a bit clearer and user friendly would take it to the next level.
Heyas your tutorial about how to make objectives works perfectly, i just wondering is there a way to make it so you are required to kill 20 Nexus's. Sorry im very new to all this,just want it so when i kill the first one it doesnt say complete, i would need to kill all 20 for it to be checked off.Any advice would be much appreciated tyty
Hiya i was wondering if you could answer a question about objectives it would be a big help. I was wondering is there a way to make it so you are required to destory 0/20 nexus's or save 0/20 "any unit". I know how to make the objectives but i just dont want to to say complete right when i destory the first object, i would need to kill all 20 for it to say complete. Just any help would be very much appreciated
Hiya i was wondering if you could answer a question about objectives it would be a big help. I was wondering is there a way to make it so you are required to destory 0/20 nexus's or save 0/20 "any unit". I know how to make the objectives but i just dont want to to say complete right when i destory the first object, i would need to kill all 20 for it to say complete. Just any help would be very much appreciated
----
I have come up with something along those lines while working on a remake of the StarCraft map "Wasteland", where you are supposed to find Jim Raynor, build a barracks and then build 10 marines. It is not exactly what you want but it'll point you in the right direction. I'll add some notes on how to modify this for your problem after the triggers.
============================================
create objective: build 10 marines
Events
Local Variables
Conditions
Actions
Objective - Create a Active Primary objective with text (Combine ("Marines built: ", (Text((Marine count for player 1, counting Complete))), "/10")) and description ""
Data Table - Save (Last created objective) as "build 10 marines objective" in the Global data table
update objective: build 10 marines
Events
Local Variables
Conditions
Actions
Objective - Set ("build 10 marines objective" from the Global data table) text to (Combine ("Marines built: ", (Text((Marine count for player 1, counting Complete))), "/10"))
Trigger - Run check objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
check objective: build 10 marines
Events
Local Variables
Conditions
(Marine count for player 1, counting Complete) >= 10
Actions
Trigger - Run complete objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
check objective: build 10 marines
Events
Local Variables
Conditions
(Marine count for player 1, counting Complete) >= 10
Actions
Trigger - Run complete objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
Marine built
Events
Unit - Any Unit training progress is Completed
Local Variables
Conditions
(Triggering progress unit type) == Marine
(Marine count for player 1, counting Complete) <= 10
Actions
Trigger - Run update objective: build 10 marines (Ignore Conditions, Don't Wait until it finishes)
Marine dies
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == Marine
Actions
Trigger - Run update objective: build 10 marines (Ignore Conditions, Don't Wait until it finishes)
===================================================================
There are different ways of interpreting your request:
1) There are 20 Nexuses on the map and the player should destroy them all. If new ones get built, those ones need to be destroyed too.
This is closer to my marines (and easier to implement), because you can just count the number of units of a certain type on the map. In the place where you describe how many Nexuses are left to be killed, instead of using the basic number, use an expression like '20 - x'. And change the 'check objective' accordingly.
2) You want to track the number of times the player has destroyed a Nexus, regardless of whether new ones get built (or e. g. perhaps someone else kills some Nexuses). Then you would need to introduce a global variable that gets incremented each time a Nexus is killed. That variable is then displayed in the (updated) Objective text.
Hai. I've been following the tutorial thoroughly, despite the confusing event/action typos(?). I've made an objective in which I want a Hellion reach a destination.
First Element:
Events
Game - Map initialization
Actions
Objective - Create a Active Primary objective with text "Reach the Outpost" and description ""
Data Table - Save (Last created objective) as "Outpost" in the Global data table
^ The objective and saving the objective in the global data table. I don't think that the problem lies within that element. *Shrug*
Second element:
Events
Unit - Hellion [coords]EntersRegion 001
Actions
Objective - Mark ("Outpost" from the Global data table) as Completed
^ Completing the objective etc.
Right! Now, when I test the map and orders the Hellion to enter the region, the objective's state remains uncompleted. I'd appreciate some help!
I have a little bit of a problem, i created a dialog so when i make Event - "Any Unit Dies" i can't pick a unit couse it's not on a map. can anyone pls help me?
Tutorial doesnt work. Also. Step 2 and 4 For when you say event. there actually Action although What i may be saying is because blizzard loves to just make a editor and not tell people how to use it. But yeah in one of the patches they must have dinged around with the editor badly.
Edit: Lol i just figured it out.
When he says Objective - mark
In the editor now that means
SET OBJECTIVE State.
I am going to show you how to create Objectives for a map. This is actually very simple and does not require a lot of knowledge of the Data Editor to get it.
Then I'm going to show you how to send a Transmission to somebody.
Note: You must expand the Trigger Editor and the Action/Events/Conditions Menu to see everything.
===== Objectives =====
1. Open the Trigger Editor.
2. Make a new Event that looks like: Objective < Create Objective.
3. Then set the desired options. I recommend setting the objective to Active - Primary, since you are probably going to have the objective in where you want it to appear.
Ex: After you gather minerals you have to destroy a Protoss Base. (Objective Comes In)
4.Now again create a new Event and do: Data Table < Save Data Table Value (Objective) Then set it to Save Last Created Objective as (Objective Name, mine is Objective 1) in the Global Data Table.
5. Now, create a New Element, and look at the second picture at the bottom. Make the event what you want the objective to be. Mine is when Nexus Dies. Then do: Objective - Mark (Name of Objective; Note, you have to type the name in, in the Value Section.) as Completed.
Done! Now you can make the objectives more elaborate and add more actual objectives needed to complete it.
Ex: Destroy, Nexus, Gateway, and Photon Cannon; then mark it as completed.
===== Transmissions =====
To do this, just create an event like this: Transmission < Create Transmission (Not Simple) Then just fill out the box, and voila. You have a message.
Here is a short video showing the two in action. (I do not have the objective being completed, sorry forgot.)
@WraithChaser: Go
How did you get the transmission to animate? When I made one, the image remained static.
@Southpaw444: Go
Use 3D Portraits.
3d portraits are static if your video settings are set to low quality (ie if you video card cant handle it, or whatnot). so that too may be why your portrait was static.
Thanks for the Tutorial, really helped and I believe I can expand on it using my knowledge of other game engines.
Tip however... I would take the extra time to explain step by step how you accessed the specific Actions, Events, and Conditions. Maybe giving their default name as well so us following your tutorials can find them by using the search function.
Also, you keep referring to Actions as Events and vice versa. This lead to confusion as I was trying to create a new event, when you really wanted me to create a new Action.
Thanks again for the tutorial, great stuff. But making it a bit clearer and user friendly would take it to the next level.
@WraithChaser: Go
Heyas your tutorial about how to make objectives works perfectly, i just wondering is there a way to make it so you are required to kill 20 Nexus's. Sorry im very new to all this,just want it so when i kill the first one it doesnt say complete, i would need to kill all 20 for it to be checked off.Any advice would be much appreciated tyty
@WraithChaser: Go
Hiya i was wondering if you could answer a question about objectives it would be a big help. I was wondering is there a way to make it so you are required to destory 0/20 nexus's or save 0/20 "any unit". I know how to make the objectives but i just dont want to to say complete right when i destory the first object, i would need to kill all 20 for it to say complete. Just any help would be very much appreciated
Quote from rentonsmiley45:
@WraithChaser: Go
Hiya i was wondering if you could answer a question about objectives it would be a big help. I was wondering is there a way to make it so you are required to destory 0/20 nexus's or save 0/20 "any unit". I know how to make the objectives but i just dont want to to say complete right when i destory the first object, i would need to kill all 20 for it to say complete. Just any help would be very much appreciated
----
I have come up with something along those lines while working on a remake of the StarCraft map "Wasteland", where you are supposed to find Jim Raynor, build a barracks and then build 10 marines. It is not exactly what you want but it'll point you in the right direction. I'll add some notes on how to modify this for your problem after the triggers.
============================================
create objective: build 10 marines
Events
Local Variables
Conditions
Actions
Objective - Create a Active Primary objective with text (Combine ("Marines built: ", (Text((Marine count for player 1, counting Complete))), "/10")) and description ""
Data Table - Save (Last created objective) as "build 10 marines objective" in the Global data table
update objective: build 10 marines
Events
Local Variables
Conditions
Actions
Objective - Set ("build 10 marines objective" from the Global data table) text to (Combine ("Marines built: ", (Text((Marine count for player 1, counting Complete))), "/10"))
Trigger - Run check objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
check objective: build 10 marines
Events
Local Variables
Conditions
(Marine count for player 1, counting Complete) >= 10
Actions
Trigger - Run complete objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
check objective: build 10 marines
Events
Local Variables
Conditions
(Marine count for player 1, counting Complete) >= 10
Actions
Trigger - Run complete objective: build 10 marines (Check Conditions, Don't Wait until it finishes)
Marine built
Events
Unit - Any Unit training progress is Completed
Local Variables
Conditions
(Triggering progress unit type) == Marine
(Marine count for player 1, counting Complete) <= 10
Actions
Trigger - Run update objective: build 10 marines (Ignore Conditions, Don't Wait until it finishes)
Marine dies
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == Marine
Actions
Trigger - Run update objective: build 10 marines (Ignore Conditions, Don't Wait until it finishes)
===================================================================
There are different ways of interpreting your request:
1) There are 20 Nexuses on the map and the player should destroy them all. If new ones get built, those ones need to be destroyed too.
This is closer to my marines (and easier to implement), because you can just count the number of units of a certain type on the map. In the place where you describe how many Nexuses are left to be killed, instead of using the basic number, use an expression like '20 - x'. And change the 'check objective' accordingly.
2) You want to track the number of times the player has destroyed a Nexus, regardless of whether new ones get built (or e. g. perhaps someone else kills some Nexuses). Then you would need to introduce a global variable that gets incremented each time a Nexus is killed. That variable is then displayed in the (updated) Objective text.
I hope that helps.
Regards,
OpposingFranz
Thanks for this tutorial. Helped me to make my objectives work. There was some mistakes / hard to undertand things just as nkCowmaster saied.
Hai. I've been following the tutorial thoroughly, despite the confusing event/action typos(?). I've made an objective in which I want a Hellion reach a destination.
First Element:
Events
Actions
^ The objective and saving the objective in the global data table. I don't think that the problem lies within that element. *Shrug*
Second element:
Events
Actions
^ Completing the objective etc.
Right! Now, when I test the map and orders the Hellion to enter the region, the objective's state remains uncompleted. I'd appreciate some help!
Thanks in advance.
I have a little bit of a problem, i created a dialog so when i make Event - "Any Unit Dies" i can't pick a unit couse it's not on a map. can anyone pls help me?
Tutorial doesnt work. Also. Step 2 and 4 For when you say event. there actually Action although What i may be saying is because blizzard loves to just make a editor and not tell people how to use it. But yeah in one of the patches they must have dinged around with the editor badly.
Edit: Lol i just figured it out. When he says Objective - mark In the editor now that means SET OBJECTIVE State.