psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 7, 2020 18:23:20 GMT
I noticed that the SDK has a EMD type of "Text" Ex: EMDList.Add(new commands.EMData("FederationRankName", "", commands.EMType.TEXT)); But I can't find an EMTag type of Text in the Resource Manager to set: Nor can I find a way of setting a Text control in Project Editor to the value passed as that EMTag. Under Setter, there is no Extended Mode Text, Only Button, Axis, and POV. On an unrelated note: I love the EMType of Button. I have my program sending toggled information to the Client to maintain the correct toggle for things like Mass Lock, Landing Gear, etc. Works GREAT!
|
|
|
Post by rekrapt on Feb 9, 2020 4:21:31 GMT
I've not looked at the SDK. But, am I reading you correctly? Are you actually pulling info from the game (ED) and having buttons that read the state of things like landing gear? I really want to learn how to do this.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 9, 2020 18:29:51 GMT
I've not looked at the SDK. But, am I reading you correctly? Are you actually pulling info from the game (ED) and having buttons that read the state of things like landing gear? I really want to learn how to do this. Let me polish it just a bit (add editable config file for LEA password, port, project name, and game name). Right now it will only work for my setup but I can make it usable for others with the events and EMTags editable in the config file. I will also make a github page with the source code (c#) so if people want to edit the actual code for it, then they can or they can just download the compiled project and use it for ED with LEA with just a few edits to a config file. The events I am currently pulling are below. (The names used are the names of the events or flags from ED - I utilized the official Journal/Status API info to get the information hosting.zaonce.net/community/journal/v26/Journal-Manual-v26.pdf ). It is how all the third party plugins for ED get their info from the game. Buttons: (True/False - for pressed state of Toggles or just for information display) BeingInterdicted CargoScoopDeployed Docked FlightAssistOff FsdCharging FsdCooldown FsdJump FsdMassLocked HardpointsDeployed HudInAnalysisMode InFighter InMainShip InSRV InWing IsInDanger Landed LandingGearDown LightsOn LowFuel NightVision OverHeating ScoopingFuel ShieldsUp SilentRunning SrvDriveAssist SrvHandbrake SrvHighBeam SrvTurretRetracted SrvUsingTurretView Supercruise Horizons Number Values: EngPips (Pips use 0-8 since ED uses 1/2 pips - it translates to 1-4) SysPips WepPips FireGroup CombatRank (0-8) TradeRank (0-8) ExploreRank (0-8) CQCRank (0-8) FederationRank (0-14) EmpireRank (0-14) Text Values (I will probably make some of these number values so that it the LEA macros can handle them better): LegalState GuiFocus Language GameVersion Build CommanderName Ship GameMode StarSystem CombatRankName TradeRankName ExploreRankName CQCRankName FederationRankName EmpireRankName
|
|
|
Post by rekrapt on Feb 10, 2020 12:53:24 GMT
Wow. You're a wizard! That's flipping awesome! I've been digging around trying to figure out how to do this and can't get anywhere. How are you connecting to the game? EliteAPI? I came across that a few days ago but have only recently downloaded it.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 10, 2020 14:37:43 GMT
Wow. You're a wizard! That's flipping awesome! I've been digging around trying to figure out how to do this and can't get anywhere. How are you connecting to the game? EliteAPI? I came across that a few days ago but have only recently downloaded it. They call it an API but it is really not. It is reading a stream that ED writes to the Journal and Status files. The files are updated continuously several times a second. By opening the file stream and reading any new info, I am able to get the info. There is a ton of more info available for me to grab and I may try to add them too but some of it does not easily translate to the LEA system (or at least I haven't figured out how to pass text strings back to the LEA client and display them... yet) It will probably be a few days before I am able to get a shareable version of it available for use - Sorry, work take priority over games... . I will also probably need to make a quick tutorial on adding the EM Tags in the LEA Resource Manager and how to access those tags in the Project Editor.
|
|
|
Post by rekrapt on Feb 11, 2020 16:00:51 GMT
Wow. You're a wizard! That's flipping awesome! I've been digging around trying to figure out how to do this and can't get anywhere. How are you connecting to the game? EliteAPI? I came across that a few days ago but have only recently downloaded it. They call it an API but it is really not. It is reading a stream that ED writes to the Journal and Status files. The files are updated continuously several times a second. By opening the file stream and reading any new info, I am able to get the info. There is a ton of more info available for me to grab and I may try to add them too but some of it does not easily translate to the LEA system (or at least I haven't figured out how to pass text strings back to the LEA client and display them... yet) It will probably be a few days before I am able to get a shareable version of it available for use - Sorry, work take priority over games... . I will also probably need to make a quick tutorial on adding the EM Tags in the LEA Resource Manager and how to access those tags in the Project Editor. The thing I don't understand is how are you doing this? Are you doing this through the LEA Project Editor? Or something else? I can't find any info on creating EM Tags in the Resource Manager. Just a very brief mention of it in the documentation. How do you create an EM Tag?
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 11, 2020 16:37:52 GMT
They call it an API but it is really not. It is reading a stream that ED writes to the Journal and Status files. The files are updated continuously several times a second. By opening the file stream and reading any new info, I am able to get the info. There is a ton of more info available for me to grab and I may try to add them too but some of it does not easily translate to the LEA system (or at least I haven't figured out how to pass text strings back to the LEA client and display them... yet) It will probably be a few days before I am able to get a shareable version of it available for use - Sorry, work take priority over games... . I will also probably need to make a quick tutorial on adding the EM Tags in the LEA Resource Manager and how to access those tags in the Project Editor. The thing I don't understand is how are you doing this? Are you doing this through the LEA Project Editor? Or something else? I can't find any info on creating EM Tags in the Resource Manager. Just a very brief mention of it in the documentation. How do you create an EM Tag?
|
|
|
Post by rekrapt on Feb 11, 2020 18:18:26 GMT
Just want to make sure I understand what you're doing... you have written a C# program to parse the log files and somehow connected it to LEA using EM Tags? Is that close? I know php/mysql/some js. This might finally be the excuse I need to learn C#. Just got to get my head around it.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 11, 2020 18:52:59 GMT
Just want to make sure I understand what you're doing... you have written a C# program to parse the log files and somehow connected it to LEA using EM Tags? Is that close? I know php/mysql/some js. This might finally be the excuse I need to learn C#. Just got to get my head around it. Yep. That is exactly what I am doing. I worked on it a bit last night. I am hoping to have it (the sharable version) completed by tomorrow. Once done, I will setup a github page with the source code. It will also have the compiled executable and instructions. I am trying to make as simple as possible. I am used to programming things just for me and not used to making it usable for others but I think this will be easily usable for anyone using LEA with Elite Dangerous once I have finished with the changes. I have stripped it down to just the toggles for buttons and other "true/false" things for display (for now, at least) until I figure out how to get the LEA client to read text strings for information sent to it.
|
|
|
Post by rekrapt on Feb 11, 2020 20:01:47 GMT
Probably a stupid question, but what happens when you set the EM Tag to "NONE"? It does nothing? Seems a bit weird the "TEXT" option doesn't appear. I just looked at it. Not there.
I am hard-core looking forward to being able to see what you've done. Will be following your progress closely. I want to learn how to do this! Got to be a way snag that text. Be super cool to be able to do things like show the CMDR name/Ship name... what system you're in. Some excellent possibilities there. Thanks for helping me understand the process!
|
|
|
Post by charixfox on Feb 12, 2020 7:17:27 GMT
My timing was good it seems. I was just looking for any details on the Extended Mode functionality and found this. I will eagerly await GIT presence of this.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 12, 2020 19:13:12 GMT
I created a github page with the source code and the executable (under the release section). It also has a sample project ( UNTESTED - I have to wait till I get home from work to test it... It may not work. I just created it blindly with no testing) under the LEA Project Export folder on the github page. NOTE: I will probably be updating it after I get home and test things and, most likely, find the bugs in the sample LEA project I created. The sample project is simple and meant for just testing and highlighting what can be done. Again... I have not tested the sample project yet since I am at work and our firewall blocks any access to STEAM so I can't run Elite Dangerous from work. Here is the link to the github page. -> github.com/Psyral/LEA_for_EDIt is a work in progress so I am sure there will be updates coming soon along with better comments in the code. Like I said, I am not used to writing code for use by others. I generally only write programs for myself. .... PS... I just got home and tested the sample project. The Display things work correctly. The Toggle buttons - I messed up on. I forgot to have them release the key after they press it. I have to head to my MMA class with my daughter so it will be tomorrow morning before I update the github with a working sample project for LEA. The LEA_for_ED executable works perfectly, though. Just my sample client project I created to test it is not completely correct.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 13, 2020 12:38:46 GMT
I created a github page with the source code and the executable (under the release section). It also has a sample project ( UNTESTED - I have to wait till I get home from work to test it... It may not work. I just created it blindly with no testing) under the LEA Project Export folder on the github page. NOTE: I will probably be updating it after I get home and test things and, most likely, find the bugs in the sample LEA project I created. The sample project is simple and meant for just testing and highlighting what can be done. Again... I have not tested the sample project yet since I am at work and our firewall blocks any access to STEAM so I can't run Elite Dangerous from work. Here is the link to the github page. -> github.com/Psyral/LEA_for_EDIt is a work in progress so I am sure there will be updates coming soon along with better comments in the code. Like I said, I am not used to writing code for use by others. I generally only write programs for myself. .... PS... I just got home and tested the sample project. The Display things work correctly. The Toggle buttons - I messed up on. I forgot to have them release the key after they press it. I have to head to my MMA class with my daughter so it will be tomorrow morning before I update the github with a working sample project for LEA. The LEA_for_ED executable works perfectly, though. Just my sample client project I created to test it is not completely correct. Fixed the issues with the Macros not releasing the keypress for the toggle buttons. - Tested and it all looks good. If you import the test project, you may need to change the key bindings on the toggle buttons to match your personal key bindings: Make sure you edit both the Pressed and Released Triggers and for each of those triggers and make sure you edit the Send Pressed and Send Released keys. That's 4 spots that need to be edited to change a toggle button's key binding.
|
|
|
Post by charixfox on Feb 13, 2020 20:36:25 GMT
What specific other indicators would be useful to be read from the game?
I'm having nearly no time to poke things and hitting a lot of weird behavior in the project editor, so I can't always trust it to do what I intend it to do until I get that sussed out. I'm hoping that something like a single button for toggle items like scoop and gear is possible, but I get a feeling that setting the state of the button to match the state of the game item will trigger a button action and thus change the state of the item. :\ That could get into a feedback loop which would be quite bad.
|
|
psyral
New Member
Love this app
Posts: 45
|
Post by psyral on Feb 13, 2020 22:36:22 GMT
What specific other indicators would be useful to be read from the game? I'm having nearly no time to poke things and hitting a lot of weird behavior in the project editor, so I can't always trust it to do what I intend it to do until I get that sussed out. I'm hoping that something like a single button for toggle items like scoop and gear is possible, but I get a feeling that setting the state of the button to match the state of the game item will trigger a button action and thus change the state of the item. :\ That could get into a feedback loop which would be quite bad. I don't seem to be having that issue. One way around that could be to have a toggle button display the state with no trigger to send any key strokes. Then place a transparent button over the toggle button to send the key.
|
|