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

Will this spell work?

Status
Not open for further replies.
Level 18
Joined
Dec 17, 2009
Messages
1,114
I changed the trigger, look again please?
1.This one is the launcher
  • Escape Breaker
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Escape Breaker
    • Actions
      • Set EB_Caster = (Casting unit)
      • Set EB_Target = (Target unit of ability being cast)
      • Set EB_Point = (Position of EB_Target)
      • Trigger - Turn on Escape Stunner <gen>
      • Trigger - Turn on Escape Breaker Checker <gen>
2.This one is the checker
  • Escape Breaker Checker
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Escape Breaker for EB_Caster) Equal to 1
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EB_ECount Equal to (7.00 / 0.01)
            • Then - Actions
              • Set EB_ECount = 0.00
              • Trigger - Turn off (This trigger)
              • Trigger - Turn off Escape Stunner <gen>
              • Custom script: call RemoveLocation( udg_EB_Point )
            • Else - Actions
              • Set EB_ECount = (EB_ECount + 0.01)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Escape Breaker for EB_Caster) Equal to 2
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • EB_ECount Equal to (9.00 / 0.01)
                • Then - Actions
                  • Set EB_ECount = 0.00
                  • Trigger - Turn off (This trigger)
                  • Trigger - Turn off Escape Stunner <gen>
                  • Custom script: call RemoveLocation( udg_EB_Point )
                • Else - Actions
                  • Set EB_ECount = (EB_ECount + 0.01)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Escape Breaker for EB_Caster) Equal to 3
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • EB_ECount Equal to (11.00 / 0.01)
                    • Then - Actions
                      • Set EB_ECount = 0.00
                      • Trigger - Turn off (This trigger)
                      • Trigger - Turn off Escape Stunner <gen>
                      • Custom script: call RemoveLocation( udg_EB_Point )
                    • Else - Actions
                      • Set EB_ECount = (EB_ECount + 0.01)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • EB_ECount Equal to (13.00 / 0.01)
                    • Then - Actions
                      • Set EB_ECount = 0.00
                      • Trigger - Turn off (This trigger)
                      • Trigger - Turn off Escape Stunner <gen>
                      • Custom script: call RemoveLocation( udg_EB_Point )
                    • Else - Actions
                      • Set EB_ECount = (EB_ECount + 0.01)
3.This one is the thing that will effect the target in-game
  • Escape Stunner
    • Events
      • Unit - A unit Is issued an order targeting a point
      • Unit - A unit Is issued an order with no target
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • EB_Target Equal to (Ordered unit)
      • Or - Any (Conditions) are true
        • Conditions
          • (Issued order) Equal to (Order(attack))
          • (Issued order) Equal to (Order(smart))
          • (Issued order) Equal to (Order(move))
    • Actions
      • Set EB_LPoint = (Position of EB_Target)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Escape Breaker for EB_Caster) Equal to 1
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Distance between EB_Point and EB_LPoint) Greater than or equal to 600.00
            • Then - Actions
              • Unit - Cause EB_Caster to damage EB_Target, dealing 100.00 damage of attack type Hero and damage type Normal
              • Unit - Pause EB_Target
              • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
              • Wait 2.00 seconds
              • Unit - Unpause EB_Target
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation( udg_EB_LPoint )
            • Else - Actions
              • Custom script: call RemoveLocation( udg_EB_LPoint )
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Escape Breaker for EB_Caster) Equal to 2
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Distance between EB_Point and EB_LPoint) Greater than or equal to 500.00
                • Then - Actions
                  • Unit - Cause EB_Caster to damage EB_Target, dealing 175.00 damage of attack type Hero and damage type Normal
                  • Unit - Pause EB_Target
                  • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                  • Wait 3.00 seconds
                  • Unit - Unpause EB_Target
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Unpause EB_Target
                  • Custom script: call RemoveLocation( udg_EB_LPoint )
                • Else - Actions
                  • Custom script: call RemoveLocation( udg_EB_LPoint )
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Escape Breaker for EB_Caster) Equal to 3
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between EB_Point and EB_LPoint) Greater than or equal to 500.00
                    • Then - Actions
                      • Unit - Cause EB_Caster to damage EB_Target, dealing 205.00 damage of attack type Hero and damage type Normal
                      • Unit - Pause EB_Target
                      • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                      • Wait 4.00 seconds
                      • Unit - Unpause EB_Target
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Unpause EB_Target
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                    • Else - Actions
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between EB_Point and EB_LPoint) Greater than or equal to 500.00
                    • Then - Actions
                      • Unit - Cause EB_Caster to damage EB_Target, dealing 275.00 damage of attack type Hero and damage type Normal
                      • Unit - Pause EB_Target
                      • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                      • Wait 4.00 seconds
                      • Unit - Unpause EB_Target
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Unpause EB_Target
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                    • Else - Actions
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
 
Last edited:
Level 9
Joined
Jun 25, 2009
Messages
427
So, i'm making a spell, it will stun the target(i use pause rather than stun)

  • Escape Breaker
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Escape Breaker
    • Actions
      • Set EB_Caster = (Casting unit)
      • Set EB_Target = (Target unit of ability being cast)
      • Set EB_Point = (Position of EB_Target)
      • Trigger - Turn on Escape Launcher <gen>
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Escape Breaker for EB_Caster) Equal to 1
        • Then - Actions
          • For each (Integer A) from 1 to (6 / (Integer(0.01))), do (Actions)
            • Loop - Actions
              • Wait 0.01 seconds
          • Trigger - Turn off Escape Launcher <gen>
          • Custom script: call RemoveLocation( udg_EB_Point )
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Escape Breaker for EB_Caster) Equal to 2
            • Then - Actions
              • For each (Integer A) from 1 to (8 / (Integer(0.01))), do (Actions)
                • Loop - Actions
                  • Wait 0.01 seconds
              • Trigger - Turn off Escape Launcher <gen>
              • Custom script: call RemoveLocation( udg_EB_Point )
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Escape Breaker for EB_Caster) Equal to 3
                • Then - Actions
                  • For each (Integer A) from 1 to (10 / (Integer(0.01))), do (Actions)
                    • Loop - Actions
                      • Wait 0.01 seconds
                  • Trigger - Turn off Escape Launcher <gen>
                  • Custom script: call RemoveLocation( udg_EB_Point )
                • Else - Actions
                  • For each (Integer A) from 1 to (12 / (Integer(0.01))), do (Actions)
                    • Loop - Actions
                      • Wait 0.01 seconds
                  • Trigger - Turn off Escape Launcher <gen>
                  • Custom script: call RemoveLocation( udg_EB_Point )
will this work?

oh the launcher

  • Escape Launcher
    • Events
      • Unit - A unit Is issued an order targeting a point
      • Unit - A unit Is issued an order with no target
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • EB_Target Equal to (Ordered unit)
      • Or - Any (Conditions) are true
        • Conditions
          • (Issued order) Equal to (Order(attack))
          • (Issued order) Equal to (Order(smart))
          • (Issued order) Equal to (Order(move))
    • Actions
      • Set EB_LPoint = (Position of EB_Target)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Escape Breaker for EB_Caster) Equal to 1
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Distance between M_Point and M_LPoint) Greater than or equal to 600.00
            • Then - Actions
              • Unit - Cause EB_Caster to damage EB_Target, dealing 100.00 damage of attack type Hero and damage type Normal
              • Unit - Pause EB_Target
              • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
              • Wait 2.00 seconds
              • Unit - Unpause EB_Target
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation( udg_EB_LPoint )
            • Else - Actions
              • Custom script: call RemoveLocation( udg_EB_LPoint )
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Escape Breaker for EB_Caster) Equal to 2
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Distance between M_Point and M_LPoint) Greater than or equal to 500.00
                • Then - Actions
                  • Unit - Cause EB_Caster to damage EB_Target, dealing 175.00 damage of attack type Hero and damage type Normal
                  • Unit - Pause EB_Target
                  • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                  • Wait 3.00 seconds
                  • Unit - Unpause EB_Target
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Unpause EB_Target
                  • Custom script: call RemoveLocation( udg_EB_LPoint )
                • Else - Actions
                  • Custom script: call RemoveLocation( udg_EB_LPoint )
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Escape Breaker for EB_Caster) Equal to 3
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between M_Point and M_LPoint) Greater than or equal to 500.00
                    • Then - Actions
                      • Unit - Cause EB_Caster to damage EB_Target, dealing 205.00 damage of attack type Hero and damage type Normal
                      • Unit - Pause EB_Target
                      • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                      • Wait 4.00 seconds
                      • Unit - Unpause EB_Target
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Unpause EB_Target
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                    • Else - Actions
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between M_Point and M_LPoint) Greater than or equal to 500.00
                    • Then - Actions
                      • Unit - Cause EB_Caster to damage EB_Target, dealing 275.00 damage of attack type Hero and damage type Normal
                      • Unit - Pause EB_Target
                      • Special Effect - Create a special effect attached to the chest of EB_Target using Abilities\Spells\Other\Stampede\MissileDeath.mdl
                      • Wait 4.00 seconds
                      • Unit - Unpause EB_Target
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Unpause EB_Target
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
                    • Else - Actions
                      • Custom script: call RemoveLocation( udg_EB_LPoint )
I'm srsly confused, it wont trigger when i tested this...


Please help me!

Meh, i think that waits cannot be inside a loop. And yeah, about waits, their lowest thingie is 0.27sec. wait, so 0.01 will be set to 0.27 in any way :/

And now think a bit, take f.ex. 1 to 6 (ofc not your trigger, just example) put a wait inside it, the trigger runs. Bam 1-0.27, 2-0.54, 3-0.81, 4-1.08, 5-1.35, 6-1.62

OFC my math is bad, but just thinking about stopping the whole trigger for 1.62 seconds is kinda messy.

Tiche3
 
Level 16
Joined
May 1, 2008
Messages
1,605
Moin moin =)

Let's see:
1) Wait in loops > NO! this won't work

2) Special Effect: Set these effects into a variable if you want destroy them after a wait time - else it's buggy

3) Also the spell isn't mui so it will be buggy if more then 1 player use it at the same time

4) Why you use this "waits" inside the loop anyway? =O

5) In the distance check, you check the range between M_Point and M_Lpoint ... what are this? where you set this?

6) Maybe you should explain here everything the spell should do, because I get confused here ^^
 
Level 18
Joined
Dec 17, 2009
Messages
1,114
The spell is like this

Escape Breaker
Casts an invisible link that will pause the target if the target has ran off too far!

Minimal Range to pause it = 600/600/500/500, damage (forgot), Duration, 2/3/4/5

EB_Point is the point that is used for the calculation(the position of the target when the spell was cast)
EB_LPoint is the position of the target that will be updated every 0.01 second(look at the event)

  • Escape Stunner
    • Events
      • Uzumaki.Minato has changed the triggers
    • Conditions
      • Uzumaki.Minato Equal to (Ordered unit)
      • Or - Any (Conditions) are true
        • Conditions
          • (Issued order) Equal to (Order(change))
          • (Issued order) Equal to (Order(think)
          • (Issued order) Equal to (Order(look)
    • Actions
      • Info - please look up again , i changed the triggers,(no waits!)
OH, i changed the trigger, its not M_Point or M_LPoint but EB and EB_L
 
Last edited:
Level 9
Joined
Jun 25, 2009
Messages
427
The spell is like this

Escape Breaker
Casts an invisible link that will pause the target if the target has ran off too far!

Minimal Range to pause it = 600/600/500/500, damage (forgot), Duration, 2/3/4/5

EB_Point is the point that is used for the calculation(the position of the target when the spell was cast)
EB_LPoint is the position of the target that will be updated every 0.01 second(look at the event)

  • Escape Stunner
    • Events
      • Uzumaki.Minato has changed the triggers
    • Conditions
      • Uzumaki.Minato Equal to (Ordered unit)
      • Or - Any (Conditions) are true
        • Conditions
          • (Issued order) Equal to (Order(change))
          • (Issued order) Equal to (Order(think)
          • (Issued order) Equal to (Order(look)
    • Actions
      • Info - please look up again , i changed the triggers,(no waits!)
OH, i changed the trigger, its not M_Point or M_LPoint but EB and EB_L

Okay, so i did the spell from the scratch. It will put a link on the enemy unit (i did it with putting a lightning) then after 3/4/5/6 OR 650/600/550/500 range the link will be broken and will deal 75/150/225/300 damage and stun the unit for 3 seconds.

The triggers.

  • Chain Link
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Hex
    • Actions
      • Set Chain_Link_Unit = (Triggering unit)
      • Set Chain_Linked_Unit = (Target unit of ability being cast)
      • Set Chained_Pos = (Position of Chain_Linked_Unit)
      • Set Chain_Pos = (Position of Chain_Link_Unit)
      • Lightning - Create a lightning effect Magic Leash Chain_Pos Chained_Pos
      • Set Chained_Chain = (Last created lightning effect)
      • Trigger - Turn on Chain Link Loop <gen>
      • Custom script: call RemoveLocation(udg_Chained_Pos)
      • Custom script: call RemoveLocation(udg_Chain_Pos)
  • Chain Link Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • Set Chained_Pos = (Position of Chain_Linked_Unit)
      • Set Chain_Pos = (Position of Chain_Link_Unit)
      • Set Chain_Distance = (Distance between Chain_Pos and Chained_Pos)
      • Set Chain_Time = (Chain_Time + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • Chain_Time Greater than or equal to (30 + (15 x (Level of Hex for Chain_Link_Unit)))
              • Chain_Distance Greater than or equal to (700.00 - (50.00 x (Real((Level of Hex for Chain_Link_Unit)))))
        • Then - Actions
          • Unit - Create 1 Chain Link Dummy :) for (Owner of Chain_Link_Unit) at Chain_Pos facing Default building facing degrees
          • Unit - Add Storm Bolt [Hex] to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt Chain_Linked_Unit
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Cause Chain_Link_Unit to damage Chain_Linked_Unit, dealing (75.00 x (Real((Level of Hex for Chain_Link_Unit)))) damage of attack type Spells and damage type Magic
          • Lightning - Destroy Chained_Chain
          • Set Chain_Time = 0
          • Custom script: call RemoveLocation(udg_Chain_Pos)
          • Custom script: call RemoveLocation(udg_Chained_Pos)
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Lightning - Move Chained_Chain Chain_Pos Chained_Pos
This is of course tested 1k times and stuff, it really works. Any changes? i'll make them :)

Tiche3:wwink:

EDIT: Meh, attaching the map.
 

Attachments

  • Chain Link by Tiche3.w3x
    14.8 KB · Views: 94
Level 9
Joined
Jun 25, 2009
Messages
427
Woah, you're more advanced than i thought!

Thank you i'm gonna upload, i mean use the test map and copy paste the trigg list

Oh PS: can you tell me how it works?

Okay, i'll add the description :)

EDIT: Added comments to almost every single action so you could understand. Set the food cost of the dummy to 0, so you can't notice that the dummy is spawned.

Good luck with your map ;)

Tiche3:grin:
 

Attachments

  • Chain Link by Tiche3.w3x
    15.5 KB · Views: 103
Status
Not open for further replies.
Top