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

Creating some basic abilities

Level 11
Joined
Oct 13, 2008
Messages
560
How I make the tigger?
my is this:

  • Atribute demage
    • Events
      • unit start efect of an abilyty
    • Conditios
      • ability begin cast equal to Attack
    • Actions
      • Set TempReal = (real agility of Razier(spectre) <gen>)
      • Unity Group - Pick every unit in (units with 150 of (Position of Raziel(Spectre) 0013 <gen>) maching (((Picked unit) belongs enemy of player 9 (gray)) Equal to (true)) and do action (Unit - cause Raziel(Spectre) 0013 <gen> to demage (picked unit) dealing (TempReal) demage of attack type (hero) and demage type (normal)

waths is wrong?
 
Level 12
Joined
Aug 18, 2006
Messages
1,193
How I make the tigger?
my is this:

  • Atribute demage
    • Events
      • unit start efect of an abilyty
    • Conditios
      • ability begin cast equal to Attack
    • Actions
      • Set TempReal = (real agility of Razier(spectre) <gen>)
      • Unity Group - Pick every unit in (units with 150 of (Position of Raziel(Spectre) 0013 <gen>) maching (((Picked unit) belongs enemy of player 9 (gray)) Equal to (true)) and do action (Unit - cause Raziel(Spectre) 0013 <gen> to demage (picked unit) dealing (TempReal) demage of attack type (hero) and demage type (normal)

waths is wrong?
first of all, that trigger leaks 1 Point

use (Matching unit) instead of (Picked unit) in the condition

(Picked unit) is what unit is(in this case) taking damage

(Matching unit) is what unit is being Picked, before the actions are made

in short : (Matching unit) for conditions and (Picked unit) for actions when it comes to a "Pick every unit in"
 
Level 12
Joined
Aug 18, 2006
Messages
1,193
  • Some Spell
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to War Stomp
  • Actions
    • Custom script: set bj_wantDestroyGroup = true
    • Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is A structure) equal to False) and do (Actions)
      • Unit - Cause (Triggering unit) to damage (Picked unit) dealing DAMAGEVAR damage with attack type Chaos and damage type Normal
 
Level 1
Joined
Jun 29, 2008
Messages
3
I have a simple question. What is the number that i have to change to increase/decrease the chances to the custom aura work? I don't understand all the english text, and i'm new to the triggers, is a bit confusing to read those scripts in other language, so please help if you can.

Thanks.
 
Level 2
Joined
Aug 17, 2008
Messages
22
idk i thought this was a really helpfull thread >.< but i wouldnt mind seeing a mass aoe spell like multiple flame strikes offset by degrees of caster :D!!
 
Level 2
Joined
Aug 17, 2008
Messages
22
ok i followed ur blink strike move and put it into my map after tweaking it and adding special effects but it doesnt activate my move for a cooldown so i cant really use it in my map.... need helpwith that??
 
Level 2
Joined
Aug 17, 2008
Messages
22
dummy skill based on thunder bolt

  • Blink Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blink Strike
    • Actions
      • Set TargetP = (Position of (Target unit of ability being cast))
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
      • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing (30.00 x (Real((Level of Blink Strike for (Triggering unit))))) damage of attack type Spells and damage type Normal
      • Unit - Move (Triggering unit) instantly to TargetP
      • Special Effect - Create a special effect attached to the origin of (Target unit of ability being cast) using Abilities\Spells\NightElf\Blink\BlinkTarget.mdl
      • Unit - Order (Triggering unit) to Attack (Target unit of ability being cast
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TargetP))
 
Level 2
Joined
Aug 17, 2008
Messages
22
no it doesnt give me a cool down i tryed a unit finishes casting an ability it gives the cd but then it doesnt do the actions and it uses the stun symbol on the unit.......and for the destroy effects thing.... i seen on someone elses map for trying to learn this that he had like 4 special effects and 1 destroy and it worked fine??
 
Level 2
Joined
Jan 25, 2009
Messages
14
does anyone know how to make a spell where at night the hero gets increased AS and damage and movement speed and it also changes his model?
 
Level 5
Joined
Feb 23, 2009
Messages
74
Here's a trick I found without the usage of the complicated trigger. You just make a puppet unit at an undisclosed location where you give the unit control for 1 second when the hero casts the spell and have that unit perform item illusion on the hero.
 
Level 2
Joined
Mar 1, 2009
Messages
17
Can i ask something? How can i make the blink-strike abilty blinked exactly behind the enemy?

uhm theres a specific trick...
use triggers :D i say you how

  • Unit - Move (Triggering unit) instantly to ((Position of (Target unit of ability being cast)) offset by ((Facing of (Target unit of ability being cast)) + 180.00) towards 0.00 degrees), facing (Position of (Triggering unit))
but then you should use
  • Unit - Make (Triggering unit) face (Target unit of ability being cast) over 0.01 seconds
that the unit faces the Targeted Unit


You just teleport behind your targeted unit
then just use the things that paskovich uses
 
Level 1
Joined
Jun 6, 2009
Messages
4
Great tutorial, though the knockback makes the target change direction when the caster moves. You could fix that by making some small changes though :thumbs_up:
 
Last edited:
Level 4
Joined
Sep 28, 2008
Messages
39
This is a brilliant tutorial, i learnt heaps about spell triggering from this (I knew barely anything before hand.) and i even learnt from fiddling with the variables in it, like what happens if a swap X and Y? ect. ended up with making a charge ability with the knockback, and a combination of the attribute damage and blink-strike.

Again, this tutorial was a great help!
 
Level 2
Joined
Mar 1, 2009
Messages
17
Here's a trick I found without the usage of the complicated trigger. You just make a puppet unit at an undisclosed location where you give the unit control for 1 second when the hero casts the spell and have that unit perform item illusion on the hero.

you dont need an unit at a undisclosed location...
you can spawn them ... without models
change the model path to .mdl
and delete the shadow and give him locust abilitiy and the illusion spell..
then make a trigger that it spawns the unit and cast ability on the triggering unit.
(sry for my english:wink:)
 
Level 1
Joined
Jul 28, 2009
Messages
2
Someone can help me?

if - "A unit Starts the effect of an Ability", the cooldown of that ability wont move...
and if - "A unit finishes casting an Ability" - sometime the effect wont happen....

please help me!
 
Level 1
Joined
Jun 30, 2007
Messages
1
Ok, so i've tried forever and i simply cant get past this part. I get everything else but im still screwing up somewhere in the process and make the second part of set variable start as real->to integer, i cant seem to figure out what everyone else does to get it working right -.- plz help i know it needs to go integer to real but i just cant find how to do that.


Set TempReal = (Integer((Real((Strength of (Triggering unit) (Include bonuses))))))
 
Level 4
Joined
Jun 4, 2009
Messages
70
Yeye good spells you learn how to make stuff, but i cant see were to find for example ((Attacking Unit has Buff).... and what kind of varibles i should use =P
 
Level 4
Joined
Jun 4, 2009
Messages
70
Hey i tried to make an ability simmilar to Pudge's " Rot " from DotA and here is how i made it before you told me the great ideea about making the buffs diffrent on each level :
  • Stygian Aura On
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (Order(immolation))
    • Actions
      • Set StygianCaster = (Ordered unit)
      • Set StygianActivate = True
This is how i turned it on .
  • Stygian Aura Off
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (Order(unimmolation))
    • Actions
      • Set StygianCaster = No unit
      • Set StygianActivate = False
      • Custom script: call RemoveLocation(udg_StygianPosition)
This is how i turned if off .
  • Stygian Aura l3lackKnight
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • StygianActivate Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of |cffffcc00S|rtygian Aura for (Triggering unit)) Equal to 1
        • Then - Actions
          • Set StygianDamage = (((Life of StygianCaster) / 100.00) x 5.00)
          • Unit - Set life of StygianCaster to ((Life of StygianCaster) - StygianDamage)
          • Set StygianPosition = (Position of StygianCaster)
          • Unit Group - Pick every unit in (Units within 600.00 of StygianPosition matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of and do (Actions)
            • Loop - Actions
              • Custom script: local texttag StygianDamageText
              • Custom script: local effect StygianDamageEffect
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
              • Custom script: set StygianDamageEffect = GetLastCreatedEffectBJ()
              • Unit - Cause StygianCaster to damage (Picked unit), dealing StygianDamage damage of attack type Spells and damage type Normal
              • Floating Text - Create floating text that reads (String((Integer(StygianDamage)))) above (Picked unit) with Z offset 10.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
              • Custom script: set StygianDamageText = GetLastCreatedTextTag()
              • Custom script: call SetTextTagVelocityBJ( StygianDamageText, 64, 90 )
              • Custom script: call SetTextTagPermanentBJ( StygianDamageText, false )
              • Custom script: call SetTextTagLifespanBJ( StygianDamageText, 1.00 )
              • Wait 1.00 seconds
              • Custom script: call DestroyEffect(StygianDamageEffect)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of |cffffcc00S|rtygian Aura for (Triggering unit)) Equal to 2
            • Then - Actions
              • Trigger - Turn off (This trigger)
            • Else - Actions
              • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of |cffffcc00S|rtygian Aura for (Triggering unit)) Equal to 2
        • Then - Actions
          • Set StygianDamage = (((Life of StygianCaster) / 100.00) x 10.00)
          • Unit - Set life of StygianCaster to ((Life of StygianCaster) - StygianDamage)
          • Set StygianPosition = (Position of StygianCaster)
          • Unit Group - Pick every unit in (Units within 600.00 of StygianPosition matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of and do (Actions)
            • Loop - Actions
              • Custom script: local texttag StygianDamageText
              • Custom script: local effect StygianDamageEffect
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
              • Custom script: set StygianDamageEffect = GetLastCreatedEffectBJ()
              • Unit - Cause StygianCaster to damage (Picked unit), dealing StygianDamage damage of attack type Spells and damage type Normal
              • Floating Text - Create floating text that reads (String((Integer(StygianDamage)))) above (Picked unit) with Z offset 10.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
              • Custom script: set StygianDamageText = GetLastCreatedTextTag()
              • Custom script: call SetTextTagVelocityBJ( StygianDamageText, 64, 90 )
              • Custom script: call SetTextTagPermanentBJ( StygianDamageText, false )
              • Custom script: call SetTextTagLifespanBJ( StygianDamageText, 1.00 )
              • Wait 1.00 seconds
              • Custom script: call DestroyEffect(StygianDamageEffect)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of |cffffcc00S|rtygian Aura for (Triggering unit)) Equal to 3
            • Then - Actions
              • Trigger - Turn off (This trigger)
            • Else - Actions
              • Do nothing
      • Custom script: call RemoveLocation(udg_StygianPosition)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of |cffffcc00S|rtygian Aura for (Triggering unit)) Equal to 3
        • Then - Actions
          • Set StygianDamage = (((Life of StygianCaster) / 100.00) x 15.00)
          • Unit - Set life of StygianCaster to ((Life of StygianCaster) - StygianDamage)
          • Set StygianPosition = (Position of StygianCaster)
          • Unit Group - Pick every unit in (Units within 600.00 of StygianPosition matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of and do (Actions)
            • Loop - Actions
              • Custom script: local texttag StygianDamageText
              • Custom script: local effect StygianDamageEffect
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
              • Custom script: set StygianDamageEffect = GetLastCreatedEffectBJ()
              • Unit - Cause StygianCaster to damage (Picked unit), dealing StygianDamage damage of attack type Spells and damage type Normal
              • Floating Text - Create floating text that reads (String((Integer(StygianDamage)))) above (Picked unit) with Z offset 10.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
              • Custom script: set StygianDamageText = GetLastCreatedTextTag()
              • Custom script: call SetTextTagVelocityBJ( StygianDamageText, 64, 90 )
              • Custom script: call SetTextTagPermanentBJ( StygianDamageText, false )
              • Custom script: call SetTextTagLifespanBJ( StygianDamageText, 1.00 )
              • Wait 1.00 seconds
              • Custom script: call DestroyEffect(StygianDamageEffect)
        • Else - Actions
          • Do nothing
And this is the actual spell wich has 3 levels cause its an ulti .:hohum:Not very good right ? I also tried splitting it into 3 diffrent triggers wich would turn off when you learn another level of the spell ( if you learn Stygian Aura level 2 then the trigger 4 the level 1 would be turned off ) . Well tell me what you think .........:infl_thumbs_up:

Isn't pudge rot just slow and damge? can be more simple, just make trigger when he use you add a slow aura (which dont have any icon and won't be seen) and then a trigger you turn off you remove it. =)
 
Level 3
Joined
Jun 3, 2009
Messages
53
This tutorial is really, really useful. I think every map maker should read this first before asking potentially stupid questions.
 
Level 8
Joined
Apr 8, 2009
Messages
499
It would be nice if you could show the basic abilities that your custom abilities were based on,
also i found that when i tried to use devotion aura for a custom armor reducing aura, I couldnt give the "stat - armor bonus:" a negative value....
(maybe its just me... or my editor...) any help on this one?
 
Level 2
Joined
Aug 18, 2010
Messages
6
Hey there, just a quick question.

I tried out the AttributeDamage spell and it did work, except the first time I cast the ability it doesn't do any damage. How do i fix this..?
 
Level 4
Joined
Oct 18, 2010
Messages
55
blizzard spell: help?

hey, i am actually a newb mapper and i'd like to know how to make a blizzard-like spell that is dealing GUI-set damage. I just dont know a string/command/action/trigger to stop the damage dealing if caster isn't standing and channeling.
My trigger is like:
a unit starts channeling an ability

ability being cast equal to blizzard

*set variables thingy*
if unit is channeling the spell then activate blizzard damage trigger

which is:

every 0.5 second deal damage to point set as target of blizzard.


I don't know how to make "if unit is channeling" string...help someone please?
 
Level 1
Joined
Feb 14, 2011
Messages
9
nice tutorial but i kinda don't like the knockback, is there another way to make a knockback spell? i would like to see it. :)
 
I would Just like to point out that, the part about the aura is wrong. There is a way to detect the level:

After getting your unit you put
[trigger=My Trigger]MyTrigger
Events
Unit - A unit Is attacked
Conditions
(Level of Bash for (Attacking unit)) Equal to 0
Actions
Unit - Cause (Attacking unit) to damage (Attacked unit), dealing (Real((Level of Bash for (Attacking unit)))) damage of attack type Normal and damage type Normal[/trigger]
(You can use either the condition or the action)
 
Level 1
Joined
Aug 10, 2010
Messages
1
II. A simple blink-strike spell What to do about the cooldown? If i change the cooldown ability(Blink Strike) to X seconds the ability stay with 0 seconds.
 
Top