Jump to content

Recommended Posts

Posted

Please add mission scripting functions to get the state of a client cockpit argument.

Functionality would be similar to that of getDrawArgumentValue except it would be able to access the arguments of clients in multiplayer servers.

I understand that this would not work for AI and that each aircraft would have different arguments. I do not care, and can work around it myself.

Why do we need this?

Currently it is impossible to build multiplayer missions with the fidelity of singleplayer ones because we cannot see the arguments of client cockpits like we can those of players (there can only be one "player" aircraft per mission).

As someone who has been working on and off on MP content for years now and who has been requesting this feature via DMs with ED CMs for over a year to no avail, this lack of capability is incredibly restrictive on what I can do for clients.

I will use the F-16 as an example as that is what I am most familiar with:

-I have built a custom crew chief module, however I cannot finish it. The F-16 doesn't seem to have an external argument for the brakes, which are checked as part of every startup at the unit I am representing. Because of this I need to read the state of the toe brake pedals in order to see that the player is attempting to check them. I cannot do this for clients so I cannot finish the script module.

-I have worked on an ATC script module, however I cannot finish it. At the airfield I am working on the fighters will send a "flash" from their IFF to ident to departure/approach. This hinges on in-cockpit controls. I cannot see these for clients, so the script module is stuck.

Any further functionality I attempt to create will likewise be impossible because I cannot see what clients are pressing in their cockpits. I have many ideas I would like to explore but can't because this functionality does not exist.

We need this functionality if we are to make anything multiplayer on-level with what the established SP creators are doing.

Can ED develop this?

 

  • Like 4
  • Thanks 1

"Got a source for that claim?"

Too busy learning the F-16 to fly it, Too busy making missions to play them

Callsign: "NoGo" "Because he's always working in the editor/coding something and he never actually flies" - frustrated buddy

Main PC: Ryzen 5 5600X, Radeon 6900XT, 32GB DDR4-3000, All the SSDs. Server PC: Dell Optiplex 5070, I7 9700T 3.5GHz, 32GB DDR4-2133. Oculus Quest 3.

Posted (edited)

Oh god yes, that would be so useful.

I think the problem is one of where the processing happens and where the information goes. The arguments work for “player” aircraft because the player is also on the computer that has access to and that continuously processes those inputs and arguments. The server, on the other hand, has no idea what goes on inside a “client” aircraft — all that processing happens on the client's side and the results (rather than the underlying data) are sent to the server.

To make the whole thing work, we'd either need to be able to run scripts client-side and have them report back to the server in some way, or a lot more processing and messaging would have to happen on the server end. I suspect the latter would be prohibitively expensive from a performance perspective, and the former would require some breakage of the sandbox and security model. It can probably be done, but I can see some people worrying about that newly-poked hole.

Or maybe there could be some oddball half-measure where you can selectively pick certain arguments to be passed on to the server to be processed there, but with the full awareness on the mission designer's side that they've now built a mission that requires more processing and bandwidth on both the server and the client end. But at least you'd be able to very selectively pick exactly and only the parameters you'd be interested in monitoring in your scripting.

Edited by Tippis

❧ ❧ Inside you are two wolves. One cannot land; the other shoots friendlies. You are a Goon. ❧ ❧

Posted
1 hour ago, Tippis said:

Oh god yes, that would be so useful.

I think the problem is one of where the processing happens and where the information goes. The arguments work for “player” aircraft because the player is also on the computer that has access to and that continuously processes those inputs and arguments. The server, on the other hand, has no idea what goes on inside a “client” aircraft — all that processing happens on the client's side and the results (rather than the underlying data) are sent to the server.

To make the whole thing work, we'd either need to be able to run scripts client-side and have them report back to the server in some way, or a lot more processing and messaging would have to happen on the server end. I suspect the latter would be prohibitively expensive from a performance perspective, and the former would require some breakage of the sandbox and security model. It can probably be done, but I can see some people worrying about that newly-poked hole.

Or maybe there could be some oddball half-measure where you can selectively pick certain arguments to be passed on to the server to be processed there, but with the full awareness on the mission designer's side that they've now built a mission that requires more processing and bandwidth on both the server and the client end. But at least you'd be able to very selectively pick exactly and only the parameters you'd be interested in monitoring in your scripting.

 

Yes I understand that it may be difficult, very much so even. I won't pretend I know how to do it nor will I say they should just do anything. My goal from posting this is to either get the feature added or to be told by someone in the know why they can't add it. At least then I will finally get closure on the issue. As it stands I have many ideas and projects I want to work on in DCS that would be really cool but there is some technical shortcoming preventing me from completing them. It is very demoralizing because why would I want to work on something that I know I cannot finish?

"Got a source for that claim?"

Too busy learning the F-16 to fly it, Too busy making missions to play them

Callsign: "NoGo" "Because he's always working in the editor/coding something and he never actually flies" - frustrated buddy

Main PC: Ryzen 5 5600X, Radeon 6900XT, 32GB DDR4-3000, All the SSDs. Server PC: Dell Optiplex 5070, I7 9700T 3.5GHz, 32GB DDR4-2133. Oculus Quest 3.

  • 2 weeks later...
Posted

There is no reason whatsoever that all this information can't be sent to the 'server', so that a server level or mission level script can access it through events. 

This is desperately needed. The architecture (if you can call it that) for SP and MP needs to be unified and enhanced. It's appalling that us content/mission/campaign creators are crippled, and MP campaigns/missions have to be so lacking compared to single player ones. 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...