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

Is There A Spell Like This?

Status
Not open for further replies.
Level 4
Joined
Nov 10, 2007
Messages
56
Enemy unit (not Hero or structure) on which it would be casted is removed from this realm and stored somewhere else like parallel universe or something. When ten units are stored they can be released back to this world but now as allies of the caster. Now, some variations are possible, like you can release them at any time or only when certain amount is reached or perhaps there is no limit of how many units can be stored. If it's not hard can someone make it in GUI and place it in this thread for download. I might even try making it myself.
 
Level 9
Joined
Oct 17, 2007
Messages
547
Why dont you just make an isolated island on the map and use blockers so that units cant get in or get out.
Whenever that spell is casted on a unit, change the ownership of that unit to neutral comp's and move the unit to that isolated island on your map.(Remember to set it to a variable array so you can keep track of which player cast the spell.)
And make a periodic trigger that check that array every X seconds, whenever every variable in the array contains a unit, move them wherever you need them to be (maybe at the caster's location?) and change the ownership to the caster's owner.
Thats the idea i think, I'm pretty sure it works.
 
Level 4
Joined
Nov 10, 2007
Messages
56
Can't it be done without physicaly placing those units somewhere? I'm talking about killing them but making trigger that will remember what kind of units has been killed and later when casted creates those units.

P.S. Don't laugh if I'm talking nonsence (is this a good word?), couse I ain't pro with editor.
 
Level 4
Joined
Mar 15, 2008
Messages
71
Easily done.... you said that it shouldn't be a hero so there's no need for hiding it...
here:
  • Events
    • Unit - Unit finishes casting an ability
  • Conditions
    • Ability being cast equal to Your Ability FFS
  • Actions
    • Set Position_OMG = (Position of (Target unit of ability being cast))
    • Unit - Remove (Target unit of ability being cast) from the game.
    • Set Number= Number +1
    • Set Unit_Type[Number] = Unit-type of (Target unit of ability being cast)
    • If (All Conditions are True) then do (Then Actions) else do (Else actions)
      • If - Conditions
        • (Number = 10) equal to True
      • Then - Actions
        • For each Integer A from 1 to 10 do:
          • Loop-Actions
            • Unit - Create 1 Unit_Type[Integer A] for (Owner of (Casting Unit)) at Position_OMG
            • Set Number = 0
      • Else - Actions
        • [blank]
    • Call Remove Location(udg_Position_OMG)
 
Last edited:
Level 12
Joined
Aug 18, 2006
Messages
1,193
Easily done.... you said that it shouldn't be a hero so there's no need for hiding it...
here:
  • Events
    • Unit - Unit finishes casting an ability
  • Conditions
    • Ability being cast equal to Your Ability FFS
  • Actions
    • Set Position_OMG = (Position of (Target unit of ability being cast))
    • Unit - Remove (Target unit of ability being cast) from the game.
    • Set Number= Number +1
    • Set Unit_Type[Number] = Unit-type of (Target unit of ability being cast)
    • If (All Conditions are True) then do (Then Actions) else do (Else actions)
      • If - Conditions
        • (Number = 10) equal to True
      • Then - Actions
        • For each Integer A from 1 to 10 do:
          • Loop-Actions
            • Unit - Create 1 Unit_Type[Integer A] for (Owner of (Casting Unit)) at Position_OMG
            • Set Number = 0
      • Else - Actions
        • [blank]
    • Call Remove Location(udg_Position_OMG)
now we just have 1 problem left

its NOT Multi-User Instanceable
 
Level 4
Joined
Sep 9, 2004
Messages
112
This was such an easy spell.. almost made me cry, all u need is an array unit group variable(array=number of players) and array interger variable (array=number of players) and a secluded zone with a rect that can hold the banished units until they reach the 10 unit limit..

  • Nether Banish
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Nether Banish
    • Actions
      • Set NetherBanishCount[(Player number of (Owner of (Casting unit)))] = (NetherBanishCount[(Player number of (Owner of (Casting unit)))] + 1)
      • Unit Group - Add (Target unit of ability being cast) to NetherBanishRemovedUnits[(Player number of (Owner of (Casting unit)))]
      • Unit - Pause (Target unit of ability being cast)
      • Unit - Move (Target unit of ability being cast) instantly to (Center of Banished Units <gen>)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • NetherBanishCount[(Player number of (Owner of (Casting unit)))] Equal to 10
        • Then - Actions
          • Unit Group - Pick every unit in NetherBanishRemovedUnits[(Player number of (Owner of (Casting unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Change ownership of (Picked unit) to (Owner of (Casting unit)) and Change color
              • Unit - Move (Picked unit) instantly to (Position of (Casting unit))
              • Unit - Unpause (Picked unit)
              • Unit Group - Remove all units from NetherBanishRemovedUnits[(Player number of (Owner of (Casting unit)))]
        • Else - Actions
          • Do nothing
Yep, all there if I'm not mistaken.. Well good luck and if you use it some rep would be greatly appreciated! Also including a test map!
 

Attachments

  • Nether Banish.w3x
    16.4 KB · Views: 38
Level 4
Joined
Nov 10, 2007
Messages
56
Thank you all for your efforts and +rep to Valdez for the test map and AKI_SER for trigger. I'll test it but I'm quite satisfied with what Valdez provided.
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
Why move them somewhere. Instead of that pause them, hide them and change control to neutral. And when you want them to appear move them to the desired location change control unpause and unhide. This way you will not have stip your map from precious space(terrain) in order to create an island
p.s. to clarify:
Use the triggers Valdez suggested but instead of moveing the unit to (Center of Banished Units <gen>) change owner, hide, maybe make invurnarable. And then add a make vurnarable and unhide action in the loop
 
Last edited:
Level 4
Joined
Sep 9, 2004
Messages
112
There is a problem with just hiding them on the spot and that is that they still have a colision size and can block paths of units and what not. So technically mine is ideal, yea you have to make a spot to put them but that is easily placable in the woods of a forest or in the very corner of a map or something.
 
Level 4
Joined
Nov 10, 2007
Messages
56
The colision can be removed from unit with a trigger so there realy is no need for hidden place on a map. I was wondering can it be done to summon banished units anytime with the use of an ability no matter how many of them is banished?
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
Yeap.
Just take the last part of the actions(from the first 'if') and put it in another trigger.
Change the condition in the "if" from being equal to 10 to equal to or greater than 1.
@Valdez
It is still better to hide them and move them to an existing place(for example the space between 4 trees, but in order to put 2+ units there you will need to reduce or remove colission), than making a hole new place with blockers and etc, but turning their collision off makes this unnecessary.
 
Level 4
Joined
Sep 9, 2004
Messages
112
The colision can be removed from unit with a trigger so there realy is no need for hidden place on a map. I was wondering can it be done to summon banished units anytime with the use of an ability no matter how many of them is banished?

What do you mean exactly?
 
Level 4
Joined
Nov 10, 2007
Messages
56
I mean, there's another button (ability) which you click and summon those banished units, no mather how much of them have been banished. The limit is still 10 but they don't automaticly return when 10 of them is banished and you can't banish anymore until you release those 10 or 5, or 3 or only 1. So, you banish, you choose when to summon them and you can't banish more then 10.
 
Level 9
Joined
May 27, 2006
Messages
498
Well, just whenever you're using your 'store unit' ability, add the targeted unit to unit group variable with player number array. And then, when you'll be using your 'release' ability, pick every unit in this unit group and move them to the place you want...

Example:
  • blah
    • Events:
      • Unit - A unit starts an effect of an ability
    • Conditions:
      • (Ability being cast) Equal to Your_StoreUnit_Ability
    • Actions:
      • Unit Group - Add (Triggering unit) to UnitGroup[(Player number of (Owner of (Triggering unit)))]
      • other actions...
 
Level 4
Joined
Sep 9, 2004
Messages
112
I think he wanted to limit the removed count to 10 that return though raft..I will work out a new version for you when I finish up my beta version of my map likely tonight. That is unless someone else like raft wants to do it..
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
I downloaded Valdez map and edit it.

Wont be posting the triggers becouse they are full of comments( if perhaps a guy new to editing wants to understand what is done).
Just GUI.
As I said lots of comments in the triggers explaing everything(almost).
No comments in game.
 

Attachments

  • Nether Banish.w3x
    19.9 KB · Views: 32
Status
Not open for further replies.
Top