• Check out the results of the Techtree Contest #19!
  • 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.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Custom Shockwave not working need help

Status
Not open for further replies.
Level 5
Joined
Aug 8, 2008
Messages
113
JASS:
I used bribe's damage detection for this... basically what im trying to do is create a ministun over time in the shape of breathe of fire.

  • Set Damage Copy
    • Events
      • Game - DamageModifierEvent becomes Equal to 1.00
    • Conditions
      • DamageEventOverride Equal to False
    • Actions
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
            • Then - Actions
              • Set Point = (Position of (Triggering unit))
              • Set TriggCheck = (TriggCheck + 1)
              • Set DamageEventAmount = (DamageEventAmount - DamageEventAmount)
              • Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
              • Set DummyTemp = (Last created unit)
              • Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
              • Unit - Add Dummy Storm Bolt to DummyTemp
              • Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
              • Custom script: call RemoveLocation (udg_Point)
            • Else - Actions
      • For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
      • Wait until (timer Equal to 60), checking every 1.00 seconds
      • Set timer = 0
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
            • Then - Actions
              • Set Point = (Position of (Triggering unit))
              • Set TriggCheck = (TriggCheck + 1)
              • Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
              • Set DummyTemp = (Last created unit)
              • Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
              • Unit - Add Dummy Storm Bolt to DummyTemp
              • Custom script: call RemoveLocation (udg_Point)
              • Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
            • Else - Actions
      • For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
      • Wait until (timer Equal to 60), checking every 1.00 seconds
      • Set timer = 0
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Triggering unit) Equal to (Random unit from g)) and ((Triggering unit) Equal to DamageEventTarget)
            • Then - Actions
              • Set Point = (Position of (Triggering unit))
              • Set TriggCheck = (TriggCheck + 1)
              • Unit - Create 1 Dummy for (Owner of DamageEventSource) at Point facing (Position of (Triggering unit))
              • Set DummyTemp = (Last created unit)
              • Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds
              • Unit - Add Dummy Storm Bolt to DummyTemp
              • Custom script: call RemoveLocation (udg_Point)
              • Unit - Add a 2.00 second Generic expiration timer to (Triggering unit)
            • Else - Actions
      • For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))
      • Wait until (timer Equal to 60), checking every 1.00 seconds
      • Set timer = 0
      • Custom script: call DestroyGroup (udg_g)
  • Setup
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Breath of Gloom (Neutral Hostile)
    • Actions
      • Unit Group - Pick every unit in (Units owned by (Triggering player)) and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Triggering unit) to g
 
((Triggering unit) Equal to (Random unit from g)) -> completely invalid
Set DamageEventAmount = (DamageEventAmount - DamageEventAmount) -> also invalid
Wait until ((DummyTemp is alive) Equal to True), checking every 0.10 seconds -> also invalid
For each (Integer A) from 1 to 60, do (Set timer = (timer + 1)) -> also invalid

Set TriggCheck = (TriggCheck + 1) -> unused

by "invalid" i mean either a blank statement or thread crashes. in either case, should be fixed or removed.
 
For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))

You are instantly setting variable to 60.

And your method of doing this is soooo weird??!?

If you want a shockwave that stuns, move your own shockwave missile with triggers.
 
For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))

You are instantly setting variable to 60.

And your method of doing this is soooo weird??!?

If you want a shockwave that stuns, move your own shockwave missile with triggers.

so I have to make a shockwave from scratch.....johnny this is gonna be harder than i thought.
 
For each (Integer A) from 1 to 60, do (Set timer = (timer + 1))

You are instantly setting variable to 60.
triggers.

I think he thinks that it would be the same as if he'd make a perodic event increase the variable, but then he does it in the same trigger so if it actually worked it would just have been like a normal wait, but with up to 1sec inaccuracy instead of the normal 0.15~

Forget about helping with triggers I'd say give some links to tutorials...

Here's one, might already be a bit further down the road than you should start off though... https://www.hiveworkshop.com/forums...u-should-know-when-using-triggers-gui-233242/
 
I think he thinks that it would be the same as if he'd make a perodic event increase the variable, but then he does it in the same trigger so if it actually worked it would just have been like a normal wait, but with up to 1sec inaccuracy instead of the normal 0.15~

Forget about helping with triggers I'd say give some links to tutorials...

Here's one, might already be a bit further down the road than you should start off though... https://www.hiveworkshop.com/forums...u-should-know-when-using-triggers-gui-233242/

thx for the tutorial
 
Status
Not open for further replies.
Back
Top