Position Between Points

Pigger

New Member
Reaction score
13
Is there any ways (with GUI) to detect when a unit is located between two points?

For example:
! = Point
- = Space between the points
0 = Unit

Code:
.  0
   0
!--[COLOR="Red"]0[/COLOR]--!
   0
   0

Detecting the red one when it is that that point walking through/between points.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
Comparing the Angle Between Point of the unit and point 1, then the unit and point 2 should give you the answer.
Do some experimenting with that.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
Hm. If you used that, you could check the x and y coordinates of the position of the unit.
Even within a certain range.
 

Pigger

New Member
Reaction score
13
Ok, sorry Hero I'm skipping over your suggest for right now simply because I'm not a JASS man yet.

I have a trigger to find the angles:

Code:
Init
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Ability being cast) Equal to Slingshot (1)
            Then - Actions
                Set Unit = (Triggering unit)
                Set TreePos[1] = (Target point of ability being cast)
                Unit - Remove Slingshot (1) from (Triggering unit)
                Unit - Add Slingshot (2) to (Triggering unit)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Ability being cast) Equal to Slingshot (2)
            Then - Actions
                Set TreePos[2] = (Target point of ability being cast)
                Unit - Remove Slingshot (2) from (Triggering unit)
                Unit - Add Slingshot (1) to (Triggering unit)
                Lightning - Create a Drain Life lightning effect from source TreePos[1] to target TreePos[2]
                Set Angle = (Angle from TreePos[1] to TreePos[2])
                Trigger - Turn on CheckingTrigger <gen>
            Else - Actions

Code:
CheckingTrigger
    Events
        Time - Every 0.03 seconds of game time
    Conditions
    Actions
        Set UnitPos = (Position of Unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Angle from UnitPos to TreePos[1]) Equal to Angle
            Then - Actions
                Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
            Else - Actions
        Custom script:   call RemoveLocation(udg_UnitPos)

Code:
WalknStart
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Game - Display to (All players) the text: (TreeAngle =  + (String(Angle)))
        Game - Display to (All players) the text: (Angle From 1 to Unit = + (String((Angle from UnitPos to TreePos[1]))))

The last trigger is just the checking the angles.
I would imagine that in #2 that every .03 seconds that the unit position is being kept up to date as to where the unit is. Which would mean for #3 the number would keep changing, but it doesn't.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
The chances that you will get the angles to equal each other is astronomically remote....
 

Pigger

New Member
Reaction score
13
Well, I'm not worrying about that exactly right now, I just want to figure out why the angle being displayed between UnitPos & TreePos[1] is nice changing at all despite the unitpos is constantly changing.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
Well, as soon as you set the point, it is destroyed, meaning the other trigger always registers it as (0,0).
 

Pigger

New Member
Reaction score
13
Eh, Ghan you may as well just close this...It's way over my head in ability/skill so I wont even bother trying to get it to work anymore.

Thanks for the help and time Ghan & Hero.
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
> It's way over my head in ability/skill

It's only that if you tell yourself it is.

What you have to do is just set the point, allow the display trigger to run, then destroy the point so that the trigger sees a real point there.
 

Pigger

New Member
Reaction score
13
Ok, I've gotten the trigger for changing the unitpos and displaying it correctly, but now I am confused as to how I am going to figure out when it crosses the line.

I have:
Code:
(Angle from UnitPos to TreePos[1]) Less than or equal to (Angle + 10.00)

as a condition, but I'm not sure about it because, when the condition is met, say the angle from TreePos[1] and TreePos[2] is roughly 0, and the angle from UnitPos to TreePos[1] will, when I make my unit move, cross over the path of Angle + 10 (Which would mean that Angle from UnitPos to TreePos[1] would be anywhere from 10 to 0 in degrees, but when it moves out of that position of < 10, the rest of the the trigger keeps on spawning the footman (which I'm using as a test event) So I have no clue what goes on with that.

How am I to compare the angles between UnitPos & TreePos[1] and UnitPos & TreePos[2]?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top