EDDI: A(nother) Voice Attack Plugin

Status
Thread Closed: Not open for further replies.
I'd like to introduce you all to EDDI. EDDI is a Voice Attack plugin that obtains information from Frontier's servers as well as other sources to provide a number of variables for use within Voice Attack scripts. It also integrates with EDSM to allow you to keep logs of your travels.

Direct download link: http://www.mcdee.net/elite/EDDI.zip

Here are some samples of EDDI in action:

[video=youtube_share;_AwWxRP2U6c]https://youtu.be/_AwWxRP2U6c[/video]

[video=youtube_share;IRqeWrjNrSM]https://youtu.be/IRqeWrjNrSM[/video]

[video=youtube_share;Q_UfUHhu9BE]https://youtu.be/Q_UfUHhu9BE[/video]

[video=youtube_share;3vKUKCD13Zg]https://youtu.be/3vKUKCD13Zg[/video]

The current version of EDDI is 1.4.0. All feedback is welcome.

Details about EDDI are available at https://github.com/cmdrmcdonald/EliteDangerousDataProvider. If you want to install EDDI then please follow the instructions there. This also contains the full list of values available, but here's a subset of them:

Commander information
  • The commander's name
  • The commander's combat, trade and exploration ranks (both rank number and title)
  • The commander's empire and federation ranks (both rank number and title)
  • The commander's credit and debit
  • The commander's title in their current system (e.g. Duke if in Empire space, Cadet if in Federation, Commander elsewhere)
Ship information
  • The ship's model
  • The ship's size (small/medium/large, defined by the landing pad it needs)
  • The ship's value
  • The ship's cargo capacity, and current amount of cargo carried
  • The class and grade of the bulkheads and each standard module, along with their health.
  • The cost and value of each standard module, along with the calculated percentage discount from list price
  • The number of weapon, utility and internal slots
  • The number of ships in storage
  • The model, system and location of each ship in storage
  • TODO: details of each weapon, utility and internal module
System information (for both the current and the last system visited)
  • The system's name
  • The system's population
  • The system's allegiance
  • The system's government
  • The system's faction
  • The system's primary economy
  • The system's state (boom, lockdown, civil war, etc)
  • The system's security level
  • The power controlling the system (if any)
  • The system's co-ordinates (x/y/z) as per EDDB
  • The distance of the last jump undertaken, in LY
  • The number of stations and outposts in the system
  • The number of times the commander has visited the system
  • The date and time of the commander's previous visit to this system, if any
  • TODO: details of stations and outposts in the system
This information gives a lot of interesting possibilities when writing Voice Attack scripts, for both immersion and useful features. For example, I've written an insurance nag that checks the value of the ship against the number of credits you have an warns you if you don't have enough for insurance. There is also a feature that exports your current ship to Coriolis.
 
Last edited:
Do we activate the script verbally or is it automated from the game situation as in the Insurance script thus just to add entertainment?
i.e. can it detect once a target is WANTED or if we become so? That would be a good extension.
 
Last edited:
Do we activate the script verbally or is it automated from the game situation as in the Insurance script thus just to add entertainment?
i.e. can it detect once a target is WANTED or if we become so? That would be a good extension.
The plugin is limited by the amount of data that is available to it, which is pretty much what is laid out in the OP.

Ideally the script would refresh on each system jump but there isn't a way that I have found to automate this so at the moment it needs to update by voice command.
 
I'm no pro when it comes to VA but I do know how to do some advanced commands and would love to give this a shot. Currently use VA for many commands, but only have a few sounds linked so this would be pretty interesting! I'll shoot you a PM.
 
View attachment 98162

I tried to upload this into Voice Attack tonight, to have a play about and see if I could get this working, but got this error.

I am using the full version 1.5.8 of VA. It won't load, comes up with this error every time I try to start the sample .vap file, so I can't do anything with it, though not sure what is causing, this. Weird
 
View attachment 98162

I tried to upload this into Voice Attack tonight, to have a play about and see if I could get this working, but got this error.

I am using the full version 1.5.8 of VA. It won't load, comes up with this error every time I try to start the sample .vap file, so I can't do anything with it, though not sure what is causing, this. Weird
You need the latest beta version of VoiceAttack. You can obtain it at http://www.voiceattack.com/beta.aspx
 
I've released 0.6.0 with various bug fixes and a few new features. I've updated the feature list in the OP.
 
The plugin is limited by the amount of data that is available to it, which is pretty much what is laid out in the OP. Ideally the script would refresh on each system jump but there isn't a way that I have found to automate this so at the moment it needs to update by voice command.
I currently use VA to Jump to the next system for me, 23 seconds later, while I am still in Hyperspace it automatically press the X key twice, this automatically stops me from running into the star once I exit Hyperspace. It just occured to me that with a little jiggling of the pause command in VA after Issuing a 'Jump' command to the exiting of Hyperspace, we can instruct VA to refresh the plugin automatically?.


Update. If the above process works, then, having just watch a 'demo' video on these forums of a simulated comms chatter as a player is about to land at a station, then your VA Plugin *could* actually make this a reality. Your plugin can pick out the commander's name, so requested landing greetings from the station controller and landing instructions can be taylored by name to the player directly. VA is very good at stringing random audio clips together.
 
Last edited:
  • Like (+1)
Reactions: jgm
I currently use VA to Jump to the next system for me, 23 seconds later, while I am still in Hyperspace it automatically press the X key twice, this automatically stops me from running into the star once I exit Hyperspace. It just occured to me that with a little jiggling of the pause command in VA after Issuing a 'Jump' command to the exiting of Hyperspace, we can instruct VA to refresh the plugin automatically?.
Yep that would be possible, although it assumes that the jump takes place. If you didn't, for example you were masslocked or on cooldown, it might go a bit wrong.

I'm now looking at a netlog-based solution, which isn't without its problems but does have some promise.
 
Yep that would be possible, although it assumes that the jump takes place. If you didn't, for example you were masslocked or on cooldown, it might go a bit wrong.

I'm now looking at a netlog-based solution, which isn't without its problems but does have some promise.
But we can instruct VA to save the name of the current system into a variable, then after a jump command it can compare it with the value stored from your plugin. If the two doesnt match, then the player jumped successufuly.
 
But we can instruct VA to save the name of the current system into a variable, then after a jump command it can compare it with the value stored from your plugin. If the two doesnt match, then the player jumped successufuly.
Yep. The problem is that the plugin obtains the current system along with all of the other commander-related data from the companion app API, which FD have said they will only allow on a "fair use" basis. I'd rather not call the API just to find out that the system hasn't changed, then call it again a few seconds later when it does.

The idea of the netlog-based solution is that it writes to the log when a commander enters a system, so is more reliable and doesn't need to query the API unnecessarily. It does depend on me sorting out the code, however...
 
This sounds awesome. Thanks for your efforts!

If you're trying to automate a process when jumping into a system you may want to talk to the author of Captain's Log. He made the utility poll the logs and automatically log the system name when you jump in a system. He may be able to share with you how he's triggering it in his app. http://scarygliders.net/captains-log/
 
Last edited:
The forums are breaking up for me and I don't get any subscription notifications anymore, so I'm a bit late to the party.

This is an extremely small profile with just one single new command (and a couple of EDDI's sample profile ones). It reacts to engaging the FSD, gets the current system, then waits for 5 seconds and updates EDDI every 2 seconds for the next minute (if I'm not mistaken actually only 58 seconds ... but good enough), checks whether the system has changed, and if yes then calls the "System Entrance" function from the sample profile. If nothing changed in the last 58 seconds it assumes you didn't jump after all.
The "workaround" bool in there is because string variable comparisons didn't seem to work as a loop condition. Either a bug in VA or me mistyping something.

https://mega.nz/#!nAFSSRIS!TXTJ6adO652-bJfQ9Ot95cKfR1YmJ2IzHyXqMsHb0ms
 
Last edited:
I'm working on the next release of EDDI, which integrates netlog monitoring. This allows you to trigger Voice Attack scripts as you move between normal space and supercruise, as well as when you change systems.

Here's a simple example of a script triggering when a system jump initiates (actually when the countdown goes to 0).

[video=youtube_share;EDjK-T3H3D8]https://youtu.be/EDjK-T3H3D8[/video]
 
Status
Thread Closed: Not open for further replies.
Top Bottom