• 🏆 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!

spining wisps

Status
Not open for further replies.
Level 9
Joined
Aug 15, 2007
Messages
261
i have old triggers that do spin wisps but it can work only for a grup of wisps
and I have a second grup of wisps that are spining but the trigger buged for them and I need a new one to make the work properly
(for escape map)

here's the trigger

  • Movement Copy
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set real_Copy[2] = (real_Copy[2] + 0.50)
      • Set real_Copy[1] = (real_Copy[1] + 0.50)
      • Set real_Copy[3] = (real_Copy[3] + 0.50)
      • Set real_Copy[4] = (real_Copy[4] + 0.50)
      • Set real_Copy[5] = (real_Copy[5] + 0.50)
      • Set real_Copy[6] = (real_Copy[6] + 0.50)
      • Set real_Copy[7] = (real_Copy[7] + 0.50)
      • Set real_Copy[8] = (real_Copy[8] + 0.50)
      • Set real_Copy[9] = (real_Copy[9] + 0.50)
      • Set real_Copy[10] = (real_Copy[10] + 0.50)
      • Set real_Copy[11] = (real_Copy[11] + 0.50)
      • Set real_Copy[12] = (real_Copy[12] + 0.50)
      • Set real_Copy[13] = (real_Copy[13] + 0.50)
      • Set real_Copy[14] = (real_Copy[14] + 0.50)
      • Set real_Copy[15] = (real_Copy[15] + 0.50)
      • Set real_Copy[16] = (real_Copy[16] + 0.50)
      • Set real_Copy[17] = (real_Copy[17] + 0.50)
      • Unit - Move Wisp 0108 <gen> instantly to ((Position of Wisp 0103 <gen>) offset by 250.00 towards real[1] degrees)
      • Unit - Move Wisp 0109 <gen> instantly to ((Position of Wisp 0108 <gen>) offset by 250.00 towards real[2] degrees)
      • Unit - Move Wisp 0110 <gen> instantly to ((Position of Wisp 0109 <gen>) offset by 250.00 towards real[3] degrees)
      • Unit - Move Wisp 0111 <gen> instantly to ((Position of Wisp 0110 <gen>) offset by 250.00 towards real[4] degrees)
      • Unit - Move Wisp 0112 <gen> instantly to ((Position of Wisp 0111 <gen>) offset by 250.00 towards real[5] degrees)
      • Unit - Move Wisp 0113 <gen> instantly to ((Position of Wisp 0103 <gen>) offset by 250.00 towards real[6] degrees)
      • Unit - Move Wisp 0114 <gen> instantly to ((Position of Wisp 0113 <gen>) offset by 250.00 towards real[7] degrees)
      • Unit - Move Wisp 0115 <gen> instantly to ((Position of Wisp 0114 <gen>) offset by 250.00 towards real[8] degrees)
      • Unit - Move Wisp 0116 <gen> instantly to ((Position of Wisp 0115 <gen>) offset by 250.00 towards real[9] degrees)
      • Unit - Move Wisp 0104 <gen> instantly to ((Position of Wisp 0103 <gen>) offset by 250.00 towards real[10] degrees)
      • Unit - Move Wisp 0105 <gen> instantly to ((Position of Wisp 0104 <gen>) offset by 250.00 towards real[11] degrees)
      • Unit - Move Wisp 0106 <gen> instantly to ((Position of Wisp 0105 <gen>) offset by 250.00 towards real[12] degrees)
      • Unit - Move Wisp 0107 <gen> instantly to ((Position of Wisp 0106 <gen>) offset by 250.00 towards real[13] degrees)
      • Unit - Move Wisp 0102 <gen> instantly to ((Position of Wisp 0103 <gen>) offset by 250.00 towards real[14] degrees)
      • Unit - Move Wisp 0101 <gen> instantly to ((Position of Wisp 0102 <gen>) offset by 250.00 towards real[14] degrees)
      • Unit - Move Wisp 0100 <gen> instantly to ((Position of Wisp 0101 <gen>) offset by 250.00 towards real[14] degrees)
      • Unit - Move Wisp 0099 <gen> instantly to ((Position of Wisp 0100 <gen>) offset by 250.00 towards real[15] degrees)
      • Unit - Move Wisp 0117 <gen> instantly to ((Position of Wisp 0099 <gen>) offset by 250.00 towards real[14] degrees)
  • Angel of movement Copy
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Set real_Copy[1] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[2] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[3] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[4] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[5] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[6] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[7] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[8] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[9] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[10] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[11] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[12] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[13] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[14] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[15] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[16] = angle_Copy
      • Set angle_Copy = (angle_Copy + (360.00 / 17.00))
      • Set real_Copy[17] = angle_Copy
 
Level 7
Joined
Jul 19, 2008
Messages
58
woah, your making only one whirl wisp thing? from that trigger it looks like theres a whole bunch of spins going on.

heres if you want a simple wisp whirl, not moving

  • Events
    • Time - Every 0.30 seconds of game time
  • Conditions
  • Actions
    • Set angle = (angle + 10.00)
    • Unit - Make Wisp 0000 <gen> face angle over 0.00 seconds
    • Unit - Move Wisp 0001 <gen> instantly to ((Position of Wisp 0000 <gen>) offset by 400.00 towards ((Facing of Wisp 0000 <gen> ) degrees)
    • Unit - Move Wisp 0002 <gen> instantly to ((Position of Wisp 0000 <gen>) offset by 400.00 towards ((Facing of Wisp 0000 <gen> ) + 180 degrees)

or if the main base of the wisp whirl moving, which in some cases it is, use this trigger...
  • Events
    • Map initialization
  • Conditions
  • Actions
    • Unit - Make Wisp 0001 <gen> face 0.00 over 0.00 seconds
    • Unit - Make Wisp 0002 <gen> face 180.00 over 0.00 seconds
    • Set angle[1] = ((Facing of Wisp 0001 <gen>)
    • Set angle[2] = ((Facing of Wisp 0002 <gen>)

Spinning
  • Events
    • Time - Every 0.30 seconds of game time
  • Conditions
  • Actions
    • Unit - Move Wisp 0001 <gen> instantly to ((Position of Wisp 0000 <gen>) offset by 400.00 towards angle[1] degrees)
    • Unit - Move Wisp 0002 <gen> instantly to ((Position of Wisp 0000 <gen>) offset by 400.00 towards angle[2] degrees)
    • Set angle[1] = (angle[1] + 10.00)
    • Set angle[2] = (angle[2] + 10.00)

i havent tested it, but it should work fine.
the only downfall the that is the memory leaks in the points
 
Level 5
Joined
Dec 18, 2007
Messages
205
really many leaks for that time amount.
set a variable to a point, then order unit to move to that point(variable) and then remove that point via
"call RemoveLocation(udg_YOURLOC)".
then just repeat

greetz
 
Status
Not open for further replies.
Top