• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Searching for guidance/advice

Level 5
Joined
Mar 15, 2021
Messages
29
Howdy, I am planning on making a campaign and for that I am searching for tutorials and guides on doing certain things, I have already found most of what I need, but I still need help on finding guides to learn how to do the following things:

How to make a hero stop gaining experience after reaching a certain level. (Ex: When the Hero reaches level 3, it can't get more exp until the next stage of the campaign)

How to make Quest Objetives with a kill/destroy X number of units or buildings condition.

How to make Quest Objetives with a train/build X number of units or buildings condition. (Like in the second stage of the human campaign)

How to make Timers. (Ex: Resist for X time, or, you have X until the enemy starts attacking)

How to make cinematics with units that spawn when the map is being played. (Ex: Heroes that are loaded from the Cache)

And lastly, How to give vision of certain areas of the map to the player.

I would thankful for any help that I can get.
 
Level 30
Joined
Aug 29, 2012
Messages
1,383
How to make a hero stop gaining experience after reaching a certain level. (Ex: When the Hero reaches level 3, it can't get more exp until the next stage of the campaign)

This is straightforward enough

  • XP
    • Events
      • Unit - A unit Gains a level
    • Conditions
      • (Hero level of (Triggering unit)) Equal to 3 //Integer
    • Actions
      • Hero - Disable experience gain for (Triggering unit).
How to make Quest Objetives with a kill/destroy X number of units or buildings condition.

There are multiple ways to do this, here's an example

  • Kills
    • Events
      • Unit - A unit owned by Player 1 (Red) Dies
    • Conditions
      • //Add some conditions here if you don't want ALL units to count
    • Actions
      • Set VariableSet Quest_Kills = (Quest_Kills + 1) // Integer variable
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Quest_Kills Greater than or equal to 10
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Quest - Mark KillsQuest as Completed
        • Else - Actions
Ideally you want to display a quest update text, mark the quest requirement as completed, etc.
How to make Quest Objetives with a train/build X number of units or buildings condition. (Like in the second stage of the human campaign)

Same idea as above except you can use events like those

  • Events
    • Unit - A unit owned by Player 2 (Blue) Finishes construction
    • Unit - A unit owned by Player 2 (Blue) Finishes training a unit
How to make Timers. (Ex: Resist for X time, or, you have X until the enemy starts attacking)

Timers are easy to use but you need to create a variable to reference them first, then you can use two triggers like this

  • Start Timer
    • Events
      • Time - Elapsed game time is 5.00 seconds
    • Conditions
    • Actions
      • Countdown Timer - Start Defense_Timer as a One-shot timer that will expire in 600.00 seconds
  • End Timer
    • Events
      • Time - Defense_Timer expires
    • Conditions
    • Actions
      • Game - Victory Player 2 (Blue) (Show dialogs, Show scores)
And lastly, How to give vision of certain areas of the map to the player.

You can use a visibility modifier to reveal a region (rectangle) or in a circle around a point

  • Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility across Orc Base Region <gen>
You can also use invisible, untargetable dummy units to provide you with vision.

I'm not sure to understand the question about the cinematic and this reply is already too long x')
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,870
Howdy, I am planning on making a campaign and for that I am searching for tutorials and guides on doing certain things, I have already found most of what I need, but I still need help on finding guides to learn how to do the following things:
Chaosium beat me to it. I'll attach my map though, it requires the latest patch to open and has an example of everything you listed.

These are EXAMPLES, and not something to necessarily copy and paste. There's bad triggering practices and good triggering practices and I made this in a rush so it's mostly bad. However, it gets the job done and when I say "bad" understand that I just have high standards - your map will run fine.
 

Attachments

  • Campaign Help 1.w3m
    32.9 KB · Views: 2
Last edited:
If it's something blizzard have done in their campaigns, you should be able to open them up in the World Editor and see how they did it themselves :) that's one of the best ways to check and what I do myself sometimes. In particular I recommend looking at the TFT campaigns since some of the RoC campaigns weren't as strict on their formatting.
 
Level 5
Joined
Mar 15, 2021
Messages
29
This is straightforward enough

  • XP
    • Events
      • Unit - A unit Gains a level
    • Conditions
      • (Hero level of (Triggering unit)) Equal to 3 //Integer
    • Actions
      • Hero - Disable experience gain for (Triggering unit).


There are multiple ways to do this, here's an example

  • Kills
    • Events
      • Unit - A unit owned by Player 1 (Red) Dies
    • Conditions
      • //Add some conditions here if you don't want ALL units to count
    • Actions
      • Set VariableSet Quest_Kills = (Quest_Kills + 1) // Integer variable
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Quest_Kills Greater than or equal to 10
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Quest - Mark KillsQuest as Completed
        • Else - Actions
Ideally you want to display a quest update text, mark the quest requirement as completed, etc.


Same idea as above except you can use events like those

  • Events
    • Unit - A unit owned by Player 2 (Blue) Finishes construction
    • Unit - A unit owned by Player 2 (Blue) Finishes training a unit


Timers are easy to use but you need to create a variable to reference them first, then you can use two triggers like this

  • Start Timer
    • Events
      • Time - Elapsed game time is 5.00 seconds
    • Conditions
    • Actions
      • Countdown Timer - Start Defense_Timer as a One-shot timer that will expire in 600.00 seconds
  • End Timer
    • Events
      • Time - Defense_Timer expires
    • Conditions
    • Actions
      • Game - Victory Player 2 (Blue) (Show dialogs, Show scores)


You can use a visibility modifier to reveal a region (rectangle) or in a circle around a point

  • Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility across Orc Base Region <gen>
You can also use invisible, untargetable dummy units to provide you with vision.

I'm not sure to understand the question about the cinematic and this reply is already too long x')

Chaosium beat me to it. I'll attach my map though, it requires the latest patch to open and has an example of everything you listed.

These are EXAMPLES, and not something to necessarily copy and paste. There's bad triggering practices and good triggering practices and I made this in a rush so it's mostly bad. However, it gets the job done and when I say "bad" understand that I just have high standards - your map will run fine.

If it's something blizzard have done in their campaigns, you should be able to open them up in the World Editor and see how they did it themselves :) that's one of the best ways to check and what I do myself sometimes. In particular I recommend looking at the TFT campaigns since some of the RoC campaigns weren't as strict on their formatting.

Thanks a lot for the help and advice, I will make sure to put it to good use. 😊
 
Top