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

Jump GUI...

Status
Not open for further replies.
Level 29
Joined
Mar 10, 2009
Messages
5,016
Leap Blow GUI...

Hello, I just want to know, is this the correct setup of jump ability?...I know there's a lot of jump ability in the spell section but I want to start from scratch...

pls tell me if I'm missing something...

NOTE: The 'Jump 2' trigger doesnt off coz I never set it up yet...

EDIT: FIXED NOW...I CALL IT LEAP BLOW...

  • Leap Blow
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Leap Blow
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Index[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Leap Blow Loop <gen>
        • Else - Actions
      • Set Index[1] = (Index[1] + 1)
      • Set IndexArray[Index[1]] = Index[1]
      • Set Index[2] = IndexArray[Index[1]]
      • Set Caster[Index[2]] = (Triggering unit)
      • Set CasterPt[Index[2]] = (Position of Caster[Index[2]])
      • Set TargetPt[Index[2]] = (Target point of ability being cast)
      • Unit - Add Storm Crow Form to Caster[Index[2]]
      • Set Distance[Index[2]] = (Distance between CasterPt[Index[2]] and TargetPt[Index[2]])
      • Set Distance2[Index[2]] = (Distance between CasterPt[Index[2]] and TargetPt[Index[2]])
      • Set Speed[Index[2]] = 0.00
      • Set CheckSfx[Index[2]] = True
      • Set Dam[Index[2]] = (50.00 x (Real((Level of Leap Blow for Caster[Index[2]]))))
      • Unit - Make Caster[Index[2]] Invulnerable
  • Leap Blow Loop
    • Events
      • Time - Every 0.07 seconds of game time
    • Conditions
    • Actions
      • Set Distance2[Index[2]] = (Distance2[Index[2]] - 30.00)
      • For each (Integer Loop) from 1 to Index[1], do (Actions)
        • Loop - Actions
          • Set Index[2] = IndexArray[Loop]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Distance[Index[2]] Greater than 0.00
            • Then - Actions
              • Set Distance[Index[2]] = (Distance[Index[2]] - 30.00)
              • Set Speed[Index[2]] = (Speed[Index[2]] + 30.00)
              • Animation - Change Caster[Index[2]] flying height to Distance[Index[2]] at 500.00
              • Unit - Move Caster[Index[2]] instantly to (CasterPt[Index[2]] offset by Speed[Index[2]] towards (Angle from CasterPt[Index[2]] to TargetPt[Index[2]]) degrees), facing (Facing of Caster[Index[2]]) degrees
            • Else - Actions
              • Animation - Change Caster[Index[2]] flying height to 0.00 at 500.00
              • Unit - Remove Storm Crow Form from Caster[Index[2]]
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • CheckSfx[Index[2]] Equal to True
                • Then - Actions
                  • Set SfxPt[Index[2]] = (Position of Caster[Index[2]])
                  • Special Effect - Create a special effect at SfxPt[Index[2]] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Environment - Create a 2.00 second Depression ripple deformation at SfxPt[Index[2]] with starting radius 300.00, ending radius 500.00, and depth 64.00, using 1.00 second ripples spaced 100.00 apart
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 300.00 of SfxPt[Index[2]] matching ((((Matching unit) belongs to an enemy of (Owner of Caster[Index[2]])) Equal to True) and (((Matching unit) is A ground unit) Equal to True))) and do (Actions)
                    • Loop - Actions
                      • Unit - Cause Caster[Index[2]] to damage (Picked unit), dealing Dam[Index[2]] damage of attack type Spells and damage type Normal
                  • Custom script: call RemoveLocation(udg_SfxPt[udg_Index[2]])
                  • Unit - Make Caster[Index[2]] Vulnerable
                  • Set CheckSfx[Index[2]] = False
                • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Distance2[Index[2]] Less than or equal to -30.00
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set Index[1] = 0
          • Custom script: call RemoveLocation(udg_CasterPt[udg_Index[2]])
          • Custom script: call RemoveLocation(udg_TargetPt[udg_Index[2]])
        • Else - Actions
 
Last edited:
Level 17
Joined
Jun 17, 2010
Messages
2,275
  • Set IndexArray[Index[1]] = Index[1]
  • Set Index[2] = IndexArray[Index[1]]
  • Set Caster[Index[2]] = (Triggering unit)
First things first, ill find more later but, ur saying indexarray[1] = index[1] (which equals 1 at this point) and then index[2] = indexarray[index[1]] so with transitive property you can completely remove indexarray, and just say index[2] = index[1], So at this point index[2] will always = 1.

  • Set Index[2] = IndexArray[Loop]
Your saying 1=1 ofc 1 = 1 =P

  • Animation - Change Caster[Index[2]] flying height to 0.00 at 750.00
Your going from 0 to 750 in one loop, whereas you should change it to
  • Animation - Change Caster[Index[2]] flying height to 0.00 at (Height of Caster[whatever]) + 100 (or however fast you want it to jump)
But now ur stuck at 750, you need to go back down, so
  • Animation - Change Caster[Index[2]] flying height to current height - 100 at 750.00
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
First, Im using Hanky's indexing system, so there's no problem with the indexing above...

Second, I did not say "indexarray[1] = index[1]" but "IndexArray[Index[1]] = Index[1]...

Third, I already tried "index[2] = index[1]" and it does not work...coz what if somebody will cast it again, and the spell is not yet done?, index1 will be 2 but index2 still stuck on 1 (during the loop)...so you must put index 2 in the array equals index1 so that index2 will remain the same as index1 even within the loop...

Fourth, about the 0 to 750, the speed & height will determine by this >>> "Distance[Index[2]] = (Distance between CasterPt[Index[2]] and TargetPt[Index[2]])"...if the Distance is big then the unit will jump 'BIG', if small, then the unit will jump 'SMALL'

Fifth, I already edited the correct (I hope so) jumping method and will post it here for the benefit of others...
 
Status
Not open for further replies.
Top