• 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.

Hide minimap information? and: Multiple attack objectives?

Status
Not open for further replies.
Level 4
Joined
Aug 26, 2015
Messages
71
I have a question. In my map when the cinematic ends it shows all the information on the map , the creeps too, and i want it to be hidden, not shown for all players. So, the player have to explore it.

And another question: Is it possible to order something to attack "X" and then, another action to attack "Y"? I explain:

  • Actions
    • Unit - Order Paladin 0016 <gen> to Attack Cage 1180 <gen>
    • Unit - Order Paladin 0016 <gen> to Attack Cage 1179 <gen>
    • Unit - Order Paladin 0016 <gen> to Attack Cage 1178 <gen>
I want to the paladin to attack Cage 1180 and when it's died, attack cage 1179 and when its died, 1178. Is it possible ?:p
 

Ardenian

A

Ardenian

B.)
No, it does not work the way you show.

It would work with an If/Then/Else with If checking if the cage is alive and Then the order to attack it, Else another If/Then/Else with If checking if the second cage is alive and so on.
 
Level 4
Joined
Aug 26, 2015
Messages
71
Thanks for the first question. But, will it only hide creep camps? When i start the game i want the minimap to only show the starting part, and the cinematic shows a further one.

Now for the second. Mine isn't working :S?

  • Actions
    • Unit - Order Paladin 0016 <gen> to Attack Cage 1243 <gen>
    • If (Cage 1243 <gen> Equal to (Dying destructible)) then do (Unit - Order Paladin 0016 <gen> to Attack Cage 1180 <gen>) else do (Do nothing)
    • If (Cage 1180 <gen> Equal to (Dying destructible)) then do (Unit - Order Paladin 0016 <gen> to Attack Cage 1179 <gen>) else do (Do nothing)
    • If (Cage 1179 <gen> Equal to (Dying destructible)) then do (Unit - Order Paladin 0016 <gen> to Attack Cage 1178 <gen>) else do (Do nothing)
He destroys the first one and then he doesnt do anything.
 

Ardenian

A

Ardenian

For the second one:

  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • 'IF'-Conditions
        • (Cage 1243 is alive) Equal True
      • 'THEN'-Actions
        • Unit - Order Paladin 0016 to Attack Cage 1243
      • 'ELSE'-Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • 'IF'-Conditions
            • (Cage 1180 is alive) Equal True
          • 'THEN'-Actions
            • Unit - Order Paladin 0016 to Attack Cage 1180
          • 'ELSE'-Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • 'IF'-Conditions
                • (Cage 1179 is alive) Equal True
              • 'THEN'-Actions
                • Unit - Order Paladin 0016 to Attack Cage 1179
              • 'ELSE'-Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • 'IF'-Conditions
                    • (Cage 1178 is alive) Equal True
                  • 'THEN'-Actions
                    • Unit - Order Paladin 0016 to Attack Cage 1178
                  • 'ELSE'-Actions
You also need a periodic check as event if you use this solution:
  • Time - Every 2.00 seconds of game time
-----

Another approach could be to write several triggers with the event of the previous cage being destroyed.

Example:
  • Event
    • Destructible - Cage 1243 dies
  • Conditions
  • Actions
    • Unit - Order Paladin 0016 to Attack Cage 1180
But, the disadvantage would be that you have to write several triggers for every cage.

To solve this, index the cages and set a variable.

-> Trigger 1
  • Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set CinematicCage[1] = Cage 1243
      • Set CinematicCage[2] = Cage 1180
      • Set CinematicCage[3] = Cage 1179
      • Set CinematicCage[4] = Cage 1178
Trigger 2
  • Initialization
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Triggering unit) Equal CinematicCage[CinematicIndex]
    • Actions
      • Set CinematicIndex = (CinematicIndex + 1)
      • Unit - Order Paladin0016 to Attack CinematicCage[CinematicIndex]
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Conditions
          • CinematicIndex Equal 4
        • 'THEN'-Actions
          • Trigger - Turn off (This trigger)
        • 'ELSE'-Actions
CinematicCage[1] is a unit variable with an array
CinematicIndex is an integer variable

For this better solution the cages have to be units, not destructible.
 
Status
Not open for further replies.
Top