Trigger Problem

Ph[o]bia

New Member
Reaction score
7
I got a problem and a question

1-My problem is Ignis Strike Death 2 don't want to work and I don't know why. can you guys help me to make it work

Trigger:
  • Ignis Strike Init
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ignis Strike
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ISIndex[1] Less than 100
        • Then - Actions
          • Set ISIndex[1] = (ISIndex[1] + 1)
        • Else - Actions
          • Set ISIndex[1] = 1
      • Set ISCaster[ISIndex[1]] = (Triggering unit)
      • Set ISAoe[ISIndex[1]] = 300.00
      • Set ISTargetPoint[ISIndex[1]] = (Target point of ability being cast)
      • Set ISFlying2[ISIndex[1]] = 2000.00
      • Set ISOwner[ISIndex[1]] = (Owner of ISCaster[ISIndex[1]])
      • Set ISCasterPoint[ISIndex[1]] = (Position of ISCaster[ISIndex[1]])
      • Set ISAngle[ISIndex[1]] = 0.00
      • Set ISFacingAngle[ISIndex[1]] = 0.00
      • If ((Level of Ignis Strike for ISCaster[ISIndex[1]]) Equal to 1) then do (Set ISDamage[ISIndex[1]] = (Power((Real((Level of Ignis Strike for ISCaster[ISIndex[1]]))), 4.00))) else do (Do nothing)
      • If ((Level of Ignis Strike for ISCaster[ISIndex[1]]) Equal to 2) then do (Set ISDamage[ISIndex[1]] = (Power((Real((Level of Ignis Strike for ISCaster[ISIndex[1]]))), 5.00))) else do (Do nothing)
      • If ((Level of Ignis Strike for ISCaster[ISIndex[1]]) Equal to 3) then do (Set ISDamage[ISIndex[1]] = (Power((Real((Level of Ignis Strike for ISCaster[ISIndex[1]]))), 6.00))) else do (Do nothing)
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • Set ISDummyPoint1[ISIndex[1]] = (ISCasterPoint[ISIndex[1]] offset by ISAoe[ISIndex[1]] towards ISAngle[ISIndex[1]] degrees)
          • Unit - Create 1 Ignis Strike[Flame] for ISOwner[ISIndex[1]] at ISDummyPoint1[ISIndex[1]] facing ISCasterPoint[ISIndex[1]]
          • Set ISDummy1[ISIndex[1]] = (Last created unit)
          • Unit Group - Add ISDummy1[ISIndex[1]] to ISDummyGroup2[ISIndex[1]]
          • Unit - Set the custom value of ISDummy1[ISIndex[1]] to (Integer(ISAngle[ISIndex[1]]))
          • Set ISAngle[ISIndex[1]] = (ISAngle[ISIndex[1]] + 36.00)
      • Unit - Create 1 Ignis Strike[Invisible] for ISOwner[ISIndex[1]] at ISCasterPoint[ISIndex[1]] facing ISCasterPoint[ISIndex[1]]
      • Set ISDummy4 = (Last created unit)
      • Unit - Set the custom value of ISDummy4 to ISIndex[1]
      • Unit Group - Add ISDummy4 to ISDummyGroup
      • Custom script: call RemoveLocation(udg_ISCasterPoint[udg_ISIndex[1]])


Trigger:
  • Ignis Strike Periodic
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • (ISDummyGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in ISDummyGroup and do (Actions)
        • Loop - Actions
          • Set ISDummy4 = (Picked unit)
          • Set ISIndex[2] = (Custom value of ISDummy4)
          • Set ISAngle2[ISIndex[2]] = (ISAngle2[ISIndex[2]] + 5.00)
          • Set ISFlying[ISIndex[2]] = (ISFlying[ISIndex[2]] + 20.00)
          • Unit Group - Pick every unit in ISDummyGroup2[ISIndex[2]] and do (Actions)
            • Loop - Actions
              • Set ISDummy1[ISIndex[2]] = (Picked unit)
              • Set ISCasterPoint[ISIndex[2]] = (Position of ISCaster[ISIndex[2]])
              • Set ISDummyPoint1[ISIndex[2]] = (ISCasterPoint[ISIndex[2]] offset by ISAoe[ISIndex[2]] towards ((Real((Custom value of ISDummy1[ISIndex[2]]))) + ISAngle2[ISIndex[2]]) degrees)
              • Unit - Move ISDummy1[ISIndex[2]] instantly to ISDummyPoint1[ISIndex[2]]
              • Animation - Change ISDummy1[ISIndex[2]] flying height to ISFlying[ISIndex[2]] at 0.00
              • Custom script: call RemoveLocation(udg_ISCasterPoint[udg_ISIndex[2]])
              • Custom script: call RemoveLocation(udg_ISDummyPoint1[udg_ISIndex[2]])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of ISDummy1[ISIndex[2]]) Greater than or equal to 1500.00
                • Then - Actions
                  • Unit - Kill ISDummy1[ISIndex[2]]
                  • Unit - Kill ISDummy4
                • Else - Actions
                  • Do nothing

Trigger:
  • Ignis Strike Death
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of ISDummy4) Equal to Ignis Strike[Invisible]
    • Actions
      • Unit - Create 1 Ignis Strike[Meteor] for ISOwner[ISIndex[2]] at ISTargetPoint[ISIndex[2]] facing ISCasterPoint[2]
      • Set ISDummy2[ISIndex[2]] = (Last created unit)
      • Set ISDummyPoint2[ISIndex[2]] = (Position of ISDummy2[ISIndex[2]])
      • Unit Group - Add ISDummy2[ISIndex[2]] to ISFlyingGroup2[ISIndex[2]]
      • Unit - Create 1 Ignis Strike[Invisible] for ISOwner[ISIndex[2]] at ISDummyPoint2[ISIndex[2]] facing ISDummyPoint2[ISIndex[2]]
      • Set ISDummy5 = (Last created unit)
      • Unit - Set the custom value of ISDummy5 to ISIndex[2]
      • Unit Group - Add ISDummy5 to ISFlyingGroup
      • Custom script: call RemoveLocation(udg_ISTargetPoint[udg_ISIndex[2]])


Trigger:
  • Ignis Strike Periodic 2
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • (ISFlyingGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in ISFlyingGroup and do (Actions)
        • Loop - Actions
          • Set ISDummy5 = (Picked unit)
          • Set ISIndex[3] = (Custom value of ISDummy5)
          • Set ISFlying2[ISIndex[3]] = (ISFlying2[ISIndex[3]] - 30.00)
          • Set ISFacingAngle[ISIndex[3]] = ((Facing of ISDummy2[ISIndex[3]]) + 30.00)
          • Unit Group - Pick every unit in ISFlyingGroup2[ISIndex[3]] and do (Actions)
            • Loop - Actions
              • Set ISDummy2[ISIndex[3]] = (Picked unit)
              • Animation - Change ISDummy2[ISIndex[3]] flying height to ISFlying2[ISIndex[3]] at 0.00
              • Unit - Make ISDummy2[ISIndex[3]] face ISFacingAngle[ISIndex[3]] over 0.00 seconds
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of ISDummy2[ISIndex[3]]) Less than or equal to 10.00
                • Then - Actions
                  • Unit - Kill ISDummy2[ISIndex[3]]
                  • Unit - Kill ISDummy5
                • Else - Actions
                  • Do nothing


Trigger:
  • Ignis Strike Death 2
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of ISDummy5) Equal to Ignis Strike[Invisible]
    • Actions
      • Unit - Create 1 Ignis Strike[Explosion] for ISOwner[ISIndex[3]] at ISDummyPoint2[ISIndex[3]] facing ISDummyPoint2[ISIndex[3]]
      • Set ISDummy3[ISIndex[3]] = (Last created unit)
      • Set ISDummyPoint3[ISIndex[3]] = (Position of ISDummy3[ISIndex[3]])
      • Unit - Add a 2.00 second Generic expiration timer to ISDummy3[ISIndex[3]]
      • Set ISDamageGroup[ISIndex[3]] = (Units within ISAoe[ISIndex[3]] of ISDummyPoint3[ISIndex[3]] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of ISOwner[ISIndex[3]]) Equal to True)))
      • Unit Group - Pick every unit in ISDamageGroup[ISIndex[3]] and do (Actions)
        • Loop - Actions
          • Set ISTarget[ISIndex[3]] = (Picked unit)
          • Unit - Cause ISCaster[ISIndex[3]] to damage ISTarget[ISIndex[3]], dealing ISDamage[ISIndex[3]] damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of ISTarget[ISIndex[3]] using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_ISDummyPoint3[udg_ISIndex[3]])
      • Custom script: call RemoveLocation(udg_ISDummyPoint2[udg_ISIndex[3]])


2- my question is: did my unit group leaks?
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
1). i do not know what exactly your spell is supposed to do neither what it doesnt do right...

2). groups do not leak though you have a point leak in the first trigger, setting:
Trigger:
  • Set ISDummyPoint1[ISIndex[1]] = (ISCasterPoint[ISIndex[1]] offset by ISAoe[ISIndex[1]] towards ISAngle[ISIndex[1]] degrees)

without removing it.
 

jomik

New Member
Reaction score
17
1). i do not know what exactly your spell is supposed to do neither what it doesnt do right...

2). groups do not leak though you have a point leak in the first trigger, setting:
Trigger:
  • Set ISDummyPoint1[ISIndex[1]] = (ISCasterPoint[ISIndex[1]] offset by ISAoe[ISIndex[1]] towards ISAngle[ISIndex[1]] degrees)

without removing it.

Dude, Unit-Groups do leak? :O
 

LearningCode

New Member
Reaction score
24
(Unit-type of ISDummy5) Equal to Ignis Strike[Invisible]

Unit type of triggering unit Equal to Ignis Strike[Invisible]

Try it, lol
 

Laiev

Hey Listen!!
Reaction score
188
you can make all that periodic trigger in one.. so why make in 3-4? :nuts:

just use if's

and remove that 'do nothing', leave empty
 

Laiev

Hey Listen!!
Reaction score
188
True..

but is better just run 1 trigger, instead of 2 in every 0,03 seconds.. 1 trigger each 0,03 seconds will run 33 times in 1 second... 2 triggers will run 66 times :banghead:

i think it's don't matter... well :rolleyes:


about your second question...

unit group just leak if you leave then alive, or if you set again without destroy it
 

Ph[o]bia

New Member
Reaction score
7
I heard sometime unit group don't leak so, i was wondering when they aren't and if mine does leak or not
 

Laiev

Hey Listen!!
Reaction score
188
your group don't leak because you don't set it again... well.. you don't set it lol

you just use it to add units inside, so you can use it without destroy and spell still MUI/MPI

what leak?
SE (special effect)
point (location)
group (unit group)
force (player group)
text (floating text)


all what you create temporary you NEED to destroy, or will stole all your memory lol
 

Ph[o]bia

New Member
Reaction score
7
So , exept for my damage group , all group dont leak?

now i need to make the last trigger working -.-
 

Laiev

Hey Listen!!
Reaction score
188
So , exept for my damage group , all group dont leak?

now i need to make the last trigger working -.-

no... all group unit leaks if set and set again before destroy it..

your group don't leak because you don't set it, you just use to store units..


also your trigger don't work because it need to the first trigger 'dies' work...

because this i say to you make all in one trigger... to prevent it..

the second 'unit dies' trigger which you got, needs the first 'unit dies' trigger action before...

"ISDummy5" is set in first 'unit dies'
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top