pick every unit in front of attacker?

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
how should this look like?
i want to detect all units in front of my unit, but i'm pretty bad about facing

z x
O> x
z x

O= my unit
> facing
x= enemies that should be detected
z= enemies that shouldn't be detected


Code:
Actions
    Custom script:   set bj_wantDestroyGroup=true
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions [B][U]how should the condition things look like?[/U][/B]
                Then - Actions
                Else - Actions
 

vypur85

Hibernate
Reaction score
803
Code:
Melee Initialization
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
    Actions
        Set Real_Var = (Facing of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Real_Var Less than 0.00
            Then - Actions
                Set Real_Var = (Real_Var + 360.00)
            Else - Actions
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Less than or equal to (Real_Var + 45.00)
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Greater than or equal to (Real_Var - 45.00)
                    Then - Actions
                    Else - Actions

Something like that. Untested though. Alter the 45 degree to suit your detection width.
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
Code:
Melee Initialization
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
    Actions
        Set Real_Var = (Facing of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Real_Var Less than 0.00
            Then - Actions
                Set Real_Var = (Real_Var + 360.00)
            Else - Actions
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Less than or equal to (Real_Var + 45.00)
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Greater than or equal to (Real_Var - 45.00)
                    Then - Actions
                    Else - Actions

Something like that. Untested though. Alter the 45 degree to suit your detection width.

ty, but do i need to set Real_Var?
 

vypur85

Hibernate
Reaction score
803
> do i need to set Real_Var?

Yes. Because sometimes the unit facing angle value can get confusing. -350 degree is similar to 10 degree. You have to convert it to positive. (Not sure about the Angle of Position of X to Position of Y, though, try testing it yourself by setting the value of the angle to know whether it's negative or positive)
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
hmm kk. ty for your help =)

edit:
btw what does do?
Code:
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Real_Var Less than 0.00
            Then - Actions
                Set Real_Var = (Real_Var + 360.00)
            Else - Action

Edit 2: doesn't work
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
skill facing problem

why doesn't this work like it should?
it damage a bit allaround the caster (not at same plase nor right plase there it should be)

why?
Code:
damage
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
    (Ability being cast) Equal to stomp
    Actions
        Set Real_Var = (Facing of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Real_Var Less than 0.00
            Then - Actions
                Set Real_Var = (Real_Var + 360.00)
            Else - Actions
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Less than or equal to (Real_Var + 90.00)
                        (Angle from (Position of (Triggering unit)) to (Position of (Picked unit))) Greater than or equal to (Real_Var - 90.00)
                    Then - Actions Unit - Cause (Triggering unitto damage (Picked unit), dealing 500.00 damage of attack type Hero and damage type Normal
                    Else - Actions

not. this leaks
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
"Facing of unit" is between 0 and 360, whereas "angle between" is between -180 and +180...

srry didn't get it :banghead::(
i'm from sweden and my english isn't my strongest side...

could you try to exsplain it in a easier way? oO
 

vypur85

Hibernate
Reaction score
803
Code:
Melee Initialization
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
    Actions
        Set Real_Var = (Facing of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Real_Var Less than 0.00
            Then - Actions
                Set Real_Var = (Real_Var + 360.00)
            Else - Actions
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                [B]Set Real_Var_2 = (Angle from (Position of (Triggering unit)) to (Position of (Picked unit)))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                     If - Conditions
                         Real_Var_2 Less than 0.00
                     Then - Actions
                         Set Real_Var_2 = (Real_Var_2 + 360.00)
                     Else - Actions[/B]
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Real_Var Less_2 Less than or equal to (Real_Var + 45.00)
                        Real_Var Less_2 Greater than or equal to (Real_Var - 45.00)
                    Then - Actions
                    Else - Actions

You might need Real_Var_2. What Ace meant (which was the same thing that I explained in Post#4) was that the angle values can return as negative values. Sometimes, the trigger cannot differentiate this (or instead, it's made to be this way). For example, if you compare facing angle and angle between points, the presence of negative numbers will mess up the number comparison at the condition part (because you +45 and -45). So, whenever possible, if there's a negative angle, try to convert it to positive.

As I said, -350 degree is also similar to 10 degree. -180 degree is similar to 180 degree. -28 degree is similar to 332 degree. So, the bolded part of the trigger takes care of the conversion of negative to positive value.
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
omfg its working hahahahaha lol zomg.... ty =)
 
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