View Single Post
Afronanny
Veteran Member
Join Date: Aug 2009
Old 10-22-2011 , 17:06   Re: SendProxy Manager
Reply With Quote #29

Quote:
Originally Posted by pheadxdll View Post
I would really like to see this be able to choose which clients receive the modified SendProp. I did a little peeking and you can set the DataTable proxy function and modify the recipients but that will probably block the table getting sent to all the clients. Good work regardless Afronanny.
I've been trying to do this for months. Entities are only packed for transmission once per tick, and there's only one frame snapshot for all clients.

The Source engine just doesn't support sending different netprop values to different clients. It's possible to hack around it, but it would be a CPU-intensive, memory-hogging mess of a plugin that would have to detour just about every function that had a CFrameSnapshot* in its calling parameters and would be responsible for keeping track of and populating a CFrameSnapshot for every client for every tick.

The only other way I can think of is to play with packets as they're being sent, which would probably be the easiest solution, but not if you want an easy API that can send any netprop value to any client. You'd have to know which netprop you want to change, which packet the entity is being transmitted to the client in, and exactly where in the packet that netprop value is. So that isn't the best solution either.

I'll keep trying, but I have little hope that this will work. (Maybe Valve will add this feature in the future. Imagine the endless new plugin possibilities that this feature would bring!)
caption
Afronanny is offline