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

Spell help

Status
Not open for further replies.
Level 7
Joined
May 16, 2004
Messages
355
This is actually really easy once you know what to do, I'll write out the triggers for a single unit. for a spell that like grabs a guy and spins him, once you see that I'm sure you can figure out easily how to do it with multiple units
Code:
Event-Every 0.02
Action-Move (Spun) to (Position of (Spinner)) offset by (distnce between (position of (Spinner)) and (position of (spun)) towards (Angle between (position of (Spinner)) and (Position of (Spun))) + 3**{change this value to either speed up or slow down the spin} facing (facing of (spun))

For multiple units just have them in either a unit group or set as variables for themselves. Hope this helps, if it doesn't I made a spell once that shows how its done.
 
Level 3
Joined
Jan 3, 2005
Messages
24
actually i have a made spell similar to this if not exactly what you want, but i cant get posting to work, so if it isnt against rules post your email and i should be able to send it to you, its in my custom map im making with lots of other spells and stuff so if you want it i can give it to ya
 
Level 5
Joined
Jun 22, 2004
Messages
109
my email is [email protected], but my spell is a lil more complicated, it consists of an ability being cast (bladestorm) then it creates 6 units around the hero that form a perfect circle, all i wanted was for these "Summons" to spin around the hero and then vanish right after a certain ammount of time ( i have 2 problems with it 1: my units dont spin (which i wanna try fixing ) and 2: whenever the main hero dies when this spell is active...he cant be revived...he is removed from the game, duno y this would happen but yeah i just wanna try doing it first, if i cant get it done then ill use ur trigger if u still want to send it to me. thx
 
Level 5
Joined
Jun 22, 2004
Messages
109
no need to make it flying....u can ezily just adjust the collision size to be 0. also when i tried to make the spell you suggested, i had a couple of questions in mind... 1. will it make the game laggy if i do a periodic even? like your example every 0.02 seconds of game time....2. when i tried to find the move trigger i only found it under move unit instantly...is there another move action?
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
No, it doesn't lag.

And yes, you can move it smoothly but using that trigger, and of course not moving it far. It will give you the impression of sliding. There are some GUI spells which might hlep you. Some perfect drag spell I think there is, which moves an unit smoothly.

~Daelin
 
Level 2
Joined
May 10, 2005
Messages
13
I was working on spell similar on DotA Allstars Greater Bash but i found that when the unit is bashed it not move smoothly. So he probably wants units to move like that
---------------------------->
not
---> ---> ---> ---> ---> --->
 
Level 5
Joined
Jun 22, 2004
Messages
109
ok so i havent tried to acctually do this till now...n e ways heres wat i got...

Trigger1

Blade massacre
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Blade Massacre
(Level of Blade Massacre for (Triggering unit)) Equal to 1
Actions
Region - Center Massacre Region <gen> on (Position of (Triggering unit))
For each (Integer A) from 1 to 10, do (Actions)
Loop - Actions
Unit - Create 1 Blade massacre dummy for (Owner of (Triggering unit)) at ((Center of Massacre Region <gen>) offset by 200.00 towards (((Real((Integer A))) x 36.00) + 0.00) degrees) facing (Target point of ability being cast)
Animation - Change (Last created unit)'s vertex coloring to (50.00%, 75.00%, 25.00%) with 80.00% transparency
Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Orc Blademaster - Bladestorm
Unit Group - Add all units of (Units of type Blade massacre dummy) to Blademassacregroup
Countdown Timer - Create a timer window for BladeMassacreTime with title <Empty String>
Countdown Timer - Show (Last created timer window)
Countdown Timer - Start BladeMassacreTime as a Repeating timer that will expire in 0.50 seconds


Trigger2

Blade massacre test
Events
Time - BladeMassacreTime expires
Conditions
Actions
Set Blademassacre_blademaster = (Unit-type of (Triggering unit))
For each (Integer A) from 1 to 10, do (Actions)
Loop - Actions
Unit Group - Pick every unit in Blademassacregroup and do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to ((Position of (Triggering unit)) offset by 300.00 towards ((Angle from (Position of (Picked unit)) to (Position of (Triggering unit))) + 3.00) degrees)


now the problem is that they dont move...and when the ability is activated, after .5 secs they are removed from the game somehow..what should i change/do to make this work??
 
Level 7
Joined
May 16, 2004
Messages
355
Code:
Blade massacre test 
Events 
Time - BladeMassacreTime expires 
Conditions 
Actions 
Set Blademassacre_blademaster = (Unit-type of (Triggering unit)) 
For each (Integer A) from 1 to 10, do (Actions) 
Loop - Actions 
Unit Group - Pick every unit in Blademassacregroup and do (Actions) 
Loop - Actions 
Unit - Move (Picked unit) instantly to ((Position of (Triggering unit)) offset by 300.00 towards ((Angle from (Position of (Picked unit)) to (Position of (Triggering unit))) + 3.00) degrees)
Thats what you currently have, now this is it rewritten as i see it should be
Code:
Blade massacre test 
Events 
Time - BladeMassacreTime expires 
Conditions 
Actions 
Set Blademassacre_blademaster = (Unit-type of (Triggering unit)) 
Unit Group - Pick every unit in Blademassacregroup and do (Actions) 
Loop - Actions 
Unit - Move (Picked unit) instantly to ((Position of (**Hero who spins em**)) offset by 300.00 towards ((Angle from (Position of (Picked unit)) to (Position of (**Hero who Spins Em**))) + 3.00) degrees)
 
Level 5
Joined
Jun 22, 2004
Messages
109
ok hers wat i put..

Code

Blade massacre test
Events
Time - BladeMassacreTime expires
Conditions
Actions
Set Blademassacre_blademaster = (Unit-type of (Triggering unit))
Unit Group - Pick every unit in Blademassacregroup and do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to ((Position of (Triggering unit)) offset by 300.00 towards ((Angle from (Position of (Picked unit)) to (Position of (Triggering unit))) + 3.00) degrees)

but still when i test it out it doesnt work, the timer stops after the first .5 seconds. (the triggering unit was set to be the hero caster here

Set Blademassacre_blademaster = (Unit-type of (Triggering unit))

do u think that this is the problem??
 
Level 5
Joined
Jun 22, 2004
Messages
109
ok so do u think i should change this

Set Blademassacre_blademaster = (Unit-type of (Triggering unit))

to

Set Blademassacre_blademaster = (Unit-type of (Casting unit))

cause Blademassacre_blademaster is already set to the hero with the spell.
 
Status
Not open for further replies.
Top