Trigger Issue

Enki

New Member
Reaction score
0
Hello. I'm trying to make a skill like strafe which amazon had in Diablo 2. Problem is, caster damages the units more than once and no matter what i just cant fix this. Any help will be appreciated. Thanks


Trigger:
  • StrafeLearn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Strafe
    • Actions
      • Set Strafe_Caster = (Triggering unit)
      • Trigger - Add to Strafe <gen> the event (Unit - A unit Starts the effect of an ability)



Trigger:
  • StrafeLevel
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Strafe
    • Actions
      • Set Strafe_Level = (Strafe_Level + 1)



Trigger:
  • Strafe
    • Events
    • Conditions
      • (Ability being cast) Equal to Strafe
    • Actions
      • Set Strafe_Caster = (Casting unit)
      • Set Strafe_Caster_Pos = (Position of (Casting unit))
      • Set Strafe_Damage = ((Real((Strength of Strafe_Caster (Include bonuses)))) + (((Real((Agility of Strafe_Caster (Include bonuses)))) x 0.25) x (Real(Strafe_Level))))
      • Set Strafe_Group = (Random (4 + Strafe_Level) units from (Units within 800.00 of Strafe_Caster_Pos matching ((((Matching unit) is in Strafe_Group) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of Strafe_Caster)) Equal to True))))
      • Unit Group - Pick every unit in Strafe_Group and do (Actions)
        • Loop - Actions
          • Trigger - Run StrafeCast <gen> (checking conditions)



Trigger:
  • StrafeCast
    • Events
    • Conditions
      • ((Picked unit) is in Strafe_Group) Equal to True
    • Actions
      • Wait (Random real number between 0.00 and 0.90) seconds
      • Unit - Create 1 Dummy for (Owner of Strafe_Caster) at Strafe_Caster_Pos facing (Position of (Picked unit))
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Strafe Dummy to (Last created unit)
      • Unit - Set level of Strafe Dummy for (Last created unit) to Strafe_Level
      • Unit - Make Strafe_Caster face (Picked unit) over 0.00 seconds
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
      • Unit - Cause Strafe_Caster to damage (Picked unit), dealing Strafe_Damage damage of attack type Hero and damage type Normal
      • Unit Group - Remove (Picked unit) from Strafe_Group
 

rafaxik

New Member
Reaction score
2
There's a lot of leaks on your triggers...
Trigger:
  • StrafeLearn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Strafe
    • Actions
      • Set Strafe_Caster = (Triggering unit)
      • Trigger - Add to Strafe <gen> the event (Unit - A unit Starts the effect of an ability)

Instead of Learning, try starts the effect of an ability and remove this action to add event. Seems useless...

Trigger:
  • StrafeLevel
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Strafe
    • Actions
      • Set Strafe_Level = (Strafe_Level + 1)

What? Why shouldn't you add it to the first trigger?

Trigger:
  • Strafe
    • Events
    • Conditions
      • (Ability being cast) Equal to Strafe
    • Actions
      • Set Strafe_Caster = (Casting unit)
      • Set Strafe_Caster_Pos = (Position of (Casting unit))
      • Set Strafe_Damage = ((Real((Strength of Strafe_Caster (Include bonuses)))) + (((Real((Agility of Strafe_Caster (Include bonuses)))) x 0.25) x (Real(Strafe_Level))))
      • Set Strafe_Group = (Random (4 + Strafe_Level) units from (Units within 800.00 of Strafe_Caster_Pos matching ((((Matching unit) is in Strafe_Group) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of Strafe_Caster)) Equal to True))))
      • Unit Group - Pick every unit in Strafe_Group and do (Actions)
        • Loop - Actions
          • Trigger - Run StrafeCast <gen> (checking conditions)

Alright here. You set the triggering unit and its position, but you don't remove location, so it leaks there...

Trigger:
  • StrafeCast
    • Events
    • Conditions
      • ((Picked unit) is in Strafe_Group) Equal to True
    • Actions
      • Wait (Random real number between 0.00 and 0.90) seconds
// REMOVE THIS
Trigger:
  • Unit - Create 1 Dummy for (Owner of Strafe_Caster) at Strafe_Caster_Pos facing (Position of (Picked unit))
    • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Trigger:
  • <b> // Your created unit will be removed before the other actions, put it after all its actions</b>
    • <blockquote data-attributes="" data-quote="Enki" data-source="post: 1216728"
      • class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
        • <div class="bbCodeBlock-title">
          • <a href="/goto/post?id=1216728"
            • class="bbCodeBlock-sourceJump"
            • rel="nofollow"
            • data-xf-click="attribution"
            • data-content-selector="#post-1216728">Enki said:</a>
        • </div>
      • <div class="bbCodeBlock-content">
        • <div class="bbCodeBlock-expandContent js-expandContent ">
          • <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">Trigger:</div><div class="wc3trigger"><ul class="wc3" id="wc3_10">
    • <li class="lastopen"><span class="unit">Unit - Add Strafe Dummy to (Last created unit)</span>
    • <ul>
    • <li class="tree"><span class="unit">Unit - Set level of Strafe Dummy for (Last created unit) to Strafe_Level</span></li>
    • <li class="lasttree"><span class="unit">Unit - Make Strafe_Caster face (Picked unit) over 0.00 seconds</span></li>
    • </ul>
    • </li>
    • </ul>
    • </div></div>
      • </div>
      • <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Click to expand...</a></div>
      • </div>
    • </blockquote><b>// What? face for 0 secs? if you want to set it 0, remove it.</b>
    • <blockquote data-attributes="" data-quote="Enki" data-source="post: 1216728"
      • class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
        • <div class="bbCodeBlock-title">
          • <a href="/goto/post?id=1216728"
            • class="bbCodeBlock-sourceJump"
            • rel="nofollow"
            • data-xf-click="attribution"
            • data-content-selector="#post-1216728">Enki said:</a>
        • </div>
      • <div class="bbCodeBlock-content">
        • <div class="bbCodeBlock-expandContent js-expandContent ">
          • <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">Trigger:</div><div class="wc3trigger"><ul class="wc3" id="wc3_11">
    • <li class="lasttree"><span class="unit">Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)</span></li>
    • </ul>
    • </div></div>
      • </div>
      • <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Click to expand...</a></div>
      • </div>
    • </blockquote><b>It leaks...Well, try to set Last created unit and Picked Unit as variables of unit type</b>
    • <blockquote data-attributes="" data-quote="Enki" data-source="post: 1216728"
      • class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
        • <div class="bbCodeBlock-title">
          • <a href="/goto/post?id=1216728"
            • class="bbCodeBlock-sourceJump"
            • rel="nofollow"
            • data-xf-click="attribution"
            • data-content-selector="#post-1216728">Enki said:</a>
        • </div>
      • <div class="bbCodeBlock-content">
        • <div class="bbCodeBlock-expandContent js-expandContent ">
          • <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">Trigger:</div><div class="wc3trigger"><ul class="wc3" id="wc3_12">
    • <li class="lastopen"><span class="unit">Unit - Cause Strafe_Caster to damage (Picked unit), dealing Strafe_Damage damage of attack type Hero and damage type Normal</span>
    • <ul>
    • <li class="lasttree"><span class="unitgroup">Unit Group - Remove (Picked unit) from Strafe_Group</span></li>
    • </ul>
    • </li>
    • </ul>
    • </div></div>
      • </div>
      • <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Click to expand...</a></div>
      • </div>
    • </blockquote>
    • <b>Remove the location:
    • </b>
    • <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">Trigger:</div><div class="wc3trigger"><ul class="wc3" id="wc3_13">
    • <li class="lasttree"><span class="default">Custom Script: CallRemoveLocation(udg_Caster_Pos)</span></li>
    • </ul>
    • </div></div>
 

Laiev

Hey Listen!!
Reaction score
188
>> It leaks...Well, try to set Last created unit and Picked Unit as variables of unit type

....

Units don't leak -_-'

>> // What? face for 0 secs? if you want to set it 0, remove it.

OVER 0.00 seconds... not FOR 0.00 seconds
 

Enki

New Member
Reaction score
0
Thanks for the replies. I'm trying to add
Trigger:
  • Custom script: call RemoveLocation (udg_Strafe_Caster_Pos)
but then trigger doesnt run. Because "StrafeCast" trigger needs it for all the units in Strafe_Group. So where should i put that?
 

sentrywiz

New Member
Reaction score
25
Thanks for the replies. I'm trying to add
Trigger:
  • Custom script: call RemoveLocation (udg_Strafe_Caster_Pos)
but then trigger doesnt run. Because "StrafeCast" trigger needs it for all the units in Strafe_Group. So where should i put that?

Last. And if you use Unit and Player groups, then remove those first and clean the location last.

> set location = somewhere
> set unit/player groups
> triggers...
> ...

> remove unit / player groups
> remove locations
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top