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

[General] Special Effect Problem

Status
Not open for further replies.
Level 37
Joined
Aug 14, 2006
Messages
7,602
Hey.

I have a slight problem I need some advice. It's about Flame Strike special effect. If I remove the special effect leak the effect won't appear, and if I don't remove the leak will stay.

So I'm here to ask how to solve this problem.

Here's the trigger and I've also attached the map to this post.

  • O Start
    • Events
      • Player - Player 1 (Red) types a chat message containing 3 as An exact match
    • Conditions
    • Actions
      • Set Firestorm_Point = (Center of (Playable map area))
      • Special Effect - Create a special effect at Firestorm_Point using Abilities\Spells\Human\FlameStrike\FlameStrikeTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 2.00 seconds
      • Set Firestorm_Distance = 600.00
      • Set TempReal = 0.00
      • For each (Integer A) from 1 to 15, do (Actions)
        • Loop - Actions
          • Set TempReal = (TempReal + 24.00)
          • Set TempLoc = (Firestorm_Point offset by Firestorm_Distance towards TempReal degrees)
          • Special Effect - Create a special effect at TempLoc using Abilities\Spells\Human\FlameStrike\FlameStrike1.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call RemoveLocation(udg_Firestorm_Point)
 

Attachments

  • Chapter 8 Epic Boss Spells.w3x
    27.1 KB · Views: 37
GUI, non-MUI version.
  • O Start
    • Events
      • Player - Player 1 (Red) types a chat message containing 3 as An exact match
    • Conditions
    • Actions
      • Set Firestorm_Point = (Center of (Playable map area))
      • Special Effect - Create a special effect at Firestorm_Point using Abilities\Spells\Human\FlameStrike\FlameStrikeTarget.mdl
      • Set e = (Last created special effect)
      • Wait 2.00 seconds
      • Set Firestorm_Distance = 600.00
      • Set TempReal = 0.00
      • For each (Integer A) from 1 to 15, do (Actions)
        • Loop - Actions
          • Set TempReal = (TempReal + 24.00)
          • Set TempLoc = (Firestorm_Point offset by Firestorm_Distance towards TempReal degrees)
          • Special Effect - Create a special effect at TempLoc using Abilities\Spells\Human\FlameStrike\FlameStrike1.mdl
          • Set e2 = (Last created special effect)
          • Trigger - Run just effect <gen> (ignoring conditions)
          • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call RemoveLocation(udg_Firestorm_Point)
      • Wait 4.00 seconds
      • Special Effect - Destroy e
  • just effect
    • Events
    • Conditions
    • Actions
      • Custom script: local effect f = udg_e2
      • Wait 4.00 seconds
      • Custom script: set udg_e2 = f
      • Special Effect - Destroy e2
If you gonna need MUI version, let me know.

EDIT: Forgot to add DestroyEffect() action.
Test map attached. 'Set TempReal = 0.00' is completely worthless, get rid of it.
 

Attachments

  • Chapter 8 Epic Boss Spells.w3x
    27.5 KB · Views: 34
Last edited:
Level 8
Joined
Jul 3, 2011
Messages
251
Well really you shouldnt use waits, you should use JASS and timers or if you dont know JASS, make a second trigger with the event "every 1 second of game time" and decrease an integer, when that integer is = to x destroy the effect, it isnt MUI but as you said it is for a boss fight, doesnt have to be MUI - this is better than using waits, but if you dont care about slightly offset delay between the spells effects, you can use waits.
 
Is this a good solution?
For just single boss-spell? Yeah. Waits aren't accurate, we all know it but manipulating loops/timers would complicate trigger a lot and I'd prefer to convert spell to MUI one in such case.

@Zaio TimeEvent should be replaced with timer instead (if we are talking about Jass version, which Aeroblyctos refuse to use).
 
Status
Not open for further replies.
Top