Button and trigger exclusions

Avatar
Fracture
797 Posts
Posted Sep 06, 2012
Is it in any way possible to make a button or trigger react differantly to separate entities. Like only use one output for one cube or other named entity, and use another output for another entity?
Advertisement
Registered users don’t see ads! Register now!
Avatar
Habzs
225 Posts
Posted Sep 06, 2012
Replied 21 minutes later

You'd have to make the button from scratch.

If you choose to make the button from scratch, use filters and have multiple triggers.

https://developer.valvesoftware.com/wik ... ator_class

Avatar
Fracture
797 Posts
Posted Sep 06, 2012
Replied 49 minutes later
I don't think I am doing it right, im trying to make a floor button kill all cubes that touch it, except one
Avatar
Habzs
225 Posts
Posted Sep 06, 2012
Replied 20 minutes later

Fracture wrote:
I don't think I am doing it right, im trying to make a floor button kill all cubes that touch it, except one

Sorry, I meant a filter_activator_name

https://developer.valvesoftware.com/wik ... vator_name

Add a trigger_multiple above the button.
OnStartTouch > !activator > Kill/Dissolve

Set the filter to "Disallow entities that match criteria" and filter it to the cube.

Avatar
Fracture
797 Posts
Posted Sep 06, 2012
Replied 18 minutes later
thanks, got it working
Avatar
josepezdj
2,386 Posts
Posted Sep 06, 2012
Replied 21 minutes later
@Fracture: It's kind of complex but I can think of a system to make that happens:

  1. Create a filter_activator_name. This is the easiest of the filters if you have to pick one cube amongst several. You'll have to give that cube a name, let's say "activating_cube" and then put that name into the Filter name box in the filter_activator_name properties. Also give the filter a name for example "filter_cube" (naming this is not really necessary in this example though)

  2. In order to fizzle the rest of cubes, create a trigger_portal_clanser that covers the button only (think that you don't want to fizzle the surrounding stuff, only what's pressing the button :wink: ). Set it to start disabled. Let's name it "cube_fizzler". Remember to check the "physics objects" flag for this trigger :wink:

[Let's say for this example that what you want the desired cube to do is to open a door called "main_door"]

***SETTINGS***

Button Settings:
OnPressed > filter_cube > TestActivator
OnUnPressed > main_door > Close

Filter settings:
OnPass > main_door > Open
OnFail > cube_fizzler > Enable
OnFail > cube_fizzler > Disable / delay: 0.15

Hmmm... I think it wasn't so complex after all, right? :biggrin:

Avatar
HMW
806 Posts
Posted Sep 06, 2012
Replied 3 hours later

I think you can make it even simpler: instead of using a portal cleanser, send a "dissolve" signal to the cube directly:

OnFail ==> !activator Dissolve
Avatar
josepezdj
2,386 Posts
Posted Sep 06, 2012
Replied 1 hour later

HMW wrote:
I think you can make it even simpler: instead of using a portal cleanser, send a "dissolve" signal to the cube directly:
OnFail ==> !activator Dissolve

Correct :thumbup:

Avatar
Fracture
797 Posts
Posted Sep 07, 2012
Replied 1 day later
Already did basically that exact thing about 5 posts ago. Thanks for the input, though.

I do however got this other problem entirely. which tool do i use to have a brush entity face the player at all times? i imagine its the same one glados uses

Avatar
wrathofmobius
216 Posts
Posted Sep 07, 2012
Replied 1 hour later
Use a func_tank (a brush entity)
Place a logic_auto with the output OnMapSpawn->func_tank->SetTargetEntityName->!player. Check the "Active" flag to have it active from the beginning. I believe you then just parent your brush entity to the func_tank.
Avatar
Fracture
797 Posts
Posted Sep 08, 2012
Replied 32 minutes later

wrathofmobius wrote:
Use a func_tank (a brush entity)
Place a logic_auto with the output OnMapSpawn->func_tank->SetTargetEntityName->!player. Check the "Active" flag to have it active from the beginning. I believe you then just parent your brush entity to the func_tank.

would that function any different in coop?

Avatar
Skotty
671 Posts
Posted Sep 08, 2012
Replied 5 hours later
In Coop it may be that !player is just the last connected or the server host, so the first connected.
The TargetEntityName player are both, since both players are the entity "player".
You could also use !red and !blue, their unique "proxy"-names.
Avatar
Fracture
797 Posts
Posted Oct 22, 2012
Replied 1 month later
i finally got around to implementing this, but i don't see anything that allows me to adjust its turn speed
Avatar
Sheila Sanchez
1 Posts
Posted Oct 22, 2012
Replied 2 hours later
I have the same impression with Fracture.


"Some guys are the type of people who bring brass knuckle site to a fight. I've always thought it prudent to bring some running shoes."

Avatar
josepezdj
2,386 Posts
Posted Oct 22, 2012
Replied 1 hour later

Fracture wrote:
i finally got around to implementing this, but i don't see anything that allows me to adjust its turn speed

Yaw rate is the speed of the left/right movement of the func_tank if that's what you're asking. And the Yaw range, the range of left/right movement in degrees...

Advertisement
Registered users don’t see ads! Register now!
Avatar
Fracture
797 Posts
Posted Oct 22, 2012
Replied 6 hours later
i wish the wiki was this descriptive