Psiblade94122
In need of sleep
- Reaction score
- 138
most people who are unfamiliar with Jass will most likely encounter this problem sooner or later
When the move unit instantly action is used, that unit is FORCED to STOP
this is extremely frustrating for those who want to create GUI slides, but there is hope. With a few lines of custom text, that problem will be solved.
and
First off, if we like using things like Set point = point with polar offset, X/Y coords is gonna be hard one would think. Another simple solution to a problem that seems big...
If we where to take two Real variables, lets name them X and Y shall we?
We can take the Coordinates of a point, lets say point "L3" (mainly because im lazy and im pasteing this stuff from the map i have open right now)
so in GUI we have
and
Okay, so we have X and Y now. Its time to plug them in!
There, we just made the unit move by useing X and Y along with the functions "SetUnitX" and "SetUnitY". So whats the point?
It allows the movement of a unit without that unit loosing its current orders, it dose not order them to "Stop" every time they are moved.
Now, the final part of this snippet. Unit rotation without the unit loosing its order. This is for all those people who want to channel spells and turn around at the same time.
Like last time this requires a unit and a real, so i wont explain it again.
Yea its a snippet, and a pretty crappy one too, but these are 3 functions that allow you to move a unit around or make it turn without it looseing its orders.
If you guys have any questions feel free to ask.
Oh a note, If your used to GUI and arnt comfortable with the codes above, i suggest storing whatever needs to go inside the ( ) of the functions before hand, so it can be easily referenced to, although its not the most effective way, its one of the simplest ways of using this method.
And an example Trigger
this trigger will make the unit move forward while turning it in random directions
When the move unit instantly action is used, that unit is FORCED to STOP
this is extremely frustrating for those who want to create GUI slides, but there is hope. With a few lines of custom text, that problem will be solved.
and
First off, if we like using things like Set point = point with polar offset, X/Y coords is gonna be hard one would think. Another simple solution to a problem that seems big...
If we where to take two Real variables, lets name them X and Y shall we?
We can take the Coordinates of a point, lets say point "L3" (mainly because im lazy and im pasteing this stuff from the map i have open right now)
so in GUI we have
Code:
Set X = (X of L3)
Code:
Set Y= (Y of L3)
Okay, so we have X and Y now. Its time to plug them in!
There, we just made the unit move by useing X and Y along with the functions "SetUnitX" and "SetUnitY". So whats the point?
It allows the movement of a unit without that unit loosing its current orders, it dose not order them to "Stop" every time they are moved.
Now, the final part of this snippet. Unit rotation without the unit loosing its order. This is for all those people who want to channel spells and turn around at the same time.
JASS:
SetUnitFacing( Your Unit, A Real )
Like last time this requires a unit and a real, so i wont explain it again.
Yea its a snippet, and a pretty crappy one too, but these are 3 functions that allow you to move a unit around or make it turn without it looseing its orders.
If you guys have any questions feel free to ask.
Oh a note, If your used to GUI and arnt comfortable with the codes above, i suggest storing whatever needs to go inside the ( ) of the functions before hand, so it can be easily referenced to, although its not the most effective way, its one of the simplest ways of using this method.
And an example Trigger
Code:
Untitled Trigger 001
Events
Time - Every 0.04 seconds of game time
Conditions
Actions
Set L = (Position of Peasant 0000 <gen>)
Set L3 = (L offset by 25.00 towards (Facing of Peasant 0000 <gen>) degrees)
Set Real = (Random angle)
Set X = (X of L3)
Set Y = (Y of L3)
Custom script: call SetUnitX( gg_unit_hpea_0000, udg_X )
Custom script: call SetUnitY( gg_unit_hpea_0000, udg_Y )
Custom script: call SetUnitFacing( gg_unit_hpea_0000, udg_Real )
Custom script: call RemoveLocation(udg_L)
Custom script: call RemoveLocation(udg_L3)
this trigger will make the unit move forward while turning it in random directions