Trigger Editor is annoying..

laxperson808

New Member
Reaction score
9
K so i have a spell that summons a trap and when a unit walks past the trap kills him.. HOWEVER the trigger action "Unit comes within X range of _unit_" BUT the _unit_ cant be replaced with a varible such as "var_Unit".. so im wondering is there a jass code that allows me 2 use basicly "A unit comes withing X of "Varname"?
 

Bogrim

y hello thar
Reaction score
154
You can use this action to add a unit to the event:
Trigger:
  • Actions
    • Trigger - Add to (Your trigger) the event (Unit - A unit comes within 256.00 of (Summoned unit))

I recommend using a unit array, and recycling the units in the array to prevent long-term leaks.
 

laxperson808

New Member
Reaction score
9
k.. question about that.. do i needz 2 add it each time the trigger runs? or does it stay there.. and its just a single unit.. if its recreated the old 1 dies
 

Bogrim

y hello thar
Reaction score
154
You'd have one "event-less" trigger which detects when a unit comes in range of a trap and kills the unit, and a second trigger which detects when a trap is summoned and adds the unit event to your first trigger.

To recycle a unit array and prevent your number of trigger events from growing endlessly with empty unit handles, simply increase the index every time a new trap is created and reset the index at the smallest amount as possible (I used 100 as a standard). For example:

Trigger:
  • Spawn Trap
    • Events
      • Unit - A unit Spawns a summoned unit
    • Conditions
      • (Unit-type of (Summoned unit)) Equal to Trap
    • Actions
      • If (Increasing_Array Greater than or equal to 99) then do (Set Increasing_Array = 0) else do (Set Increasing_Array = (Increasing_Array + 1))
      • Set Unit_Trap[Increasing_Array] = (Summoned unit)
      • Trigger - Add to (Your other trigger) the event (Unit - A unit comes within 256.00 of Unit_Trap[Increasing_Array])
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
events are always constant bogrim. you cannot recycle events with GUI.
 

Bogrim

y hello thar
Reaction score
154
It's not events I'm recycling, but unit handles. If you continued to add events to the trigger with a new unit handle each time, it would leak memory.
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
as far as i know what you are doing doesnt work because the trigger will not use the variable but the unit directly. events cannot be removed/altered anyhow, at least in GUI.
 

Bogrim

y hello thar
Reaction score
154
I've been recycling timers using this method to create MUI triggers, but I haven't tried it with units before. Running a test recycling with only 3 indexes, I see that you're right. Despite the use of a variable, the specific unit is saved to the event. That didn't matter with timers since I used hashtables for the specific instance data with the expiring timer.

In which case, it would be a better alternative to pick every units in range of the trap with a periodic event or use something like Statis Trap/Goblin Land Mine and detect the damage event (at least while working in GUI).
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
for within range detections i prefer permanent immolation with a damage output of 0.00 combined with a damage detection system
 
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