• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Strange Movement

Status
Not open for further replies.
Level 6
Joined
Feb 2, 2005
Messages
205
I worked on my contest map when i encountered an strange bug.

  • Teleport
    • Events
      • Unit - A unit enters 2 <gen>
      • Unit - A unit enters 4 <gen>
      • Unit - A unit enters 6 <gen>
      • Unit - A unit enters 8 <gen>
    • Conditions
    • Actions
      • If ((2 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 3 <gen>)) else do (Do nothing)
      • If ((4 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 5 <gen>)) else do (Do nothing)
      • If ((6 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 7 <gen>)) else do (Do nothing)
      • If ((8 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 1 <gen>)) else do (Do nothing)
This Trigger only work if the unit comes from the left or the right side of the area, if it enters the area from the top or the bottem it just stops.

Edit: BTW if i split it into 4 Trigger without the ifs it works correctly, but i want an compact easy way to Trigger many Waypoints.

Edit2: to make it even more strange it work only if the Units come from the left.

Here an map to test it :)
Is there an better way, maybe with jass?
 

Attachments

  • bug.w3x
    13.4 KB · Views: 50
Last edited:
Level 3
Joined
May 4, 2007
Messages
66
The problem here is that event triggers too early when units are entering from up or right so ure comparasion wont detect them in regions. As u said before u can make separate triggers for each region or u can put wait before all actions so that unit actualy enters region. Exemple:
  • Teleport
  • Events
  • Unit - A unit enters 2 <gen>
  • Unit - A unit enters 4 <gen>
  • Unit - A unit enters 6 <gen>
  • Unit - A unit enters 8 <gen>
  • Conditions
  • Actions
  • Wait 0.10 seconds
  • If ((2 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 3 <gen>)) else do (Do nothing)
  • If ((4 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 5 <gen>)) else do (Do nothing)
  • If ((6 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 7 <gen>)) else do (Do nothing)
  • If ((8 <gen> contains (Triggering unit)) Equal to True) then do (Unit - Move (Triggering unit) instantly to (Center of 1 <gen>)) else do (Do nothing)
But i dont think this is the safest way to do this...
 
Status
Not open for further replies.
Top