News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

func_activator - what is practical purpose?

Started by bitterman, September 28, 2016, 07:07:09 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bitterman

Can't find any examples in base/maps/game.

This is from func.def and misc.h:

Non-displayed entity used to activate triggers when it touches them. 
Bind to a mover to have the mover activate a triggers as it moves. 
When target by triggers, activating the trigger will toggle the activator on and off. 
Activator will disable itself when it activates a trigger.


In other words this is an entity which can activate triggers. But for what purpose? Activating without scripting and/or AI movements?

I guess that triggers can be activated by player/AI or via script.

Also can be maked chain of triggers.

In what cases may needed activation by func_activator?

Thanks.

argoon

imo func activator is used only in particular cases, but i can think of one, like a player is riding a platform on a track at the same time baddies are shooting at him from the side of a buildings, you could put a func_activator riding in a invisible spline following side by side the player to activate triggers on the buildings, make rockets shoot, turrets activate, cameras, etc, for example, as the player passes in front. This could certainly be achieved in other ways, like have triggers in the player track and as he enters them activate the stuff, but was just the first thing that came to my mind for the usage of a func_activator but i'm sure you can think of something else. 

The Happy Friar

I noticed several entities in D3 that could of been used in previous Quake games but are not necessary with D3's scripting.  This is one of them I believe.


I could think of a few neat instances for it but not sure it's practical.  I also could think of scripts that would do the same thing & let me have more control.





Ivan_the_B

I remember using func_activators bound to vehicles in order to touch triggers while driving.

PS: hi guys, it has been a while  :)

bitterman

Why not just placed triggers along spline and activated them by entity?

Really, can't imagine any simple/obvious case.

Quote from: Ivan_the_B on September 29, 2016, 02:41:08 AM
PS: hi guys, it has been a while  :)

Hi. You are that guy from doom3world, I remember :)

oneofthe8devilz

Quote from: Ivan_the_B on September 29, 2016, 02:41:08 AM
PS: hi guys, it has been a while  :)

Welcome back man, nice to see you posting here again  :)
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

The Happy Friar

Quote from: bitterman on September 29, 2016, 04:16:40 AM
Why not just placed triggers along spline and activated them by entity?
Really, can't imagine any simple/obvious case.


you just gave one!  :)  Normally something is triggered when the origin touches.  A vehicle will have an origin normally in the middle.  A func_activator could be placed in a specific location. 


Do func_activators need the trigger to be activate by entity enabled?

Ivan_the_B

Standard triggers can be activated only by player entities by default.
AI and func_activator can touch triggers only if "anyTouch" or "noClient" are set.

In my case the func_activator was used in combination with the trigger_entityname, which can be triggered by a specific entity (the activator itself).
I couldn't use directly the vehicle because it's not able to touch triggers.

I later dropped this whole system and made vehicles able to touch triggers on behalf of the driver.

bitterman

#8
Thanks for explanation.

As I thought trigger_entityname can be triggered via any specified entity on map (not player/AI only ).

So if I needed to activate trigger with brush/model (any "non-living" entity) then I shoud bind func_activator to these entities.

(right now comes to mind is a tank moving across the field with anti-tank mines)

Right?

bkt

Quote from: bitterman on September 29, 2016, 10:33:22 PMSo if I needed to activate trigger with brush/model (any "non-living" entity) then I shoud bind func_activator to these entities.

...

Right?
Right.

I used the func_activator for the following sequence (the video was recorded well over a year before release, so please ignore the placeholder voice work):



As the player could move around on the platform I used an activator to open the doors based on the platforms position.  This meant that if the player was standing at the very back of the platform, the door would still open at the correct time without any chance of the platform clipping into the door.