HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

how does a paused game and paused-game-ignoring-triggers work?

06-07-2008, 01:08 PM#1
inkken
In an older version of Dota, i remembered an old exploit that allowed a player to have more than one hero.
They would pause the game, spam the -random chat command several times, and then resume the game.

Similarly, in Jurassic park survival (version?) a player could open a single happy meal multiple times; obtaining multiple items in the process.
They would pause the game, spam the -open chat command multiple times, and then resume the game.

However, both in DotA and Jurassic park, if you were to spam their respective chat command without pausing the game, you would only get one result; the trigger only executed once.

So, my question is: why is that? why did the DotA/Jurassic park's trigger, when the game was paused, executed multiple times even though it was only suppose to execute once?

How does an executed trigger behave under a paused game state?
---

My initial reaction was that the trigger is being fired simultaneously, but that wasn't the case after i did some testing.
The script fired when the game was paused - i can actually see a unit being created under a paused game state.
When i ordered the created unit to move or cast a spell, it did not do it until i resumed the game.

I even destroyed the trigger once it has been executed and it never executed the second time under the paused game state.

so what gives? it seem to act like any predictable script.
06-07-2008, 01:47 PM#2
Tide-Arc Ephemera
My guess is that it activates multiple times in a simultaneously instance. Turn it off AT THE START of the actions and then turn it on AT THE END of the actions. That's what I did and it worked in GUI (from what I remember anyway).
06-10-2008, 03:17 PM#3
Strilanc
I'm guessing that whatever method DOTA used to block future heroes was dependent on a small amount of time passing. For example: making a tavern unavailable might require a small amount of game time to pass, so getting two heroes at the same game-instant bypasses that check.
06-10-2008, 09:21 PM#4
d07.RiV
It is because the triggers [used to] disable themselves when they are executed. And if you type the command multiple times during pause, either the disablesaren't executed until next frame somehow, or the triggers simply use a wait() or something similar before disabling themselves.
Similar thing happened in a relatively recent version of dota, when you could pick several heroes by pressing their hotkeys simultaneously.
06-12-2008, 10:56 AM#5
PandaMine
Quote:
Originally Posted by d07.RiV
It is because the triggers [used to] disable themselves when they are executed. And if you type the command multiple times during pause, either the disablesaren't executed until next frame somehow, or the triggers simply use a wait() or something similar before disabling themselves.
Similar thing happened in a relatively recent version of dota, when you could pick several heroes by pressing their hotkeys simultaneously.

Ahh so thats what it was

Pity IceFrog fixed it :(