Sign in to follow this  
Guest rbumm

Move multiplayer aircraft. MOVE !!

Recommended Posts

Hi, FSX multiplayer incl ATC is a great new feature. BUT: Often multiplayers are very weak, do not follow ATC commands, take off whenever they want and even disturb a session. Kicking a multiplayer from a session (you as a host in a ATC position) is not possible with the current version of FSX. Although I read elsewhere that it should be possible, it just is not - maybe a bug or just a missing function within FSX. Preventing multiplayers from placing their aircraft on host airport runways is not possible either. Chat function is difficult to use in FSX multiplayer mode because it stops your microphonne from working. And it does not force the chat text onto the screen of that particular player. So we need to move the aircraft to a position in the sim where it does not disturb. I experimented with my Simconnect Client by implementing something like// in your headerstatic enum DATA_DEFINE_ID { DEFINITION_INITPOS,};// when Simconect connects okhr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_INITPOS, "Initial Position", NULL, SIMCONNECT_DATATYPE_INITPOSITION, 0);// when you want to move the aircraft// retrieve the Object ID of the plane or helicopter// ObjectID is a DWORD// ObjectID = code to be added;SIMCONNECT_DATA_INITPOSITION Init;Init.Altitude = 5000.0;Init.Latitude = 49.498700;Init.Longitude = 11.066897;Init.Pitch = -0.0;Init.Bank = -1.0;Init.Heading = 180.0;Init.OnGround = 0;Init.Airspeed = 0;hr = SimConnect_SetDataOnSimObject(hSimConnect, DEFINITION_INITPOS, ObjectID, 0, 1, sizeof(Init), &Init); // end of codeThis works great for my own aircraft and AI aircraft, but not for multiplayer aircraft. Is this function ment to also work on MP aircraft ? How ? If anybody finds a solution or has a tip please let me know. rudolf

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

>Hi, >>FSX multiplayer incl ATC is a great new feature. >BUT: Often multiplayers are very weak, do not follow ATC>commands, take off whenever they want and even disturb a>session. >>Kicking a multiplayer from a session (you as a host in a ATC>position) is not possible with the current version of FSX.>Although I read elsewhere that it should be possible, it just>is not - maybe a bug or just a missing function within FSX.>Preventing multiplayers from placing their aircraft on host>airport runways is not possible either. Chat function is>difficult to use in FSX multiplayer mode because it stops your>microphonne from working. And it does not force the chat text>onto the screen of that particular player. >>So we need to move the aircraft to a position in the sim where>it does not disturb. I experimented with my Simconnect Client>by implementing something like>>// in your header>static enum DATA_DEFINE_ID {> DEFINITION_INITPOS,>};>>>// when Simconect connects ok>hr = SimConnect_AddToDataDefinition(hSimConnect,>DEFINITION_INITPOS, "Initial Position", NULL,>SIMCONNECT_DATATYPE_INITPOSITION, 0);>>>// when you want to move the aircraft>>// retrieve the Object ID of the plane or helicopter>// ObjectID is a DWORD>// ObjectID = code to be added;>>SIMCONNECT_DATA_INITPOSITION Init;>Init.Altitude = 5000.0;>Init.Latitude = 49.498700;>Init.Longitude = 11.066897;>Init.Pitch = -0.0;>Init.Bank = -1.0;>Init.Heading = 180.0;>Init.OnGround = 0;>Init.Airspeed = 0;>hr = SimConnect_SetDataOnSimObject(hSimConnect,>DEFINITION_INITPOS, ObjectID, 0, 1, sizeof(Init), &Init); >>// end of code>>>This works great for my own aircraft and AI aircraft, but not>for multiplayer aircraft. Is this function ment to also work>on MP aircraft ? How ? >>If anybody finds a solution or has a tip please let me know. >>rudolf>>>I can't imagine any scenario where they would allow you to control someone else's aircraft. I could think of some bad things that could come of it.

Share this post


Link to post
Share on other sites

I disagree. You can share your cockpit with a copilot too and although there is no support for it in SimConnect there must be functionality in FSX that lets you fly someone elses aircraft.Sure everything can be abused but i read a lot about problems in multiplayer sessions with players that seem to have more fun with destroying other players fun than taking part in a constructive manner.IMO best would be if they give the session host plain and simple the ability to kick players and perhaps a couple other reasonable admin features (such as passing admin rights to other players).

Share this post


Link to post
Share on other sites

>I disagree. You can share your cockpit with a copilot too and>although there is no support for it in SimConnect there must>be functionality in FSX that lets you fly someone elses>aircraft.>>Sure everything can be abused but i read a lot about problems>in multiplayer sessions with players that seem to have more>fun with destroying other players fun than taking part in a>constructive manner.>>IMO best would be if they give the session host plain and>simple the ability to kick players and perhaps a couple other>reasonable admin features (such as passing admin rights to>other players).>I think that may be coming, but that is certainly different from being able to physically move other people's planes.

Share this post


Link to post
Share on other sites

Doc I fully agree. however, brian, on IVAO, I always wished to be able to interfere with the pilot's airctaft once he is in the area of my ATC. Imagine, that you would be able to apply turbulences on final to the MP's aircraft or to burn out one of his engines, simulate (live!) an eletrical instrument or autopilot failure. This would be a real challenge in an online game. Of course, the player should accept (upon login) host session. And in this recent FSX multiplayer problem, a 'move' command (only for session admins) would be great, and better than a kick command if it is not linked with a ban command. I do not know how they manage that technically, though. Is the information of the MP session on the FSX client of the moderator or at Gamespy ? If so, (gamespy), Simconnect would probably not be able to interfere with these session data. I will try to move rudders of MP's aircraft or operate brakes :-)

Share this post


Link to post
Share on other sites

Some evil thoughts:If it is possible to determine the players IP address you might perhaps just have to connect via SimConnect directly to his FSX, engage the autopilot and fly his plane away. Hmmm or set slew mode and move him into orbit. Oh there are lots of possibilities ...Muahahaha

Share this post


Link to post
Share on other sites

>hr = SimConnect_SetDataOnSimObject(hSimConnect,>DEFINITION_INITPOS, ObjectID, 0, 1, sizeof(Init), &Init); >>This works great for my own aircraft and AI aircraft, but not>for multiplayer aircraft. Is this function ment to also work>on MP aircraft ? How ? Hi Rudolf,The "ObjectID" parameter in the function above has to be the ID of the aircraft you're trying to move. Usually you get this ID after creating the aircraft in your program (or to put it more accurately, after creating a visual representation of the other player's aircraft in your sim, since that's really what it is). It's really no different than the AI aircraft the sim creates to generate fake traffic, it's just that in this case the movement is caused by another real player flying the plane. Even if you were able to get the ID and move it, you'd only be moving it in your own sim, not anyone else's, and certainly not in the sim of the person flying the aircraft.But if you're ok with that, you might try looking at the "AI Traffic" sample project in the SDK. Search for all instances of "EVENT_ADDED_AIRCRAFT" and you'll see how you can subscribe to the ObjectAdded event and then be notified when an object is added, along with its ID. You can then try to use that ID in the function you mentioned, although I haven't actually tried it to see if it lets you move it. I'm guessing it might though, since that's probably the way the Traffic Toolbox explorer does it, and it lets you do things like "Set position" on an AI aircraft. Actually that's another way you might get the object's ID. I don't know if the explorer will show you multiplayer aircraft or not, but it certainly shows you fake AI traffic aircraft, and I'm guessing the "CID" value is the Object ID.Edit: Just now saw your post in another thread, and someone's suggestion to use the function SimConnect_RequestDataOnSimObjectType(). That's probably a better way to get the object IDs actually, especially if your program isn't running at the time the objects were initially created.Russell Gilberthttp://www.chocolatesoftware.com/fshost

Share this post


Link to post
Share on other sites

>Edit: Just now saw your post in another thread, and someone's>suggestion to use the function>SimConnect_RequestDataOnSimObjectType(). That's probably a>better way to get the object IDs actually, especially if your>program isn't running at the time the objects were initially>created.Thats exactly what we've done and it works great. We receive an updated list of all aircraft (with all possible data) in the sim every second. However, moving the MP planes (although session is 'owned') is not possible. However, moving can be done with AI planes if you are not in a multiplayer session. regardsrudolf

Share this post


Link to post
Share on other sites

If you can't move the offending players plane, you could possibly create some AI military jets to track with them and force them out of your area. You could get those AI jets to fly REAL close, and track their every move, even blocking their view ...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this