motuslechat Posted February 7, 2015 Report Posted February 7, 2015 (edited) Hi, I have test the code delivered with .NET FSUIPC DLL. It works fine with the user aircraft but I wanted to know if it is possible to command "lights" to an other aircraft. Thank you for your help and your excellent DLL. Motus Edited February 7, 2015 by motuslechat
Paul Henty Posted February 7, 2015 Report Posted February 7, 2015 It depends on the aircraft; each will be different. If the developers provide control numbers (also called 'events') to turn the light on and off then you can use the DLL to send that control via offset 0x3110. To find out if there is such a control you can enable 'non axis event logging' in FSUIPC, operate the lights in the aircraft and see if anything is logged. If you run the flight sim in windowed mode you can make FSUIPC write the log to a console window in real time. If you can't see any events (controls) being logged, then you could send a key press if the lights respond to a certain key combination. If you want to try this you'll need version 3 of my DLL. Just ask and I'll give you some sample code and the new DLL. The only other way I know is via the panel L:VARS if they are provided by the author of the plane, but these are only accessible via a LUA plugin, not via the FSUIPC interface. Paul
motuslechat Posted February 7, 2015 Author Report Posted February 7, 2015 Thank you Paul for this answer. Yes the "target" aircraft have 'event' to switch on/off light. I will have a look at offset 0x3110. I will be happy to have version 3 of your DLL and some sample codes. Thank you again. Motus
Paul Henty Posted February 7, 2015 Report Posted February 7, 2015 Hi Motus, Attached is version 3 beta of the DLL. Just overwrite your current DLL and XML file with the ones in the zip. There are different versions for the .NET 2 and .NET 4 framework. There are two new methods that might be useful to you... 1. FSUIPCConnection.SendControlToFs(ControlNumber, ParameterValue); This just sends the control immediately (no need for a Process() call). There are also overloads that take an Enum instead of the raw control number. For example: FSUIPCConnection.SendControlToFS(FsControl.PARKING_BRAKES, 0); will toggle the parking brake. A parameter is not required for this control so it's just set to 0. Enums available are: FsControl - the normal FSX/P3D list of controls FSUIPCControl - Additional controls added by FSUIPC FSUIPCAxesControl - Used to control axed assign directly in FSUIPC FSUIPCAutoPilotControl PMControl - Controls for Project Magenta software PMDG_737_NGX_Control - Controls defined in the PMDG 737 NGX SDK If there is no enum set for your aircraft you can just specify the integer value in decimal or hex. 2. FSUIPCConnection.SendKeyToFS(Key, Modifier, ReturnFocusToForm); This sends a key stroke to the FS window. The Modifier and ReturnFocusToForm are optional. e.g. This sends Control-L and return focus back to the application form: FSUIPCConnection.SendKeyToFS(Keys.L, SendModifierKeys.Control, this); This is also instant (no need to Process()). Both will also work over WideFS. Paul FSUIPCClient3.0_BETA.zip
motuslechat Posted February 8, 2015 Author Report Posted February 8, 2015 Hi Paul, Thank you very much. I have a question (peraphs stupid) but I don't undestand how it works. I have my aircraft : A1, and 2 others same aircrafts : A2 and A3. I want to switch on Taxi Light for A3 but not for A2 and A1. With simconnect, we use ID of object to send data to a specific object. How to specify one object with FSUIPC and your DLL ? Thanks. Motus.
Pete Dowson Posted February 8, 2015 Report Posted February 8, 2015 I want to switch on Taxi Light for A3 but not for A2 and A1. With simconnect, we use ID of object to send data to a specific object. How to specify one object with FSUIPC and your DLL ? FSUIPC is not really designed to send commands to anything other than the User Aircraft. However, for AI aircraft you can use the offsets at 0x2900 once you get the ID from the TCAS tables. Note that the ID FSUIPC uses is not the same one you see in Traffic Explorer. I think it's the negative of it, or maybe the complement (NOT). The most flexible way of handling traffic and objects in FSX and P3D is by using SimConnect. FSUIPC is all about cross-platform compatibility, since FS98, so newer things which are better handled in SimConnect (only new in FSX) are left to that interface. Pete
motuslechat Posted February 9, 2015 Author Report Posted February 9, 2015 Thank you Pete for this answer. Motus
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now