SetUnitX and SetUnitY

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Code:
Warp Attack
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Warp Attack 
    Actions
        Set U = (Target unit of ability being cast)
        Set L = (Position of U)
        Set RealX = (X of L)
        Set RealY = (Y of L)
        Custom script:   call SetUnitX( GetTriggerUnit(), udg_RealX )
        Custom script:   call SetUnitY( GetTriggerUnit(), udg_RealY )
        Unit - Order (Triggering unit) to Attack U
        Custom script:   call RemoveLocation( udg_L )

This is my trigger.
If more than one unit cast it at about the same time, Warcraft3 crashes.
Warcraft3 crashes without an error message, it just returned to Desktop.

Anyone knows the solution?
FYI, when I used 'Unit - Move Instantly to Location' it didn't crash, so SetUnitX and SetUnitY must be the cause of the problem, but I don't know what I am missing.
 

Flare

Stops copies me!
Reaction score
662
You're moving outside map boundaries.

Add this to your map header
JASS:
function SetUnitXY takes unit u, real x, real y returns nothing
     if x<GetRectMaxX(bj_mapInitialPlayableArea) and x>GetRectMinX(bj_mapInitialPlayableArea) and y<GetRectMaxY(bj_mapInitialPlayableArea) and y>GetRectMinY(bj_mapInitialPlayableArea) then
       call SetUnitX(u,x)
       call SetUnitY(u,y)
     endif
endfunction


And just do:
JASS:
call SetUnitXY (GetTriggerUnit, udg_RealX, udg_RealY)


instead of calling the functions individually
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Thanks, but how is it possible?
Because the X and the Y is not out of map boundaries (since L is the position of a unit which is in the map)
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Well, I'm still curious :p

EDIT:
Shoot, a beginner's mistake >_> (shouldn't have posted before testing it)
Actually, it didn't work after I tested it.
Hope somebody notices this.

It still crashes.
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Well, yes, that's the last thing I changed before testing the map (and crashing)
And that's the ability used by the two units when it crashed.

Strange thing is that it was okay when I used 'Unit-Move Instantly to Location'
 

denmax

You can change this now in User CP.
Reaction score
155
Well, I couldn't be the boundaries of the Entire Map o_O..

But just to tell you, its x first, then y, not an instant xy.. so instead of slant, it makes a 90 degree angle o_O..
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
If I knew I wouldn't be asking.

It works properly if only one unit is casting it.
But if more than one, it crashes...

And more, I really need it to be MUI because many units are going to cast this really often, so casting it at the (near) same time is not impossible.
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
I can't see what's wrong with it, does it always crash whenever a second unit uses it?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
When two units cast it together, at first time it doesn't crash.
The second time it happens, it crashes.
It took me back to Desktop without any Error Message.
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
There are no waits so it isn't the MUI-ness that's an issue. I can't really see the problem. If you change back to "move unit instantly" does it work as planned then?
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
Well I just wanted to know if it worked as planned with SetUnitPositionLoc().

Only thing I can think of is that "X of L" isn't working as planned. If you convert it to custom script does it give you

JASS:
set udg_RealX = GetLocationX(udg_L)


or does it give you something else?
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
It shouldn't crash. Are you sure you haven't gotten anything else that's causing it?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Using Location was fine.
The only thing I changed was that, and it crashed.

=/
I am as confused as anyone of you seeing this.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top