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

[Solved] impale question

Status
Not open for further replies.
Level 17
Joined
Aug 19, 2007
Messages
1,380
I am making an impale ability that acts as a sort of charge like ability, doing the effects of impale + moving the caster. Spell looks decent now ingame but problem is when multiple units are going to cast it, units are disappearing :D.
What be the easiest way to make this impale based ability MUI in GUI :ogre_hurrhurr:??
ps: triggering unit seems to be pointed to the impale effect :eekani:, that is why I used casting unit here


  • Charge
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Charge
    • Actions
      • Wait 0.50 seconds
      • Set TEMP_PointCharge = (Target point of ability being cast)
      • Set TEMP_PointChargePos = (Position of (Casting unit))
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 100.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TEMP_PointCharge)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos2)
 
Level 37
Joined
Mar 6, 2006
Messages
9,240


  • Charge
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Charge
    • Actions
      • Custom script : local location udg_TEMP_PointCharge = GetSpellTargetLoc()
      • Custom script : local location udg_TEMP_PointChargePos
      • Wait 0.50 seconds
      • Set TEMP_PointChargePos = (Position of (Triggering unit))
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 100.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Triggering unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script : call RemoveLocation(udg_TEMP_PointChargePos2)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 200.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Triggering unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script : call RemoveLocation(udg_TEMP_PointChargePos2)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 300.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Triggering unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script : call RemoveLocation(udg_TEMP_PointChargePos2)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 400.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Move (Triggering unitt) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TEMP_PointCharge)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos2)
      • Custom script : set udg_TEMP_PointChargePos = null
      • Custom script : set udg_TEMP_PointCharge = null

You could loop this. Waits are not accurate so timers would be better.
 
Last edited:
Level 17
Joined
Aug 19, 2007
Messages
1,380
I meant to say that my trigger is lacking cause it is not MUI (MUI = Multi Unit Instanceable). So the spell works fine, except when more than one units casts it. Which perfect explainable cause of all the waits and the variables. But I was wondering how this could be improved so that it becomes MUI.

Use local variable instead.
, yes this seems what I was looking for, going to try it out, thanks!

It is certinly not MUI and I can see you are like trying to do Sand King's Burrow Strike skill in DotA? If yes, here is a link of a spell on how to do it: Burrow Strike 1.3
, yes that seems to be almost identical to what I want to make. The only problem is that that spell does not seem to be MUI too (TriggerHappy says that). I need it MUI.

@Maker,
local location udg_TEMP_PointChargePos
does this make the variable local? Where can you find this under configure action?

But looks like Maker is relly genius so...... his answer will mostly be the one.
, hey don't underestimate yourself ;)
 
Level 30
Joined
Nov 29, 2012
Messages
6,637
[K40$]-Spectre;2353484 said:
I meant to say that my trigger is lacking cause it is not MUI (MUI = Multi Unit Instanceable). So the spell works fine, except when more than one units casts it. Which perfect explainable cause of all the waits and the variables. But I was wondering how this could be improved so that it becomes MUI.

, yes this seems what I was looking for, going to try it out, thanks!

, yes that seems to be almost identical to what I want to make. The only problem is that that spell does not seem to be MUI too (TriggerHappy says that). I need it MUI.

@Maker, does this make the variable local? Where can you find this under configure action?

, hey don't underestimate yourself ;)

But there is an update in the moderation so it is already MUI. =)
 
Level 17
Joined
Aug 19, 2007
Messages
1,380
But there is an update in the moderation so it is already MUI. =)
It was updated already and I'm sure it is MUI just like Hell Master said. Hope you find what you need :D
, sry I oversaw this. Only now that I try the spell in 88WaRCraFT3's map is does not seem to damage anything. The effects show up, the hero is moved too, but no damage is dealt :\. Also very strange that he forget to give the player enough gold/lumber to train the hero in the first place.
 
Level 17
Joined
Aug 19, 2007
Messages
1,380
The local variable part is just a custom script, I think maker may have forgotten to add it.

Custom script: local location udg_TEMP_PointChargePos

It just declares a local variable for that trigger
, this seems to remove the bug that the caster disappears when several unit cast the spell. So that is an improvement thanks. Still not castable by several units at once though (they move to the position of the first caster).


  • Charge
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Charge
    • Actions
      • Custom script: local location udg_TEMP_PointCharge
      • Custom script: local location udg_TEMP_PointChargePos
      • Custom script: local location udg_TEMP_PointChargePos2
      • Wait 0.50 seconds
      • Set TEMP_PointCharge = (Target point of ability being cast)
      • Set TEMP_PointChargePos = (Position of (Casting unit))
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos offset by 100.00 towards (Facing of (Casting unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Casting unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Casting unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 0.20 seconds
      • Set TEMP_PointChargePos2 = (TEMP_PointChargePos2 offset by 100.00 towards (Facing of (Casting unit)) degrees)
      • Unit - Move (Casting unit) instantly to TEMP_PointChargePos2, facing TEMP_PointCharge
      • Special Effect - Create a special effect at TEMP_PointChargePos2 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TEMP_PointCharge)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos)
      • Custom script: call RemoveLocation(udg_TEMP_PointChargePos2)
 
Status
Not open for further replies.
Top