• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

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