Talk:Func instance io proxy

From Valve Developer Community
Revision as of 15:14, 23 May 2011 by Barracuda (talk | contribs)
Jump to navigation Jump to search

Why use a proxy over usual inputs?

e.g. Why not...

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch DoorInstance01-door_open_relay Trigger   0.00 No
 

as opposed to configuring a proxy to handle...

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch DoorInstance01 instance:door_open_relay:Trigger   0.00 No
 

They both do the exact same thing. Am I overlooking something? --TheLazyPanda 17:12, 23 May 2011 (UTC)

You're right, both ways will work, but the first one is error-prone. You need to know the exact entity names inside the instance you want to communicate with and construct the resulting targetnames like the compiler does. In fact, before the proxy was implemented (L4D2), this was the only way to communicate with instance entities. But with the proxy, Hammer automatically detects all entities that are connected with it, which makes instance I/O much easier (even though it is still being displayed as "broken" by Hammer, I hope Valve will fix that). --Barracuda 18:25, 23 May 2011 (UTC)
I admit, it's nice that the more specific i/o information is passed through (well-sometimes, but I assume this is a bug), but I've found that in many cases, both methods exhibit the same behavior (actually more so, I think in most cases for me). And in regards to constructing the name- well, that's the same too (except again, I can't get Hammer to fill the name using the proxy way, but it will do so using the direct method). So I guess I'm still left confused, lol...because the proxy is currently very error prone...the other way, not so much.--TheLazyPanda 21:27, 23 May 2011 (UTC)
Make sure you're using ProxyRelay1 to ProxyRelay30 and OnProxyRelay1 to OnProxyRelay30 instead of just ProxyRelay and OnProxyRelay (for some reason, the official FGD doesn't contain the numbered slots). The proxy also requires a name to work. --Barracuda 22:14, 23 May 2011 (UTC)