Warcraft III resources & community, 2003–2006 · archived

Visibility modifiers won't go away

17 posts
#1

Visibility modifiers won't go away

These blasted visibility modifiers won't go away. I make one for a period, then when I want it to go away it won't no matter what I do. I've tried disabling them, destroying them, then running them over with another visibility modifier for black mask and I can STILL see the areas they revealed!
#2
You need to destroy them, then replace them.
-VGsatomi
#3
you've assigned it to a variable so you can reference it in the future right?

basic question but it has to be asked...

otherwise just destroy it...
#4
I've tried destroying them and I can still see the area. I've destroyed them then put down one over the area for black mask and it still shows. I can only assume it's not destroying it.

As for variables, not sure how to use variables with visibility modifiers. When you say "assigned it to a variable" I don't see any way to do that. *shrug*
#5
Well, visibility modiefiers are nearly impossible to use WITHOUT variables. Click the variables tab in the trigger editor (looks like an X) and create a few visibility modifier-type varables and use the "set varable" trigger action to set them to the regions. Then just refer to those varables when you use triggers to create and destroy visibility modifiers.
-VGsatomi
#6
I don't get an option to set a visibility modifier-type variable to a region, which limits it to another visibility modifier-type variable (utterly useless) or the last created visibility modifier (which gives results identical to if I just say "destroy last created visibility modifier"). I never was particularly good with variables, but I really don't see how I can set a visibility modifier-type variable to a region, not with basic WE at least...
#7
Trigger 1:visibility
Event
Spieler - Spieler 1 (Rot) types a chat message containing vision as Exakte Übereinstimmung
Condition
Action
Visibilty - Create an initially activated visibility modifier for Player 1 (Rot) emitting Visibility across (Playable map area)
Set vision = (Last created visibility modifier)

Trigger2:visibiltity off
Event
Spieler - Spieler 1 (Rot) types a chat message containing vision off as Exakte Übereinstimmung
Condition
Action
Visibility - Disable vision
Visibility - Destroy vision

-------
vision is a visibility-type var as VG already said.
I'm using german WE but i tried to translate relevant parts of my trigger so u may understand it
#8
*sigh* That's exactly what I've been doing- setting it to the last created visibility modifier. It still doesn't get rid of it when I try to tell it to. I even try telling it to disable it, destroy it, THEN set down a new one for black mask. The visibility still remains. Am I missing some version of WE or something?
#9
Okey
You have this visibility modifier activated on a region where you can actually see nothing but black

creating a visibility modifier which grants visibility over a region disables black mask and fog of war in that region.
If you want to "reset" that region to its former state you will have to deactivate visibility, destroying the modifier is not necessary you may reactivate it later, if needed.
if it is disabled you still have no black mask so you have to create a visibility modifier which enables black mask in that region. And i'm not talking about that visibility - enable black mask trigger. That is a global one, you need to do a local one.


Hope it helps.
#10
Yes, I'm doing what you're telling me to do and I'm still getting no black mask over the area.

In one trigger I have:
Player Group - Pick every player in (All players) and do (Actions)
    Loop - Actions
        Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across Cinematic View <gen>
Set visibility = (Last created visibility modifier)


Then in the next I have:
Visibility - Disable visibility
Player Group - Pick every player in (All players) and do (Actions)
    Loop - Actions
        Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Black mask across Cinematic View <gen>


Is this not what I'm supposed to do, because from what you're saying it seems to be.
#11
Mhm that works fine for me, just tested it


Try it like this:
Trigger 1:
Actions
Pick every player etc... :
Create an initially deactivated modifier emitting visibility
Set visibility = last...
Create an initially activated modifier emitting black mask
set mask = laast...

Trigger 2:
Actions
disable mask
Enable visibility

Trigger 3:
disable visibility
enable mask

----
That should work for sure
#12
I'd like to say that that worked, but I'm afraid it didn't. I ran a few tests, and the problem is it doesn't seem to disable it when I have the modifier activated for the picked player (everyone). It turned it off when I just told it to make a modifier for red, but when I tell it to pick everyone and make it for the picked player the disable function seems not to work. I suppose I could make a separate modifier for each player but that'd be 11 times the work, and it seems like it should work but something is just going wrong.
#13
I had that sometimes that picking doesn't work correctly. Seems to be a blizzard bug.
It just sucks ^^

If you have the actual version, and i think you have ;) it seems to be a bug in general or in your prog. i dont know . as far as i tested it all worked fine for me
#14
Well, I went and set a different modifier for each individual person in each trigger and now it's working. Thank GOD for copy and paste or that would have taken forever. Thanks for the help.
#15
copy and paste is never really an elegant solution

were you using a visibility modifier array? because if you weren't and you tried to remove them all with a single variable you would have
vismodifier variable VISION

create modifier (0x0000)
set VISION = last created modifier [so VISION is 0x0000]

create modifier (0x0001)
set VISION = last created modifier [so VISION is 0x0001]

etc...

and if you tried to remove all the modifiers, you'd only have access to the last one you made through VISION

so

for int A = 1 to 8
    create modifier for player A at whatever
    set VISION[A] = last created modifier
    //(or VISION[A + mod] if you use it for more than just 1 modifier per player)
end loop

and when removing
for int A = 1 to 8
    destroy VISION[A]
end loop