HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

A way of preventing orders

01-20-2009, 07:58 AM#1
ToukoAozaki
I remember ordering units in response of orders (at least stop) didn't work and had to pause->stop->unpause or some sort of dirty work. While I was testing a 0-sec timer, I found out that it also works in this case. Ordering stop or whatever orders with a 0-sec timer callback will guarantee that the order is overridden.

Any questions or more ideas?
01-20-2009, 11:09 AM#2
chobibo
I heard SetUnitPosition interrupts orders.
01-20-2009, 11:15 AM#3
akolyt0r
Quote:
Originally Posted by ToukoAozaki
I remember ordering units in response of orders (at least stop) didn't work and had to pause->stop->unpause or some sort of dirty work. While I was testing a 0-sec timer, I found out that it also works in this case. Ordering stop or whatever orders with a 0-sec timer callback will guarantee that the order is overridden.

Any questions or more ideas?

ya ...rising dusk should use that method in his SimErrorEx ..much better then pause / unpause
01-20-2009, 02:17 PM#4
Ammorth
I use 0 second timers and they work nicely and are easy to implement.
01-20-2009, 02:23 PM#5
Rising_Dusk
Quote:
Originally Posted by akolyt0r
ya ...rising dusk should use that method in his SimErrorEx ..much better then pause / unpause
I'm aware, but I need to be home and have access to the WE before I can update. :)
01-20-2009, 11:29 PM#6
fX_
thx for imparting. pause-unpause screws up other deliberate pauses.
01-20-2009, 11:38 PM#7
Kyrbi0
Huh. Does using a timer of 0 require using locals?
01-20-2009, 11:52 PM#8
Ammorth
Quote:
Originally Posted by Kyrbi0
Huh. Does using a timer of 0 require using locals?
Actually, it requires use of globals (either structs or raw globals, depending how safe you want it to be).
01-22-2009, 05:54 AM#9
fX_
y bother with a timer and all it entails when u can just do a wait.
01-22-2009, 06:02 AM#10
Ammorth
Quote:
Originally Posted by fX_
y bother with a timer and all it entails when u can just do a wait.
Because wait suck, they don't provide the control you need, they are random in the time it waits (can actually fuck up replays if played at a faster speed), and cause the unit to still be issued the order (which we are trying to avoid).
01-22-2009, 06:13 AM#11
Rising_Dusk
Quote:
Originally Posted by fx_
thx for imparting. pause-unpause screws up other deliberate pauses.
They couldn't have even received an order in the first place if they were paused to begin with. That argument is really quite silly. The pause/unpause overhead is not that bad, neither is the timer version. I think giving users the option is the proper approach in my case.
01-22-2009, 09:24 AM#12
Beardo
SetUnitPosition will order the unit to "stop", even if it has Amov gone.
01-22-2009, 10:09 AM#13
DioD
set position may and will cause unit to jump around if its near other moving units.

this easy (much more easy then timer 0) but can cause many problems.
01-22-2009, 03:33 PM#14
Troll-Brain
Quote:
Originally Posted by DioD
set position may and will cause unit to jump around if its near other moving units.

this easy (much more easy then timer 0) but can cause many problems.
It's not easier just more lame, because you must use a 0 timer also xD
01-22-2009, 10:04 PM#15
DioD
timer 0 or not timer 0 units jump around, you can test it self or watch DotA mobs (pathing system uses position for path correcting)