Logic Relays And Func_Doors

Stormcaller3801

L5: Dapper Member
Jul 5, 2009
249
28
Here's what I'm after: when a map starts, there's a timed delay. During this delay, doors work normally- I'm using ABS's prefabbed doors for this. Nothing impressive, really, you can just run around and it all operates as expected. But once the timer runs out, I want all the doors to open and stay that way, regardless of what the trigger tells them to do.

There's going to be around 24 of these prefabbed doors on the map, plus I've got a couple other things in mind.

I'm going to be using a logic_relay to trigger all this, but I'm not sure how exactly to get what I'm after.

I'm thinking that one way would be to go in and name all of the trigger_multiples associated with the doors and then have the logic_relay disable them when it fires, as well as opening the doors. However I remember something about named objects being bad for optimization. I also remember something about a maximum number of inputs and outputs possible per object, although that could be a mistake.

Another idea I had was to open and then lock the doors, effectively disabling them, but again, I'm not sure how well that would work. On the upside I think I can use wildcards there with door_any_large_* allowing me to hit them all with two outputs.

A third idea would be opening the doors and then setting their speed to 0, effectively disabling them and ignoring the trigger_multiple thereafter. Only I suspect that's not going to prevent the opening and closing sounds, which would in turn cause issues.

A fourth idea would be to make a new prefab with a trigger_multiple with a sequential name to it, allowing me to disable them all and open the doors, although that relies on my ability to create a useful prefab, something that's probably best not dwelt upon for too long.
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,670
I'm thinking that one way would be to go in and name all of the trigger_multiples associated with the doors and then have the logic_relay disable them when it fires, as well as opening the doors. However I remember something about named objects being bad for optimization. I also remember something about a maximum number of inputs and outputs possible per object, although that could be a mistake.
Do that. There isn't a max number of outputs, and you would only have one anyway, you can name all the triggers the same thing (unless you need to control them independently for another reason). Naming is only bad for lights as it generates more lightmaps, and for things that really don't need to be (i.e. never send inputs). If you have a legitimate reason to name it like this it's fine.
 

Washipato

L3: Member
Jun 22, 2009
149
331
All of those ideas can work. As far as I know, it doesn't really matter if you give a name to a trigger_multiple or not, it will have the same impact in performance. Name all of the trigger_multiple with the same name, you will be able to disable them with a single output. After disabling all of those triggers, open the doors. If you need the doors to work again, enable the trigger_multiple and close all doors.

The second idea can work too, just watch out and check if there is a door that you don't want to open being affected by the output.

The third idea is also good, but it has some problems. You must first close them and then change the speed to 0. But if someone leaves a trigger_multiple controlling a door when it's opening in this way, the door will close, making it stop at a middle point between open and closed.

You don't need to create a prefab for the fourth idea. You can give all the trigger_multiple the same name and disable them all at the same time. You can do that because they don't receive any output except the one you want to use to disable them.

I hope I have been helpful

EDIT: Ninja'd by ABS >.<