Spell Help: Muting/Hiding Items

TavinG

New Member
Reaction score
4
Hey folks! Have another question for the experts here:

I'm trying to create an aura attached to a building in which, when the Hero is within range of the aura, items carried are hidden or "muted" (for those who are familiar with the current version of the DotA map, you'll know what this means).

Essentially, I want the items carried to "not work". TP scrolls won't tp, life/mana restoration items can't be clicked, all stats affecting items will not give bonuses.

The Hero doesn't lose the items, they just don't work whilst in the aura. Once they're away from the aura, everything works again.

Here's a trigger I tried tinkering with:

Code:
Item Mute Aura
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Item Mute Aura Test) Equal to True)) and do (Actions)
            Loop - Actions
                Item - Hide (Item carried by (Picked unit) in slot 1)
                Item - Hide (Item carried by (Picked unit) in slot 2)
                Item - Hide (Item carried by (Picked unit) in slot 3)
                Item - Hide (Item carried by (Picked unit) in slot 4)
                Item - Hide (Item carried by (Picked unit) in slot 5)
                Item - Hide (Item carried by (Picked unit) in slot 6)
Thing is, nothing happens. I can see the buff on the Hero but I can still click and use all my items.

Any suggestions, folks? Much appreciated.
 

TavinG

New Member
Reaction score
4
Heh. Sorry, that was after me tinkering with it before posting. The line's not there in the actual code and it still doesn't work. Edited first post. But thanks for pointing that out.
 

Weegee

Go Weegee!
Reaction score
102
Let me try it lol... it probably requires you saving the item data in a array variable... Ill make a map and see if it works or not :thup:
 

Weegee

Go Weegee!
Reaction score
102
:eek: it only got rid of them and it didn't give em back...

here is the trigger that you should PROBABLY base your trigger off of unless someone knows something you did wrong with your old trigger

Code:
Item Mute
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Item Mute Aura) Equal to True)) and do (Actions)
            Loop - Actions
                Set PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] = (Picked unit)
                Set Item1[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 1)
                Set Item2[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 2)
                Set Item3[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 3)
                Set Item4[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 4)
                Set Item5[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 5)
                Set Item6[(Player number of (Owner of PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]))] = (Item carried by (Picked unit) in slot 6)
                Unit Group - Add PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] to UnitGroup_ItemMute
        Wait 0.01 seconds
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] has buff Item Mute Aura) Equal to True) and ((PickedUnit_ItemMute[(Player number of (Picked player))] is in UnitGroup_ItemMute) Equal to True))) and do (Actions)
            Loop - Actions
                Unit Group - Pick every unit in UnitGroup_ItemMute and do (Actions)
                    Loop - Actions
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 1)
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 2)
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 3)
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 4)
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 5)
                        Item - Remove (Item carried by PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] in slot 6)
                        Unit Group - Remove PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))] from UnitGroup_ItemMute
        Wait 0.01 seconds
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Item Mute Aura) Equal to False)) and do (Actions)
            Loop - Actions
                Hero - Create (Item-type of Item1[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]
                Hero - Create (Item-type of Item2[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]
                Hero - Create (Item-type of Item3[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]
                Hero - Create (Item-type of Item4[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]
                Hero - Create (Item-type of Item5[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]
                Hero - Create (Item-type of Item6[(Player number of (Owner of (Picked unit)))]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]

(note: it doesn't work :( sorry man)

PS. Its probably overwriting the old data of the variables... Try using a custom value variable instead of player number of owner of picked unit

Ex. (hand writen)

Hero - Create (Item-type of Item6[CV1]) and give it to PickedUnit_ItemMute[(Player number of (Owner of (Picked unit)))]

if this doesn't work then just play around with it lol
 
Reaction score
341
Store the items in vars, drop them, hide them.

Then when you want them to get it back just .... well give em back from the stored vars :)
 

Weegee

Go Weegee!
Reaction score
102
Store the items in vars, drop them, hide them.

Then when you want them to get it back just .... well give em back from the stored vars :)

Use the basis of my trigger and change it with TriggerHappy's instructions and it should stop the variables being overwritten
 

TavinG

New Member
Reaction score
4
So, I'm now playing with the idea of removing/disabling the Inventory (Hero) ability to make the skill look a little cleaner.

Thing is, when a Hero is carrying items, and you remove/disable the ability, the items automagically drop.

What I need to do is transfer the items before disabling the Inventory (Hero) ability to an invisible dummy unit, then retransfer them when they exit the aura.

Here's my problem, though. Since I'm simply adding heroes to a melee/ladder style map, the map can have multiple players with multiple heroes. Each of these heroes can enter and exit the aura at random.

So, how to I link one dummy unit to one hero? That way no matter how many times they enter or exit the aura, the items will be swapped with their own designated dummy unit?

Any ideas?
 

WolfieeifloW

WEHZ Helper
Reaction score
372
I read part of your last post and think you want the items to be stored, then regiven at a later time.
Read this thread,
And pay attention to this and this post [Post 4 and 6] .
 

Genkora

Frog blast the vent core!
Reaction score
92
You could make items with the same icons and tool tips, but give them no abilities. When a unit has that buff, you replace the items in the inventory with the items that don't do anything. It loses the buffs and then you re-replace the items. I believe there is an action to replace items, but I don't have WE open. If it doesn't have a replace item action, then remove the items then create the useless items for the hero, then just do it vice versa when it leaves the aura. I think you would need an array to store multiple items though.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top