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

Creating a "tactical pause" command like Dragon Age

Level 1
Joined
Dec 7, 2024
Messages
1
So i've seen versions of this request in other threads from 10+ years ago, but none that solve what I'm trying to accomplish.

Simply put, I just want to create a "tactical pause" command like in Dragon Age: Origins or any other real-time-with-pause CRPG. Effectively the game stops, but you can issue commands to your units. You then unpause, and the units follow through with the orders.

My first instinct was to simply find a way to toggle the game speed between 0.01 and 1, as this would have a similar effect. However, I don't believe there's any global "gamespeed" variable. I've seen people posting about setting unit speed, animation speed, and attack speed to zero, but I'm not sure if I can toggle this for every unit on the map, both friendly and enemy, at the same time? And even if I did, I'm not sure if it would have the effect i'm looking for.

I've also seen the function PauseUnit()... would pausing all units on the map have the proper effect?

Lastly, even if I do find an Action that effectively pauses the game, I'm not sure what the best way to toggle it would be. Ideally I'd love to hotkey it Space, but from what I've read it's not that simple. Are there any workarounds that could do something similar, and simply?

I looooove real team with pause combat and feel like it would completely change the rhythm of WC3 in a really fun way, but I just can't find anyone making anything like that! Thank you for the help, I'm very new to the world editor.
 
Last edited:
Level 4
Joined
Nov 2, 2013
Messages
62
So i've seen versions of this request in other threads from 10+ years ago, but none that solve what I'm trying to accomplish.

Simply put, I just want to create a "tactical pause" command like in Dragon Age: Origins or any other real-time-with-pause CRPG. Effectively the game stops, but you can issue commands to your units. You then unpause, and the units follow through with the orders.

My first instinct was to simply find a way to toggle the game speed between 0.01 and 1, as this would have a similar effect. However, I don't believe there's any global "gamespeed" variable. I've seen people posting about setting unit speed, animation speed, and attack speed to zero, but I'm not sure if I can toggle this for every unit on the map, both friendly and enemy, at the same time? And even if I did, I'm not sure if it would have the effect i'm looking for.

I've also seen the function PauseUnit()... would pausing all units on the map have the proper effect?

Lastly, even if I do find an Action that effectively pauses the game, I'm not sure what the best way to toggle it would be. Ideally I'd love to hotkey it Space, but from what I've read it's not that simple. Are there any workarounds that could do something similar, and simply?

I looooove real team with pause combat and feel like it would completely change the rhythm of WC3 in a really fun way, but I just can't find anyone making anything like that! Thank you for the help, I'm very new to the world editor.
I guess is easy pause everything, except the DoT damages, buff times, summonings times, and store every pending action
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,866
The Pause action does freeze timers on buffs and would prolong summons, DoTs, etc. Not sure how effective it's though.

Having the Spacebar pause would be pretty simple, just use something like this:

You then run some Actions in response to the Key press in order to Pause/Unpause all the units:
  • Actions
    • Set Variable AllUnits = (Units in playable map area)
    • Unit Group - Pick every unit in AllUnits and do (Actions)
      • Loop - Actions
        • Unit - Pause (Picked unit)
Toggle the behavior with a Boolean variable and an If Then Else action -> If PauseState equal to true Then Set PauseState = false Else Set PauseState = true.
 
Last edited:
Level 4
Joined
Nov 2, 2013
Messages
62
But how did u pause a blizzard, flamestrike skill? If you pause while those are channel, that make loose the skill
 
Top