Trapping units in circles?

Crimson

Member
Reaction score
3
Can anyone tell me how people do those spells where enemy units are trapped in circles and can't get out until the spell wears off?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Can anyone tell me how people do those spells where enemy units are trapped in circles and can't get out until the spell wears off?

Maybe you could clarify which spells you are referring to? Would be great. Thanks.
 

Crimson

Member
Reaction score
3
I mean target area spells where they're once activated, trap units that are within the target area.
 

denmax

You can change this now in User CP.
Reaction score
155
I think he's referring to Disruptor's Kinetic Field.

The thing you have to do is to create two variables for the (Target point) and (Unit group).

I haven't accessed WE in 5 years, so I'll try my best to code them for you. And I've probably forgotten some techniques already (like MUI, memory leak cleaning, so you're going to figure these things out)

And I'll be honest, I'm not sure if what I'm doing actually works. I know that it probably generates a thousand leaks, but other than that, I'm not so sure.

First:

CastPoint - Point variable
OutsideRadius - Unit group variable
InsideRadius - Unit group variable
Distance - Real variable
Trigger:
  • First Trigger
    • Events
      • Unit - Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Your Ability
    • Actions
      • Set CastPoint = (Casting point)
      • Unit Group - Pick every unit and do (actions)
        • Do - Actions
          • Unit Group - Add (Picked unit) to (OutsideRadius)
      • Unit Group - Pick every unit in (Your Radius) units around (CastPoint) and do (actions)
        • Do - Actions
          • Unit Group - Add (Picked unit) to (InsideRadius)
          • Unit Group - Remove (Picked unit) from (OutsideRadius)
      • Trigger - Turn on Second Trigger
      • Wait (Your Duration) seconds
      • Trigger - Turn off Second Trigger


Trigger:
  • Second Trigger - Initially Off
    • Events
      • Time - Every 0.20 seconds of the game
    • Conditions
    • Actions
      • Unit Group - Pick every unit in (InsideRadius) and do (actions)
        • Do - Actions
          • Set Distance = Units between (CastPoint) and (Positiong of (Picked Unit))
          • If all (conditions) are true, then do (actions), else do (actions)
            • If - Conditions
              • Distance is greater than (Your Radius)
            • Do - Actions
              • Unit - Move (Picked unit) to (CastPoint offset by (Your Radius - 20) towards (Integer(Angle between CastPoint and (Position of (Picked Unit)))) degrees
            • Else - Actions
              • If (Distance is greater than (Your Radius + 100)) then (Unit Group - Remove (Picked unit) from (InsideRadius)) and (Unit Group - Add (Picked unit) to (OutsideRadius))
      • Unit Group - Pick every unit in (OutsideRadius) and do (actions)
        • Do - Actions
          • Set Distance = Units between (CastPoint) and (Positiong of (Picked Unit))
          • If all (conditions) are true, then do (actions), else do (actions)
            • If - Conditions
              • Distance is less than (Your Radius)
            • Do - Actions
              • Unit - Move (Picked unit) to (CastPoint offset by (Your Radius + 20) towards (Integer(Angle between CastPoint and (Position of (Picked Unit)))) degrees
            • Else - Actions
              • If (Distance is less than (Your Radius - 100)) then (Unit Group - Remove (Picked unit) from (OutsideRadius)) and (Unit Group - Add (Picked unit) to (InsideRadius))
 

keychup

Active Member
Reaction score
34
This allows multiple units to use the same ability

Trigger 1:
Events
- Units Starts the effect of an ability
Conditions
- Ability being cast is equal to name of ability
Actions
- Set POINTA = Position of triggering unit
- Create a dummy at POINTA
- Add a X second generic expiration timer for last created unit
- Add last created unit to DUMMYGROUP
-Custom Script: Call RemoveLocation (udg_POINTA)

Trigger 2:
Events
- Every 0.1 seconds of game time
Conditions
- Number of units in DUMMYGROUP is Greater than 0
Actions
- Pick Every Unit in DUMMYGROUP
-- Set UNIT = Picked unit
-- Set POINTA = Position of UNIT
-- Set TARGETGROUP = Units within X range of POINTA
-- Pick Every Unit in TARGETGROUP
--- If
--- Picked unit belongs to an enemy of UNIT
--- Then - Actions
---- Set POINTB = Position of picked unit

----- If
------ Distance between POINTA and POINTB is greater than X-100
----- Then - Actions
------ Set POINTC = POINTB offset by 25 towards Angle from POINTB to POINTA
------ Move picked unit to POINTC
------ Custom Script: Call RemoveLocation (udg_POINTC)
----- Else
------ Do Nothing
----- Custom Script: Call RemoveLocation (udg_POINTB)
----- Else
------ Do Nothing
-- Custom Script: Call DestroyGroup (udg_TARGETGROUP)
-- Custom Script: Call RemoveLocation (udg_POINTA)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top