Help making a trap ability!!!

KMDK

Cool Member
Reaction score
1
I've been trying to come up with this sort of trap system where when a unit gets within range of a trap, the trap will war stomp the unit within the range then the trap will kill itself. Of course I know there's the event a unit comes within range and the issue order with no target action but because you cant use variables for the unit comes within range event, I have to make a trigger for each and every one of the traps I'll make which is really tedious and will take a really long time...

Basically what I need is like some general trigger that accommodates all of the traps I make so that I won't have to keep making new triggers for every new one I create.

So can anyone suggest like an idea or something? I tried different ways and I really don't know what to do :/
 

Imp Midna

Active Member
Reaction score
52
Afaik, the "a unit gets in range"-Event has no reacting variable showing you the unit the triggering unit came near to. (Mostlikely, since its an spezific unit event, they expected you to know this unit.) Thus, since you want to kill the trap again, simply adding an event for every trap created will not work.
If you have a huge amount of traps, you may want to do this:
Create a new trigger using CreateTrigger() (sorry, you wont get around this) when a trap is created and add the condition (i recomment puting the actual actions inside the condition function since the actions tend to leak when the trigger gets destroyed - dont ask me why) and put it in a hashtable (use the trigger handles hash as position) along with the unit (and maybe other information, sutch as damage if you have different kind of traps, or the unit who created it etc). Now in the actions (as allready mentioned, it would be better if they were standing in the conditions), you can look into the hashtable to get the trap-unit (and all the other information). Dont forget to destroy the trigger and flush the hashtable in the end.
If you have a small amount of traps which are created frequently, it may be a better idea to use arrays instead.

Due to the dynamically created triggers, you mostlikely will need to use jass though. If you want to stick with GUI, you can use a few custom scripts, but you wont be able to write the actions into the conditions which will leak a bit that could become a problem after like 1.000 traps.

Anyhow, if you decide to do that and want further help, just ask ;)
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Make the trap a unit, give the trap a normal ranged attack, make a trigger like this:
Code:
Events
 A unit is getting attacked
Conditions
 Unit type of Attacking unit == SOME_TRAP_UNIT_TYPE
Actions
 Issue attacking unit to use war-stomp
 add 1.00 seconds expiration timer to attacking unit
Now only make sure the trap unit can use war stomp (mana cost, casting time, etc) and its attack speed is below 1.00 seconds at all times. (Make it incredibly high for example)
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
You could use the Stasis Trap ability, or make periodic checks around any trap-type units.
 
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