Release EDDI - Windows app for immersion and more

Status
Thread Closed: Not open for further replies.
Death by npc :) here's the log:

{ "timestamp":"2016-12-29T10:15:26Z", "event":"Died", "KillerName":"$ShipName_Military_Federation;", "KillerName_Localised":"Federal Navy Ship", "KillerShip":"viper", "KillerRank":"Deadly" }

ok np on the others. I see the mission info in the journal now, helps when you scroll right!

I presume then that we are just waiting for updated v2.1 docs to help us use this?

I just tried this and it worked for me.

The 2.1 docs for VoiceAttack are available at https://github.com/cmdrmcdonald/EliteDangerousDataProvider/blob/develop/VoiceAttack.md, although they don't contain all of the possible values due to them not being easy to generate programatically. They do have the majority, though, and the new events.
 
I've pretty much finished my Twitch overlay for exploration using EDDI 2 and Voice Attack, will try and do a video of it in action as soon as I figured out decent settings in OBS. I've also got Bounty Hunting / Combat Zone overlays too which count up kills and vouchers/bonds as well as any on going mission count.

All the elements update using Voice Attack Plugin EDDI 2 on jumped or scanned. (other than the stream viewers, followers elements)

As soon as I heard about the journal being made available to 3rd party plug ins this is exactly the kind of thing I had in mind for my EDDI 2 so this is what I have been working on the last couple of months as well as upgrading my internet connection so I can stream (from 0.5Mb/s upload (old connection) to 20Mb/s (fiber optic) ö7

I'm no programmer or script writer to say the least but with alot of help from folks here and in the Voice attack forums my dream was given form and I'm basically "BUZZING" :D

Is it possible to change the Home system & station via Voice attack instead of loading up the standalone, changing then reloading VA to catch the changes? I would like to change it on the fly if possible or have 2 variables that I can set Home system & Destination system that I can set manually or via Voice attack variables so when I'm out exploring it can calculate the distances from my start system/station & destination system/station from my current position.

BTW this is an OVERLAY that viewers see when I stream to Twitch or Youtube not my game screen
SnapShot_161229_184909.jpg

I would like to thank jgm and everyone that has answered questions I have posed in this forum from time to time on scripts I have been trying to write in EDDI 2 and Voice attack.

Without you guys "Infinity" my interactive A.I wouldn't have been possible.

ö7 CMDR's
 
hi

2 questions:

1) if i have 2 account, how can configure it?
becuse when i must login with my account for the companion app, i can choose only one.

2) is there a command, same as location or station, that tell me all the info when i select a target? ship type, faction, reward if available etc..
thanks !
 
I just tried this and it worked for me.

The 2.1 docs for VoiceAttack are available at https://github.com/cmdrmcdonald/EliteDangerousDataProvider/blob/develop/VoiceAttack.md, although they don't contain all of the possible values due to them not being easy to generate programatically. They do have the majority, though, and the new events.

cheers for the docs

thats an odd one with the death, I died 3 times last night and none of them triggered the event, works fine in 2.0.13. I'll do some testing and let you know.
 
The changes since b2 have grown to the point where I'd rather not release it as a final, so here is 2.1.0-b3. Change log is as follows:

  • Add 'stolen' flag and 'missionid' identifier to cargo
  • Update default script for 'Commodity sale check': do not suggest that stolen goods or mission-specific goods can be sold
  • Update Zinc good and great percentages with latest data
  • Use more intelligent method to work from FD names to definitions for commodities, and provide better fallback names if missing
  • Ensure that there is a space either side when using the word 'dash' in place of the symbol '-'
  • Track current vehicle which commander is controlling, and make the value available to the speech and VoiceAttack responders
  • Fix implementation of ShipDetails() so that it works according to its documentation
  • Use fixed-width font for edit script window
  • Updated EDDI's default scripts:
    • Added 'Synthesised' script
    • Fix 'Mission completed' script to correctly provide information about commodities received as mission rewards
    • Update 'Hull damaged' script to only report damage if the player is in the vehicle that is damaged
    • Update 'Docking granted' script to provide clearer information on the location of pads
    • Update 'Touchdown' script to use "coordinates" rather than "co-ordinates" as the latter can cause problems with some TTS voices
    • Update 'Swapout check' script to use modules' modified flag to see if a module has modifications
    • Update 'Commodity sale check' script to ensure that a commodity is in demand at the target station before reporting on a sale

The beta is available from http://www.mcdee.net/elite/EDDI-beta.exe. As always, let me know if you encounter any issues.
 
I want to be able to plan a long journey, say Start System: Sol to Destination System: Colonia

When I jump I would like EDDI 2 to show or tell me the actually distance from these 2 points from my current location
i.e

Sol: 10LY --- Colonia: 22010 LY

Jump

Sol: 20LY --- Colonia: 22000 LY

If not at all possible is there a way to override the {TXT:Home system} & {DEC:System distance from home} within Voice attack? so I could have command to change my home system so on the next jump it will calculate the distance from the new {TXT:Home system} & {DEC:System distance from home} From what I can tell {TXT:Home system} & {DEC:System distance from home} can only be changed with in EDDI 2 Standalone.
 
Thanks so much for this. I've had to do a bit of tweaking, but it provides a lot of immersion. I like the trading helper. I really haven't used it as I am hauling passengers in an Asp, but when I go up to a Type 7, It will be a big help. Thanks for all your hard work.
 
I want to be able to plan a long journey, say Start System: Sol to Destination System: Colonia

When I jump I would like EDDI 2 to show or tell me the actually distance from these 2 points from my current location
i.e

Sol: 10LY --- Colonia: 22010 LY

Jump

Sol: 20LY --- Colonia: 22000 LY

If not at all possible is there a way to override the {TXT:Home system} & {DEC:System distance from home} within Voice attack? so I could have command to change my home system so on the next jump it will calculate the distance from the new {TXT:Home system} & {DEC:System distance from home} From what I can tell {TXT:Home system} & {DEC:System distance from home} can only be changed with in EDDI 2 Standalone.

The home system can't be changed dynamically.

In terms of what you're trying to do, you could possibly use EDDI's state system. So in VoiceAttack you provide the name of the destination system and store it as a state variable. Then in your EDDI jumping speech responder template you can pull that system from the state, look it up to find the X/Y/Z co-ordinates, and calculate the distance. You can then set another state variable with this distance, so that it's available in other scripts.

Bear in mind that EDDI responds to events in an asynchronous manner, though, so you can't rely on the VoiceAttack ((EDDI jumping)) script to have access to state set in the Jumping speech responder template.
 
hi

2 questions:

1) if i have 2 account, how can configure it?
becuse when i must login with my account for the companion app, i can choose only one.

2) is there a command, same as location or station, that tell me all the info when i select a target? ship type, faction, reward if available etc..
thanks !

EDDI isn't designed for multiple accounts. That said, the files that contain account-specific information are:

  • %APPDATA%\EDDI\credentials.json (companion API information)
  • %APPDATA%\EDDI\eddi.json (home system, insurance)
  • %APPDATA%\EDDI\EDDI.sqlite (starsystems visited)
  • %APPDATA%\EDDI\edsm.json (EDSM key)
  • %APPDATA%\EDDI\ships.json (ship names and details)

So you could write a script to copy these files as you switch from one account to the other (although don't do this whilst EDDI is active or it will corrupt them).

FD provide very little data on target ships, so no luck with a target information command.
 
The home system can't be changed dynamically.

In terms of what you're trying to do, you could possibly use EDDI's state system. So in VoiceAttack you provide the name of the destination system and store it as a state variable. Then in your EDDI jumping speech responder template you can pull that system from the state, look it up to find the X/Y/Z co-ordinates, and calculate the distance. You can then set another state variable with this distance, so that it's available in other scripts.

Bear in mind that EDDI responds to events in an asynchronous manner, though, so you can't rely on the VoiceAttack ((EDDI jumping)) script to have access to state set in the Jumping speech responder template.

thanks for replying, I got a feeling this kind of thing maybe over my head at the moment. 1 question though where would I find the x/y/z co-ordinates though EDDI jumping speech responder ?
 
thanks for replying, I got a feeling this kind of thing maybe over my head at the moment. 1 question though where would I find the x/y/z co-ordinates though EDDI jumping speech responder ?

You can obtain system information with the SystemDetails() function. It does need to have been in EDDB for a couple of days for this to work, though.

The Jumping script uses this function to obtain system information, so you can see it in use there.
 
I want to be able to plan a long journey, say Start System: Sol to Destination System: Colonia

When I jump I would like EDDI 2 to show or tell me the actually distance from these 2 points from my current location
i.e

Sol: 10LY --- Colonia: 22010 LY

Jump

Sol: 20LY --- Colonia: 22000 LY

If not at all possible is there a way to override the {TXT:Home system} & {DEC:System distance from home} within Voice attack? so I could have command to change my home system so on the next jump it will calculate the distance from the new {TXT:Home system} & {DEC:System distance from home} From what I can tell {TXT:Home system} & {DEC:System distance from home} can only be changed with in EDDI 2 Standalone.

I don't think messing with the intended functionality of the 'home system' is necessary to get what you want.

While it seems commonsensical that the SystemDetails() function would provide the x,y,z coordinates (otherwise, how is distance from home system calculated?), it's not spelled out in the speech responder 'help' and 'variables' files. If so, then implementing your feature would be fairly trivial... The only caveat would be the need to manually pass the names of your start and destination systems via Voice Attack, using the EDDI 'setstate' call and adding the associated script to the 'Jumped' speech responder event.

jgm would be able to clarify whether system coordinates are available via the SystemDetails() function.

Edit: ok, he did respond (while I was writing, obviously) and it's available, so have at it!
 
Last edited:
thanks for replying, I got a feeling this kind of thing maybe over my head at the moment. 1 question though where would I find the x/y/z co-ordinates though EDDI jumping speech responder ?

Ok, I whipped this up real quick and did some rudimentary testing.

I threw this into the speech responder 'Jumped' script for testing, but it could also go into the 'Jumping' (or any other) script...

Code:
{if state.destination:
    {set dest to SystemDetails(state.destination)}

    {set diff_x to sub(dest.x, system.x)}
    {set diff_y to sub(dest.y, system.y)}
    {set diff_z to sub(dest.z, system.z)}

    {set pow_x to pow(diff_x, 2)}
    {set pow_y to pow(diff_y, 2)}
    {set pow_z to pow(diff_z, 2)}

    {set distance to add(pow_x, pow_y)}
    {set distance to add(distance, pow_z)}
    {set distance to pow(distance, 0.5)}
    {set distance to round(distance, 1)}

    Distance to {state.destination} is {distance} light years.
}

It's written for readability over efficiency, so feel free to obfuscate to your heart's content!

With regards to Voice Attack, here are some examples for setting and clearing the 'destination' variable...

VA Command called 'Set destination'. Currently set to Sol...
Code:
Set Text [destination] to 'Sol'
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


VA Command called 'Clear destination'. Sets 'destination' to 'Not Set'
Code:
Set Text [destination] to [Not Set]
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


Standard disclaimer... Guaranteed until you can no longer see my tail lights, YMMV.
 
Last edited:
Just want to say thank you for your efforts, while I am still learning the scripting language, along with Voiceattack, Astra profile and a natural sounding speech synthesizer, EDDI has bought my ship to life, of course it's nice that Ivona Amy just happens to sound bit like Astra, the downside is any speech I put in voiceattack avoids the distortion filter in EDDI, shame really, I like a very slight metallic sound to the ships voice.

Anyway, thanks again for a superb companion to Elite Dangerous.
 
Ok, I whipped this up real quick and did some rudimentary testing.

I threw this into the speech responder 'Jumped' script for testing, but it could also go into the 'Jumping' (or any other) script...

Code:
{if state.destination:
    {set dest to SystemDetails(state.destination)}

    {set diff_x to sub(dest.x, system.x)}
    {set diff_y to sub(dest.y, system.y)}
    {set diff_z to sub(dest.z, system.z)}

    {set pow_x to pow(diff_x, 2)}
    {set pow_y to pow(diff_y, 2)}
    {set pow_z to pow(diff_z, 2)}

    {set distance to add(pow_x, pow_y)}
    {set distance to add(distance, pow_z)}
    {set distance to pow(distance, 0.5)}
    {set distance to round(distance, 1)}

    Distance to {state.destination} is {distance} light years.
}

It's written for readability over efficiency, so feel free to obfuscate to your heart's content!

With regards to Voice Attack, here are some examples for setting and clearing the 'destination' variable...

VA Command called 'Set destination'. Currently set to Sol...
Code:
Set Text [destination] to 'Sol'
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


VA Command called 'Clear destination'. Sets 'destination' to 'Not Set'
Code:
Set Text [destination] to [Not Set]
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


Standard disclaimer... Guaranteed until you can no longer see my tail lights, YMMV.

Set destination . I used the clip . saves trying to speak a system or type it.
Code:
 Set Text [destination] to '{CLIP}'
Set Text [State variable] to [destination]
Execute external plugin, 'EDDI 2.0.13' and wait for return

Route Status .. then have this to check the copied to Clip worked
Code:
Set Text [RouteShip] to 'You are currently aboard a {TXT:Ship model}'
Set Text [RouteCargoMass] to 'You are using {INT:Ship cargo carried} of the {INT:Ship cargo capacity} tonnes of cargo space.'
Set Text [RouteOutfitMass] to '27'
Set Text [RouteDeparture] to '{TXT:System name (spoken)}]'
Set Text [RouteDestination] to [destination]
Say, 'Ship {TXT:RouteShip}, Cargo {TXT:RouteCargoMass}, Outfit {TXT:RouteOutfitMass}, Departure {TXT:RouteDeparture}, Destination {TXT:RouteDestination}'

The above is my first attempt at this new coding , with VA EDDI so still working out the 'mass' , to work with the fuel and plotting
 
Ok, I whipped this up real quick and did some rudimentary testing.

I threw this into the speech responder 'Jumped' script for testing, but it could also go into the 'Jumping' (or any other) script...

Code:
{if state.destination:
    {set dest to SystemDetails(state.destination)}

    {set diff_x to sub(dest.x, system.x)}
    {set diff_y to sub(dest.y, system.y)}
    {set diff_z to sub(dest.z, system.z)}

    {set pow_x to pow(diff_x, 2)}
    {set pow_y to pow(diff_y, 2)}
    {set pow_z to pow(diff_z, 2)}

    {set distance to add(pow_x, pow_y)}
    {set distance to add(distance, pow_z)}
    {set distance to pow(distance, 0.5)}
    {set distance to round(distance, 1)}

    Distance to {state.destination} is {distance} light years.
}

It's written for readability over efficiency, so feel free to obfuscate to your heart's content!

With regards to Voice Attack, here are some examples for setting and clearing the 'destination' variable...

VA Command called 'Set destination'. Currently set to Sol...
Code:
Set Text [destination] to 'Sol'
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


VA Command called 'Clear destination'. Sets 'destination' to 'Not Set'
Code:
Set Text [destination] to [Not Set]
Set Text [State variable] to 'destination'
Execute external plugin, 'EDDI 2.1.0-b3' and wait for return (context = setstate, Text Variables = State variable)


Standard disclaimer... Guaranteed until you can no longer see my tail lights, YMMV.

WoW I wasn't expecting this and I will try it out later on today.

One thing I don't see is how to get VA to say the how far the destination is though or i'm I blind
 
Have you created VoiceAttack commands? The plugin command lines should only show up if you have created the relevant VoiceAttack command (e.g. '((EDDI undocked))') but you only need to do this if you want to carry out custom VoiceAttack actions in response to events.

Have you gone through the EDDI UI and configured all of the main tabs as described when you start EDDI?

I havent created anything, I just imported what came with voice packs and it just started doing this with the update. I uninstalled and reinstalled as per the upgrade directions. As far as I know all the main tabs are configured.
 
Just want to say thank you for your efforts, while I am still learning the scripting language, along with Voiceattack, Astra profile and a natural sounding speech synthesizer, EDDI has bought my ship to life, of course it's nice that Ivona Amy just happens to sound bit like Astra, the downside is any speech I put in voiceattack avoids the distortion filter in EDDI, shame really, I like a very slight metallic sound to the ships voice.

Anyway, thanks again for a superb companion to Elite Dangerous.

Note that you can use EDDI's voice in VoiceAttack with use of the 'say' and 'speech' plugin contexts. Details on how to do this are at https://github.com/cmdrmcdonald/EliteDangerousDataProvider/blob/master/VoiceAttack.md#say and there are examples in the EDDI VoiceAttack profile.
 
WoW I wasn't expecting this and I will try it out later on today.

One thing I don't see is how to get VA to say the how far the destination is though or i'm I blind

You dont (you can't) and why would you want to? Now that we have persistent variables within the speech responder, there is no reason to use VA for text-to-speech.

FYI, The last line in the cottle script is 'saying' the destination distance.
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom