Rapid Cast Trigger

Weyrling

New Member
Reaction score
25
I'm attempting to make a spell that launches spells one after another quickly towards an enemy, but I can't get it to work.
I based the ability off of Channel, I then made a trigger that created a dummy unit, added an ability to it, and ordered it to cast the ability, wait .5 seconds, and cast it again in a loop, which looped 6 times. The dummy unit would cast once, then not cast again. I tried making 6 seperate dummy units one after another and tell them to cast, but it didn't cast anything at all. After about an hour of tweaking it, and it still not working, I got frustrated and deleted the entire trigger. I'm hoping that somebody here can atleast point me in the right direction.
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Lol, pardon me for my bad manner, but why do you describe it that much? hehe ...You could have saved your time by just showing us the trigger?!?:D<3 Even tho you deleted it, click CTRL+z PLS?=)
Cheerio, going to bed now, solving it tomorrow ofc, if it is still unsolved!:D
"nitenite"

Edit; "I'm hoping that somebody here can atleast point me in the right direction."
Np, Event: Starts the effect of an ability
Conditions: your ability
 

Weyrling

New Member
Reaction score
25
See, when I get really frustrated, I tend to delete things, and close whatever programs I have running, so undo isn't an option. Also, my computer with WC3 isn't connected to the internet, so I'd have had to copy-paste to a txt file and transfer it via flashdrive... When I said I was hoping for a good pointer, I didn't mean a super-vague one, thats like waving your arm in a 180 degree area and saying "Its in that direction, somewhere, maybe." I need something a bit more specific than that.
 

Weyrling

New Member
Reaction score
25
I'm starting to wonder if anybody really reads my posts.
Duwenbasden, I already said I attempted to use 6 dummy units, and NOTHING happened when I cast the spell, so I'm not sure how reducing their number would somehow make it work.
TheCrystal, I said that I deleted the trigger, and closed WE, meaning there isn't anything for me to copy.
Seriously... what prevents you from reading the entirety of my posts before responding? I don't mean to offend anybody, but...
If you can't work with the information I can give you, then try making up some psuedo-code for me, and I'll figure it out from there.
 

Cohadar

master of fugue
Reaction score
209
There are some things you might forgotten.

Dummy spells should have manacost zero
Dummy spells must have check dependencies set to false
Dummy spells should have casting time set to zero
Dummy spells should have cooldown set to zero

Also it is a great help if you have a Test Dummy Caster
a test dummy caster should be the same as dummy caster
except it should be visible and NOT locust (invulnerable is ok)

That way you can create a testDummyCaster to try a spell
and if it does not work you can delete the code for dummy removal
and look at your dummy and try to cast the spell manually

If manual casting does not work you issued a bad order
(look at orderID for dummy spell)

NOTE: you cannot repeatedly cast a large number of spells with one dummy.
In order to cast say 10 fireballs in a row you must create 10 dummies
and then order each one to cast fireball.

EDIT:
I just saw you need a .5 seconds interval between spells
The only way you can make that to work is by using JASS
i.e. making a local variables containing dummy casters.

Note you still need to use multiple dummies because some
spells have a follow through time longer than .5
channel has 1.98 actually.

an advice: you can try editing all those times to zero
but it still won't work for some spells.
so remember: fast casting = multiple dummies
 

Sooda

Diversity enchants
Reaction score
318
> I just saw you need a .5 seconds interval between spells
The only way you can make that to work is by using JASS
i.e. making a local variables containing dummy casters.

O really ? Of course not, use loop with polled wait as 0.5 seconds. Everything else was right. Also check that type is your ability what you are going to cast. Does it need a target (unit) or point (ground) ? Tell exactly what you want your ability to do or target and we can give you idea how to do it.
 

Cohadar

master of fugue
Reaction score
209
> I just saw you need a .5 seconds interval between spells
The only way you can make that to work is by using JASS
i.e. making a local variables containing dummy casters.

O really ? Of course not, use loop with polled wait as 0.5 seconds. Everything else was right. Also check that type is your ability what you are going to cast. Does it need a target (unit) or point (ground) ? Tell exactly what you want your ability to do or target and we can give you idea how to do it.

Of course yes, because in GUI he has to use global unit array
and that way he can use his spell only with one hero
(ever heard of term MUI?) :p
 

Weyrling

New Member
Reaction score
25
You specify a polled wait in the loop, do normal waits not work inside of a loop? What I want the spell to do, exactly: First, you target an enemy unit, then the caster goes into a paused state (Channel - Disable Other Abilities: True) and then the dummy unit(s) should spawn and cast a spell 6 times in a row with .5 seconds in-between each. This spell will launch an exploding ball that is dodgeable, and deals damage based on the caster's intelligence, it should re-aim after each cast.
The spell is going to be useable by only one hero, so it doesn't need to be MUI.
 

Cohadar

master of fugue
Reaction score
209
Ok but can more people play with that hero at same time?
If so better make it PUI :D

Ok it is simple.
Make a spell work for one player,
you can do it if you carefully follow my instructions above.

after that it would be fairly easy to do it.

also look at this spell
http://www.thehelper.net/forums/showthread.php?t=45533

it is close enough for what you want and could give you some ideas
 

Jazradel

Helping people do more by doing less.
Reaction score
102
Well, if you want a really rough idea:
Code:
events: starts the affect of an ability or whatever
conditions: == your ability
actions
create 1 dummy unit
add dummy ability to dummy unit
order dummy unit to cast dummy ability on target
add generic expiration timer lasting 1 seconds to dummy unit
wait 0.5 seconds
create 1 dummy unit
add dummy ability to dummy unit
add generic expiration timer lasting 1 seconds to dummy unit
wait 0.5 seconds
etc
I avoid using wait insides loops in the gui.
 

Weyrling

New Member
Reaction score
25
Thanks for the feedback, I'll try to make the trigger now. Hopefully it'll work right this time.
 

SerraAvenger

Cuz I can
Reaction score
234
Of course yes, because in GUI he has to use global unit array
and that way he can use his spell only with one hero
(ever heard of term MUI?) :p

There are lots of things to prevent the overwriting, the most common one is a ringbuffer....
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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