[Trigger] Cinematic Fire Help please.

Level 1
Joined
Jan 26, 2008
Messages
4
Ok, I'm making my first map and I'm trying to make it pretty good. I'm trying to get the Cinematic spell up but its giving me two problems.
1st. I'm trying to make it have an are of damage of the camera but it keeps hurting everything on the map.
2nd. For some reason the fly ability does not work.
Down below will be the trigger. Thanks ahead of time for the help.

  • unleash
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Fires of Mordor
    • Actions
      • Unit - Order (Triggering unit) to Stop
      • Unit - Pause all units
      • Set counter = 0
      • Camera - Pan camera for Player 1 (Red) to (Position of (Triggering unit)) over 0.00 seconds
      • Cinematic - Turn cinematic mode On for (All players)
      • Cinematic - Disable user control for (All players)
      • Wait 1.00 seconds
      • Unit - Unpause (Triggering unit)
      • Camera - Set Player 1 (Red)'s camera Distance to target to ((Distance to target of the current camera view) + 1000.00) over 2.00 seconds
      • Player - Enable Fly for Player 1 (Red)
      • Unit - Order (Triggering unit) to Night Elf Druid Of The Talon - Storm Crow Form
      • Animation - Queue (Triggering unit)'s spell third animation
      • -------- Lines --------
      • For each (Integer A) from 1 to 8, do (Actions)
        • Loop - Actions
          • For each (Integer B) from 1 to 8, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (100.00 x (Real((Integer A)))) towards ((Real((Integer B))) x 45.00) degrees) using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
              • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (100.00 x (Real((Integer A)))) towards ((Real((Integer B))) x 45.00) degrees) using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
          • Wait 0.01 seconds
      • Animation - Play (Triggering unit)'s stand ready animation
      • Wait 1.00 seconds
      • -------- spiral --------
      • For each (Integer A) from 1 to 60, do (Actions)
        • Loop - Actions
          • For each (Integer B) from 1 to 8, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 800.00 towards ((Real((Integer B))) x 45.00) degrees) offset by ((Real((Integer A))) x 10.00) towards ((Real((Integer A))) x 10.00) degrees) using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
              • Set counter = (counter + 1)
              • Set leuchtfeuer[counter] = (Last created special effect)
      • Set counter = 0
      • Wait 1.00 seconds
      • -------- spiral death --------
      • For each (Integer A) from 1 to 60, do (Actions)
        • Loop - Actions
          • For each (Integer B) from 1 to 8, do (Actions)
            • Loop - Actions
              • Set counter = (counter + 1)
              • Special Effect - Destroy leuchtfeuer[counter]
              • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 800.00 towards ((Real((Integer B))) x 45.00) degrees) offset by ((Real((Integer A))) x 10.00) towards ((Real((Integer A))) x 10.00) degrees) using Abilities\Spells\Other\Doom\DoomDeath.mdl
          • Wait 0.01 seconds
      • Wait 0.50 seconds
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Human\FlameStrike\FlameStrikeTarget.mdl
      • Set charge = (Last created special effect)
      • -------- Runes --------
      • Set counter = 0
      • For each (Integer B) from 1 to 3, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 16, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (200.00 x (Real((Integer B)))) towards ((Real((Integer A))) x 22.50) degrees) using Doodads\Cinematic\GlowingRunes\GlowingRunes2.mdl
              • Set counter = (counter + 1)
              • Set runes[counter] = (Last created special effect)
      • Set counter = 0
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
      • Wait 0.80 seconds
      • -------- fill circle --------
      • For each (Integer A) from 1 to 7, do (Actions)
        • Loop - Actions
          • For each (Integer B) from 1 to 32, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (100.00 x (Real((Integer A)))) towards ((Real((Integer B))) x 11.25) degrees) using Abilities\Spells\Other\Doom\DoomDeath.mdl
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Integer A) mod 2) Equal to 0
                • Then - Actions
                  • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (100.00 x (Real((Integer A)))) towards ((Real((Integer B))) x 11.25) degrees) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
                • Else - Actions
                  • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (100.00 x (Real((Integer A)))) towards ((Real((Integer B))) x 11.25) degrees) using Abilities\Spells\Other\Doom\DoomTarget.mdl
              • Set counter = (counter + 1)
              • Set circle_filled[counter] = (Last created special effect)
          • Wait 0.01 seconds
      • -------- circle --------
      • For each (Integer A) from 1 to 360, do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by 800.00 towards (Real((Integer A))) degrees) using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
          • Set firecicrle[(Integer A)] = (Last created special effect)
      • Set counter = 0
      • -------- create pentagram --------
      • For each (Integer B) from 1 to 5, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 18, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 800.00 towards (18.00 + (((Real((Integer B))) - 1.00) x 72.00)) degrees) offset by ((Real((Integer A))) x 50.00) towards ((72.00 x ((Real((Integer B))) - 1.00)) + 180.00) degrees) using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
              • Set counter = (counter + 1)
              • Set pentagramm[counter] = (Last created special effect)
          • Wait 0.10 seconds
      • Wait 2.00 seconds
      • -------- destroy pentagram --------
      • For each (Integer A) from 1 to 90, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy pentagramm[(Integer A)]
      • Camera - Set Player 1 (Red)'s camera Distance to target to ((Distance to target of the current camera view) + 1000.00) over 2.00 seconds
      • -------- ROTATE --------
      • For each (Integer A) from 1 to 720, do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by 1600.00 towards ((Real((Integer A))) / 2.00) degrees) using Environment\LargeBuildingFire\LargeBuildingFire2.mdl
          • Set circle_outer[(Integer A)] = (Last created special effect)
      • Set counter = 0
      • For each (Integer rotate) from 1 to 69, do (Actions)
        • Loop - Actions
          • Set counter = 0
          • For each (Integer B) from 1 to 5, do (Actions)
            • Loop - Actions
              • For each (Integer A) from 1 to 36, do (Actions)
                • Loop - Actions
                  • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 800.00 towards ((18.00 + ((Real(rotate)) x 5.00)) + (((Real((Integer B))) - 1.00) x 72.00)) degrees) offset by ((Real((Integer A))) x 25.00) towards ((72.00 x ((Real((Integer B))) - 1.00)) + 180.00) degrees) using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
                  • Set counter = (counter + 1)
                  • Set pentagramm[counter] = (Last created special effect)
          • Wait 0.01 seconds
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • rotate Not equal to 69
            • Then - Actions
              • For each (Integer A) from 1 to 180, do (Actions)
                • Loop - Actions
                  • Special Effect - Destroy pentagramm[(Integer A)]
            • Else - Actions
              • Do nothing
      • -------- STOP ROTATE --------
      • Special Effect - Destroy charge
      • Special Effect - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Human\FlameStrike\FlameStrike1.mdl
      • Wait 2.00 seconds
      • -------- Destroy pentagram --------
      • For each (Integer A) from 1 to 180, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy pentagramm[(Integer A)]
      • -------- create REAL pentagram --------
      • Set counter = 0
      • For each (Integer B) from 1 to 5, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 60, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 1600.00 towards (18.00 + (((Real((Integer B))) - 1.00) x 72.00)) degrees) offset by ((Real((Integer A))) x 50.00) towards ((72.00 x ((Real((Integer B))) - 1.00)) + 180.00) degrees) using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
              • Set counter = (counter + 1)
              • Set pentagramm[counter] = (Last created special effect)
          • Wait 0.10 seconds
      • Wait 2.00 seconds
      • -------- Destroy circle --------
      • For each (Integer A) from 1 to 360, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy firecicrle[(Integer A)]
          • Special Effect - Destroy circle_filled[(Integer A)]
      • -------- Runefire --------
      • For each (Integer B) from 1 to 3, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 16, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Integer B) mod 2) Equal to 0
                • Then - Actions
                  • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (200.00 x (Real((Integer B)))) towards ((Real((Integer A))) x 22.50) degrees) using Objects\Spawnmodels\Human\SmallFlameSpawn\SmallFlameSpawn.mdl
                • Else - Actions
                  • Special Effect - Create a special effect at ((Position of (Triggering unit)) offset by (200.00 x (Real((Integer B)))) towards ((Real((Integer A))) x -22.50) degrees) using Objects\Spawnmodels\Human\SmallFlameSpawn\SmallFlameSpawn.mdl
          • Wait 0.01 seconds
      • Wait 1.00 seconds
      • -------- destroy REAL pentagram --------
      • Set counter = 0
      • For each (Integer B) from 1 to 5, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 60, do (Actions)
            • Loop - Actions
              • Special Effect - Create a special effect at (((Position of (Triggering unit)) offset by 1600.00 towards (18.00 + (((Real((Integer B))) - 1.00) x 72.00)) degrees) offset by ((Real((Integer A))) x 50.00) towards ((72.00 x ((Real((Integer B))) - 1.00)) + 180.00) degrees) using Abilities\Spells\Human\FlameStrike\FlameStrike1.mdl
              • Set counter = (counter + 1)
              • Special Effect - Destroy pentagramm[counter]
              • Set pentagramm[counter] = (Last created special effect)
          • Wait 0.10 seconds
      • Wait 2.00 seconds
      • Set counter = 0
      • Unit Group - Pick every unit in (Units in (Current camera bounds) matching ((Matching unit) Not equal to (Triggering unit))) and do (Actions)
        • Loop - Actions
          • Set counter = (counter + 1)
          • Set random_damage = (Integer((Random real number between 500.00 and 1000.00)))
          • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - (Real(random_damage)))
          • Floating Text - Create floating text that reads (String(random_damage)) at (Position of (Picked unit)) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Set damage_text[counter] = (Last created floating text)
      • Unit - Unpause (Triggering unit)
      • Cinematic - Turn cinematic mode Off for (All players)
      • Cinematic - Enable user control for (All players)
      • Wait 2.00 seconds
      • Unit - Unpause all units
      • For each (Integer A) from 1 to 720, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy circle_outer[(Integer A)]
      • For each (Integer A) from 1 to 48, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy runes[(Integer A)]
      • For each (Integer A) from 1 to counter, do (Actions)
        • Loop - Actions
          • Floating Text - Destroy damage_text[(Integer A)]
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
Im too lazy to read all that.
However, from the few first lines I saw, you leak... A LOT.
If you don't know what are leaks or don't know how to remove them... hmm... I don't know any tutorial for GUI :/
Just go to the sticky thread "Things That Leak" then.

Now if you want further help (keep this tip to the future too), explain what exacly you are trying to do and what is happening/not happening.
We cannot know what you are doing by you saying you are trying to make "Cinematic spell".
 
Level 1
Joined
Jan 26, 2008
Messages
4
No, i'm taking the spell from this site but ill go read the Leak post later. I don't have much time tonight. Thanks for the post.
 
Level 14
Joined
Nov 18, 2007
Messages
1,084
1st. I'm trying to make it have an are of damage of the camera but it keeps hurting everything on the map.

....
  • Unit Group - Pick every unit in (Units in (Current camera bounds) matching ((Matching unit) Not equal to (Triggering unit))) and do (Actions)
    • Loop - Actions
This picks every unit in the camera bounds which is why it hurts everything except the caster.
I also don't advise
  • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - (Real(random_damage)))
because it won't give bounty if bounty is enabled. Instead, you could make it
  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (Random real number between 500.00 and 1000.00) damage of attack type Spells and damage type Fire
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
Camera bounds are a x and y coordinates that you can move your camera to.
They are NOT what you see on the screen.

Couldn't find anything of use, I do remember there was such a thing though.

Anyway, good night.

[Edit] Maybe you can use this "GetCameraEyePositionLoc", then create a region based on that location and pick every one in it and damage.
If you don't know how to do it ill help you when ill be back.
 
Top