• 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.

[Trigger] Knockback system

Status
Not open for further replies.
Level 5
Joined
Sep 16, 2008
Messages
47
  • Actions to Apply
    • Wydarzenia
    • Warunki
    • Akcje
      • -------- -------------------------------------------------------- --------
      • -------- Caster --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_Caster = (Triggering unit)
      • Set Knockback_CasterPosition = (Position of Knockback_Caster)
      • -------- -------------------------------------------------------- --------
      • -------- Target --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_Target = (Target unit of ability being cast)
      • Set Knockback_TargetPosition = (Position of Knockback_Target)
      • -------- -------------------------------------------------------- --------
      • -------- Effects --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_Effect1 = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • Set Knockback_Effect2 = Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
      • Set Knockback_Effect3 = <Pusty ciÄ…g>
      • -------- -------------------------------------------------------- --------
      • -------- Intervivals --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_EffectCurrIntervival = 0.00
      • Set Knockback_EffectIntervival = 0.06
      • -------- -------------------------------------------------------- --------
      • -------- KB --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_CurrentDistance = 0.00
      • Set Knockback_MaxDistance = 500.00
      • Set Knockback_MaxHeight = 300.00
      • Set Knockback_Speed = 15.00
      • Set Knockback_SpeedDecrease = 0.03
      • -------- -------------------------------------------------------- --------
      • -------- Booleans --------
      • -------- -------------------------------------------------------- --------
      • Set Knockback_DestroyTrees = TAK
      • Set Knockback_UseHeights = TAK
      • Set Knockback_UseEffects = TAK
      • -------- -------------------------------------------------------- --------
      • -------- Engine Run --------
      • -------- -------------------------------------------------------- --------
      • Wyzwalacz - Run Knockback Run <gen> (checking conditions)
  • Knockback Run
    • Wydarzenia
    • Warunki
    • Akcje
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • JeĹ›li - Warunki
          • KB_Integer[1] RĂłwna siÄ™ 0
        • To - Akcje
          • Wyzwalacz - Turn on Knockback Loop <gen>
        • Albo - Akcje
      • Set KB_Integer[1] = (KB_Integer[1] + 1)
      • Set KB_Integer[2] = (KB_Integer[2] + 1)
      • Set KB_Caster[KB_Integer[2]] = Knockback_Caster
      • Set KB_Target[KB_Integer[2]] = Knockback_Target
      • Set KB_CasterPosition[KB_Integer[2]] = (Position of KB_Caster[KB_Integer[2]])
      • Set KB_TargetPosition[KB_Integer[2]] = (Position of KB_Target[KB_Integer[2]])
      • Set KB_Effect1[KB_Integer[2]] = Knockback_Effect1
      • Set KB_Effect2[KB_Integer[2]] = Knockback_Effect2
      • Set KB_Effect3[KB_Integer[2]] = Knockback_Effect3
      • Set KB_EffectCurrentIntervival[KB_Integer[2]] = Knockback_EffectCurrIntervival
      • Set KB_EffectIntervival[KB_Integer[2]] = Knockback_EffectIntervival
      • Set KB_CurrentDistance[KB_Integer[2]] = Knockback_CurrentDistance
      • Set KB_MaxDistance[KB_Integer[2]] = Knockback_MaxDistance
      • Set KB_MaxHeight[KB_Integer[2]] = Knockback_MaxHeight
      • Set KB_Speed[KB_Integer[2]] = Knockback_Speed
      • Set KB_SpeedDecrease[KB_Integer[2]] = Knockback_SpeedDecrease
      • Set KB_MoveAngle[KB_Integer[2]] = (Angle from KB_CasterPosition[KB_Integer[2]] to KB_TargetPosition[KB_Integer[2]])
      • Set KB_DestroyTrees[KB_Integer[2]] = Knockback_DestroyTrees
      • Set KB_UseHeight[KB_Integer[2]] = Knockback_UseHeights
      • Set KB_UseEffects[KB_Integer[3]] = Knockback_UseEffects
      • Jednostka - Add Postać Kruka to KB_Target[KB_Integer[2]]
      • Jednostka - Turn collision for KB_Target[KB_Integer[2]] WyĹ‚.
  • Knockback Loop
    • Wydarzenia
      • Czas - Every 0.03 seconds of game time
    • Warunki
    • Akcje
      • For each (Integer KB_Integer[3]) from 1 to KB_Integer[2], do (Actions)
        • PÄ™tla - Akcje
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • JeĹ›li - Warunki
              • KB_CurrentDistance[KB_Integer[3]] Mniejsze KB_MaxDistance[KB_Integer[3]]
            • To - Akcje
              • Set KB_TargetPosition[KB_Integer[3]] = (Position of KB_Target[KB_Integer[3]])
              • Set KB_MovePoint[KB_Integer[3]] = (KB_TargetPosition[KB_Integer[3]] offset by KB_Speed[KB_Integer[3]] towards KB_MoveAngle[KB_Integer[3]] degrees)
              • Jednostka - Move KB_Target[KB_Integer[3]] instantly to KB_MovePoint[KB_Integer[3]]
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • JeĹ›li - Warunki
                  • KB_UseEffects[KB_Integer[3]] RĂłwna siÄ™ TAK
                • To - Akcje
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • JeĹ›li - Warunki
                      • KB_EffectCurrentIntervival[KB_Integer[3]] Mniejsze KB_EffectIntervival[KB_Integer[3]]
                    • To - Akcje
                      • Set KB_EffectCurrentIntervival[KB_Integer[3]] = (KB_EffectCurrentIntervival[KB_Integer[3]] + 0.03)
                    • Albo - Akcje
                      • Set KB_TargetPosition[KB_Integer[3]] = (Position of KB_Target[KB_Integer[3]])
                      • Efekt specjalny - Create a special effect at KB_TargetPosition[KB_Integer[3]] using KB_Effect1[KB_Integer[3]]
                      • Set KB_SpecialEffect1[KB_Integer[3]] = (Last created special effect)
                      • Efekt specjalny - Create a special effect at KB_TargetPosition[KB_Integer[3]] using KB_Effect2[KB_Integer[3]]
                      • Set KB_SpecialEffect2[KB_Integer[3]] = (Last created special effect)
                      • Efekt specjalny - Create a special effect at KB_TargetPosition[KB_Integer[3]] using KB_Effect3[KB_Integer[3]]
                      • Set KB_SpecialEffect3[KB_Integer[3]] = (Last created special effect)
                      • Efekt specjalny - Destroy KB_SpecialEffect1[KB_Integer[3]]
                      • Efekt specjalny - Destroy KB_SpecialEffect2[KB_Integer[3]]
                      • Efekt specjalny - Destroy KB_SpecialEffect3[KB_Integer[3]]
                      • Set KB_EffectIntervival[KB_Integer[3]] = (KB_EffectCurrentIntervival[KB_Integer[3]] - KB_EffectIntervival[KB_Integer[3]])
                      • Custom script: call RemoveLocation (udg_KB_TargetPosition[udg_KB_Integer[3]])
                • Albo - Akcje
              • Set KB_CurrentDistance[KB_Integer[3]] = (KB_CurrentDistance[KB_Integer[3]] + KB_Speed[KB_Integer[3]])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • JeĹ›li - Warunki
                  • KB_UseHeight[KB_Integer[3]] RĂłwna siÄ™ TAK
                • To - Akcje
                  • Set KB_Real[1] = KB_MaxHeight[KB_Integer[3]]
                  • Set KB_Real[2] = KB_MaxDistance[KB_Integer[3]]
                  • Set KB_Real[3] = KB_CurrentDistance[KB_Integer[3]]
                  • Custom script: set udg_KB_Real[4] = ( 4 * udg_KB_Real[1] / udg_KB_Real[2]) * ( udg_KB_Real[2] - udg_KB_Real[3]) * ( udg_KB_Real[3] / udg_KB_Real[2] )
                  • Animacja - Change KB_Target[KB_Integer[3]] flying height to KB_Real[4] at 0.00
                • Albo - Akcje
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • JeĹ›li - Warunki
                  • KB_DestroyTrees[KB_Integer[3]] RĂłwna siÄ™ TAK
                • To - Akcje
                  • Obiekt zniszczalny - Pick every destructible within 75.00 of KB_TargetPosition[KB_Integer[3]] and do (Actions)
                    • PÄ™tla - Akcje
                      • Obiekt zniszczalny - Kill (Picked destructible)
                • Albo - Akcje
              • Custom script: call RemoveLocation (udg_KB_TargetPosition[udg_KB_Integer[3]])
              • Custom script: call RemoveLocation (udg_KB_MovePoint[udg_KB_Integer[3]])
            • Albo - Akcje
              • Jednostka - Turn collision for KB_Target[KB_Integer[2]] WyĹ‚.
              • Jednostka - Remove Postać Kruka from KB_Target[KB_Integer[3]]
              • Set KB_Integer[1] = 0
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • JeĹ›li - Warunki
          • KB_Integer[1] RĂłwna siÄ™ 0
        • To - Akcje
          • Set KB_Integer[2] = 0
          • Wyzwalacz - Turn off (This trigger)
        • Albo - Akcje
I don't know why i can't cast the same skill 2 times with using this system.
 
Status
Not open for further replies.
Top