Why this trigger aint working?

nardretor

New Member
Reaction score
6
Trigger:
  • FUltimacy
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fear Ultimacy
    • Actions
      • Set FUCaster = (Triggering unit)
      • Set Temp_FUCasterPos = (Position of (Triggering unit))
      • Set Temp_FU180degBackCaster = (Temp_FUCasterPos offset by 100.00 towards ((Facing of (Triggering unit)) + 180.00) degrees)
      • Unit - Create 1 Fear Ultimacy (Spider) for (Owner of (Triggering unit)) at Temp_FU180degBackCaster facing (Facing of (Triggering unit)) degrees
      • Animation - Play (Last created unit)'s attack animation
      • Set FUltimacySpider = (Last created unit)
      • Set Temp_FUUnitPick = (Units within 500.00 of Temp_FUCasterPos matching ((((Matching unit) belongs to an enemy of (Owner of FUCaster)) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Mechanical) Equal to False))))
      • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Fear Ultimacy for (Triggering unit)) Equal to 1
            • Then - Actions
              • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x 0.20) damage of attack type Chaos and damage type Normal
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Fear Ultimacy for (Triggering unit)) Equal to 2
                • Then - Actions
                  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x 0.30) damage of attack type Chaos and damage type Normal
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Fear Ultimacy for (Triggering unit)) Equal to 3
                    • Then - Actions
                      • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x 0.35) damage of attack type Chaos and damage type Normal
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Fear Ultimacy for (Triggering unit)) Equal to 4
                        • Then - Actions
                          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x 0.45) damage of attack type Chaos and damage type Normal
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Level of Fear Ultimacy for (Triggering unit)) Equal to 5
                            • Then - Actions
                              • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x 0.60) damage of attack type Chaos and damage type Normal
                            • Else - Actions
      • Trigger - Turn on FUltimacy Push <gen>
      • Wait 3.00 seconds
      • Unit - Remove FUltimacySpider from the game
      • Trigger - Turn off FUltimacy Push <gen>
      • Custom script: call RemoveLocation (udg_Temp_FUCasterPos)
      • Custom script: call RemoveLocation (udg_Temp_FU180degBackCaster)


The thing is... units within 500 of range of the caster's position but nothing happens... the picked units do not receive any damage but the action "Remove FUltimacy" part works. Which means the unit group action was kinda skipped? or something?

Please help
 

Laiev

Hey Listen!!
Reaction score
188
Don't know if make any change in effect but..

Trigger:
  • ((((Matching unit) is A structure) Not equal to True)

change to
Trigger:
  • ((((Matching unit) is A structure) Equal to False)


Also you can remove all this if/then/else without problem..

Remove the Wait, better you create a periodic trigger which will run for some times and then you can remove/destroy units/effects

Just saying what you can improve in this trigger.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
don't place 10(example) if then else under the else action, remove all of them
And store in real variable with arrays. E.g
Trigger:
  • Actions
    • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
      • Loop - Actions
        • Set Damage[1] = 0.20
        • Set Damage[2] = 0.30
        • Set Damage[3] = 0.35
        • Set Damage[4] = 0.45
        • Set Damage[5] = 0.60
        • For each (Integer A) from 1 to 5 do actions
          • Loop Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Level of Fear Ultimacy for (Triggering unit)) Equal to (Integer A)
              • Then - Actions
                • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x Damage[(Integer A)]) damage of attack type Chaos and damage type Normal
 

Laiev

Hey Listen!!
Reaction score
188
don't place 10(example) if then else under the else action, remove all of them
And store in real variable with arrays. E.g
Trigger:
  • Actions
    • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
      • Loop - Actions
        • Set Damage[1] = 0.20
        • Set Damage[2] = 0.30
        • Set Damage[3] = 0.35
        • Set Damage[4] = 0.45
        • Set Damage[5] = 0.60
        • For each (Integer A) from 1 to 5 do actions
          • Loop Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Level of Fear Ultimacy for (Triggering unit)) Equal to (Integer A)
              • Then - Actions
                • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x Damage[(Integer A)]) damage of attack type Chaos and damage type Normal

Omg, you don't need all of this >_<

just do it:

Trigger:
  • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
    • Loop - Actions
      • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Life of (Picked unit)) x (0.10 + (0.10 x (Level of Ultimacy for (Triggering unit))) damage of attack type Chaos and damage type Normal
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
Try adding testers into your trigger, have it display the name of the units when it sets them to the varibles, have it display the name of the picked units, and have it ping the locations as you set them. Then post back and tell us the results.

Also guys making the damage into a loop will have no postive or negative effects on the trigger, it only makes the wall of text easyer to manage.
It dosn't matter if you use equal to false or not equal to true, they both return the same value.

Every one was so concerned on trying to help you neaten up your trigger they forgot to try to help fix your problim. :D
 

nardretor

New Member
Reaction score
6
Haha. You're right Dameon. But still the units are not picked.

Well... it's just that i always use if/then/else actions.

Here is the trigger that is turned on on the trigger i showed you above

Trigger:
  • FUltimacy Push
    • Events
      • Time - Elapsed game time is 0.02 seconds
    • Conditions
    • Actions
      • Set Temp_FUUnitPick = (Units within 500.00 of Temp_FUCasterPos matching ((((Matching unit) belongs to an enemy of (Owner of FUCaster)) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Mechanical) Equal to False))))
      • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
        • Loop - Actions
          • Set Temp_FUPickedUnitsPos = (Position of (Picked unit))
          • Set FUUnitsAngle = (Angle from Temp_FUCasterPos to Temp_FUPickedUnitsPos)
          • Set FUPushDis = (Temp_FUPickedUnitsPos offset by 15.00 towards FUUnitsAngle degrees)
          • Unit - Move (Picked unit) instantly to FUPushDis
          • Special Effect - Create a special effect at FUPushDis using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • Custom script: call RemoveLocation (udg_Temp_FUCasterPos)
      • Custom script: call DestroyGroup (udg_Temp_FUUnitPick)


I really don't know if it affected the first trigger cause this trigger is also not working.
 

nardretor

New Member
Reaction score
6
BUMP

Ok... the units are now picked on the first trigger. the action added on the unit group action was game display text (display names of picked unit) worked, but the cause damage action aint working.

And still, the trigger on my last post before this aint working, wish should push the units away from the ability caster's position.
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
Time - Elapsed game time is 0.02 seconds

This will make it fire .02 secs after the map starts, you want to use periodic not elapsed. As for the others, I will check back tommorrow, it is realy late here and I am about to pass out on my keyboard lol :eek:
 

nardretor

New Member
Reaction score
6
OH WHAT THE EGG? i never thought of that. It should be every 0.02 seconds xD

still, the damage aint working... first trigger
 

jarg1985

New Member
Reaction score
2
Perhaps your event should be instead of Unit starts the effect of an ability, Unit starts casting an ability?
 

nardretor

New Member
Reaction score
6
well, i dont need to change the event cause it's working...

still, can somebody try to solve the problem on the trigger on my first post?
 

millz-

New Member
Reaction score
25
I don't know for your case but I myself have experienced a problem before whereby my triggering unit was unable to "cause" damage via trigger. I also tried to "cause" damage with a created dummy unit and it failed. So my resort was to make an ability with the right amount of damage and give it to the dummy unit and make it cast it. But I don't think it would work for your case since your damage is dynamically set, percentage of life.

What I can suggest is set life of all picked units to that percentage lower, but if the amount of life to reduce is higher than current life, then reduce life by current life - 1 and create a dummy unit to cast a spell to kill it. I have not tried if setting life to life - max life would kill a unit, but I think it would. So the suggestion will make sure the kill is given to the caster.
 

nardretor

New Member
Reaction score
6
well, cause unit damage target action is the best choice in making a unit damaged in dummy abilities.
 

millz-

New Member
Reaction score
25
well, cause unit damage target action is the best choice in making a unit damaged in dummy abilities.

Like you said, picked units do not get damaged. Which was similar to my problem, although I have no idea why. I was damn sure there were units in the specific unit group and the units are correct.
 

nardretor

New Member
Reaction score
6
Ok guys, i have found a new problem.

I already fixed the Elapsed Game Time is 0.02 seconds event to Every 0.02 seconds of game time on the second trigger. It should work by now but, it takes effect once but it should work a lot of times in 3 seconds.


2nd trigger:
Trigger:
  • FUltimacy Push
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set Temp_FUUnitPick = (Units within 500.00 of Temp_FUCasterPos matching ((((Matching unit) belongs to an enemy of (Owner of FUCaster)) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Mechanical) Equal to False))))
      • Unit Group - Pick every unit in Temp_FUUnitPick and do (Actions)
        • Loop - Actions
          • Set Temp_FUPickedUnitsPos = (Position of (Picked unit))
          • Set FUUnitsAngle = (Angle from Temp_FUCasterPos to Temp_FUPickedUnitsPos)
          • Set FUPushDis = (Temp_FUPickedUnitsPos offset by 15.00 towards FUUnitsAngle degrees)
          • Unit - Move (Picked unit) instantly to FUPushDis
          • Special Effect - Create a special effect at FUPushDis using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • Custom script: call RemoveLocation (udg_Temp_FUCasterPos)
      • Custom script: call DestroyGroup (udg_Temp_FUUnitPick)


This is where it was turned on
Trigger:
  • # Trigger - Turn on FUltimacy Push &lt;gen&gt;
    • # Wait 3.00 seconds
    • # Trigger - Turn off FUltimacy Push &lt;gen&gt;
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
You destroy this varible at the end of the trigger Temp_FUCasterPos

So the trigger no longer has that varible to use on the triggers next run.
 
General chit-chat
Help Users

      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