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

[General] Special Effect Problem

Status
Not open for further replies.
Level 37
Joined
Aug 14, 2006
Messages
7,601
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: 36

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
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 7
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.
 

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
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