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

Some problems with Location

Status
Not open for further replies.

Kusanagi Kuro

Hosted Project: SC
Level 10
Joined
Mar 11, 2012
Messages
708
I uses this trigger to make the effect. But I dont know why the location doesnt work.
  • Fire Strike Effect
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Fire Strike
    • Actions
      • Wait 0.50 seconds
      • Set tempPoint = (Target point of ability being cast)
      • Special Effect - Create a special effect at tempPoint using MeteorStrike.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_tempPoint)
It also like that with Finishes casting an ability event. Only Start the effect of an ability event work.
Anyone know why?
 
Level 25
Joined
Sep 26, 2009
Messages
2,378
It may be because begins casting an ability is more of a check (begins casting an ability fires before the spell takes effect, before mana is taken and before cooldown on that spell starts. If you interrupt the spell before it does anything, a "begin casting an ability" event will still fire).

If that trigger is supposed to be part of the spell (e.g. it enhances it), then use starts the effect of an ability as an event
 

Kusanagi Kuro

Hosted Project: SC
Level 10
Joined
Mar 11, 2012
Messages
708
Well, I'm using some model which took effect after 0.5s and my spell has 1s casting time so I used begins casting to fit with the model and damage.
 
Level 3
Joined
Sep 9, 2009
Messages
658
Then wait 1.5 seconds? I think you should also put the variable above the wait to avoid any possible bugs. And yes, do what Nichilus says. Use starts the effect of an ability.

EDIT: Alternatively, you can use a dummy unit with MeteorStrike as the model and adjust its animation speed to keep up with the spell.
 
Level 3
Joined
Sep 9, 2009
Messages
658
You can always use a dummy unit. Set its death time to 0 so the game can tell its dead immediately. Every time you cast the spell, create the dummy unit at a target location. Play its birth animation and set the expiration timer to .5 seconds. Have another trigger that has the event a unit dies and the condition being the unit type is the dummy unit. Then use a unit group to damage units around the dummy unit.

But seriously, I think you should just try increasing the animation speed to match the spell.

There's also a meteor system in the spells section. IIRC, it only lets the meteors fall vertically with no angles. The damage can't be triggered too but who knows? Maybe it's updated now.

http://www.hiveworkshop.com/forums/spells-569/meteorsystem-gui-mui-v1-0-a-122340/?prev=search%3Dmeteor%26d%3Dlist%26r%3D200

Found the link.
 
Level 4
Joined
Jul 20, 2012
Messages
83
Why don't you make the spell Inferno-based without summoning the unit via Object Editor? And to enhance the effect of a spell via triggers and the point... OR you could summon dummy unit instead of Infernal with trigger that when the dummy unit enters a map it gets killed or removed from the game adding some effects - this ensures that you won't need to use wait functions which mess stuff up and make it synchronized (you know doing things when the meteor actually drops to ground).
 
Level 29
Joined
Oct 24, 2012
Messages
6,543

i was mislead then lol.

u should just shadow a global rather than making 2 location variables to clean up.

change this
Custom script : local location l = GetSpellTargetLoc()
wait 0.5 sec // This wait will be actually 0.6-0.7 seconds
Custom script : set udg_tempPoint = l
create effect
destroy effect
remove tempPoint
Custom script : set l = null

to this

Custom script : local location set udg_tempPoint = GetSpellTargetLoc()
wait 0.5 sec // This wait will be actually 0.6-0.7 seconds
create effect
destroy effect
remove tempPoint
Custom script : set tempPoint = null
 
Status
Not open for further replies.
Top