Release EDDI Scripts and EDDI enabled VA Commands Thread

The game does not provide an event to let us know when ammunition (whether for a heat sink, chaff launcher, or otherwise) is used. You're best option is to track it in VoiceAttack by reacting to the key presses / commands that you use to activate the heat sink / chaff launcher / etc. and by manually subtracting from the count updated during the ((EDDI ship loadout)) event.
 
The game does not provide an event to let us know when ammunition (whether for a heat sink, chaff launcher, or otherwise) is used. You're best option is to track it in VoiceAttack by reacting to the key presses / commands that you use to activate the heat sink / chaff launcher / etc. and by manually subtracting from the count updated during the ((EDDI ship loadout)) event.

Thanks T'kael, So I'm gonna try this.
 
Hi All

Is there an event/variable to indicate that you're the first to discover a star system?

I know there is the alreadydiscovered variable on the Body Scanned event, does that also apply to Stars?
 
Is there an event/variable to indicate that you're the first to discover a star system?

I know there is the alreadydiscovered variable on the Body Scanned event, does that also apply to Stars?

For stars it is the Star Scanned event
I've just reviewed the source code and yup WasDiscovered in the journal is being not forwarded to that event and neither are some others.
We will fix that: thank you for the report!

Thanks, but unless I'm mis-reading something, what goes into the journal isn't the same as what's available in EDDI.
The journal is indeed only source of real-time events for EDDI, so nepomuk is correct there. We can get additional data from Frontiers' API when, for example, you dock and go to the market screen, but that is not real-time and we have been asked to restrict ourselves to such usage. We also get data from third-party APIs such as EDSM to say, for example, how many times you've visited the system you are entering.

It is however fair to say that the journal is the main gateway on what EDDI does or does not know from moment to moment.

Edit: issue #1696 opened for this.
 
Last edited:
For stars it is the Star Scanned event
I've just reviewed the source code and yup WasDiscovered in the journal is being not forwarded to that event and neither are some others.
We will fix that: thank you for the report!


The journal is indeed only source of real-time events for EDDI, so nepomuk is correct there. We can get additional data from Frontiers' API when, for example, you dock and go to the market screen, but that is not real-time and we have been asked to restrict ourselves to such usage. We also get data from third-party APIs such as EDSM to say, for example, how many times you've visited the system you are entering.

It is however fair to say that the journal is the main gateway on what EDDI does or does not know from moment to moment.

Edit: issue #1696 opened for this.

Thanks for this.
 
Forgive me if this is already covered somewhere.. new to coding in EDDI.

Long term player and VR user.. never gotten on with VA - too many false triggers which are particularly troublesome in VR.. but EDDI on it's own gives a great additional texture.

Anyway - I'm looking for a way to declare the number of jumps at the start of a longer journey..
Ie. when state is changing from real space to hyper space (is that the only way to tell that a journey is beginning?)
When the number of jumps left is bigger than, say 5..
announce before FSD is spun up - "Course laid in, for X jumps"

.. but not to have that through the course of the rest of the trip (I realise there is a .. jumps left announcement, as part of the Jumped trigger). The purpose of this is to have a quick reality check that my Galaxy Map settings are right.. of course having a way to announce that also would be the cherry on top...

I've done some tinkering around the edges with various scripts, but really hoping to use this as a led example to get me into more..
Many thanks,
CMDR Bone Daddy
 
Forgive me if this is already covered somewhere.. new to coding in EDDI.

Long term player and VR user.. never gotten on with VA - too many false triggers which are particularly troublesome in VR.. but EDDI on it's own gives a great additional texture.

Anyway - I'm looking for a way to declare the number of jumps at the start of a longer journey..
Ie. when state is changing from real space to hyper space (is that the only way to tell that a journey is beginning?)
When the number of jumps left is bigger than, say 5..
announce before FSD is spun up - "Course laid in, for X jumps"

.. but not to have that through the course of the rest of the trip (I realise there is a .. jumps left announcement, as part of the Jumped trigger). The purpose of this is to have a quick reality check that my Galaxy Map settings are right.. of course having a way to announce that also would be the cherry on top...

I've done some tinkering around the edges with various scripts, but really hoping to use this as a led example to get me into more..
Many thanks,
CMDR Bone Daddy
Hi Cmdr Bone Daddy,

I've had a quick go at trying what you have requested, and come up with the below. Just add the code to the 'Next jump' event script.

Code:
{if status.gui_focus = "galaxy map" && event.remainingjumpsinroute > 5:
    Course laid in, for {event.remainingjumpsinroute} jumps.
}
This will report the number of jumps when you select a star as your route destination from the Galactic map, and there are 6 or more jumps. If you change destination during your route (using the Gal map), this should still report the new number of jumps. I tried this from the left nav panel, but it doesn't work, and I'm guessing it's because it's not being set as a 'route', only being 'selected'.

You should also note that, the code in the 'Jumped' script for reporting jumps remaining, will still activate unless you remove it.

I tried to do all this with the RouteDetails() function (using 'set' and the 'destinationsystem' variable) but 'destinationsystem.name' didn't seem to be populated when selecting a route. Of course I may have being trying to use it in the wrong way, but there's not much info on the 'set' variable for RouteDetails().

I thought about what you said, getting it to report when the FSD is engaged, but by then it would be too late to change course, as the event triggers at the end of the countdown. So, this is the next best thing. You could set it to report when going from normal space to supercruise, but there is no distinction between in-system supercruise and FSD jumping, so I'm not sure that would do what you want reliably.

Anyway, give it a try and see how you get on. I can always make changes if necessary. :)

-=] Darkcyde [=-
 
I tried to do all this with the RouteDetails() function (using 'set' and the 'destinationsystem' variable) but 'destinationsystem.name' didn't seem to be populated when selecting a route. Of course I may have being trying to use it in the wrong way, but there's not much info on the 'set' variable for RouteDetails().
I like your Next jump solution and think that's the most elegant for this application. That said, I believe this would be the correct way to use RouteDetails() to achieve a similar result:
  • From the Next jump script, use {RouteDetails("set", event.system)}
  • This will generate a Route details event. From that generated event, utilize the documented variables made available for that event.
(This call and response system is designed to work best when integrated with VoiceAttack)
 
I like your Next jump solution and think that's the most elegant for this application. That said, I believe this would be the correct way to use RouteDetails() to achieve a similar result:
  • From the Next jump script, use {RouteDetails("set", event.system)}
  • This will generate a Route details event. From that generated event, utilize the documented variables made available for that event.
(This call and response system is designed to work best when integrated with VoiceAttack)
Ah, this is exactly what I tried first, so at least it seems I was using RouteDetails() correctly, thank you.

The reason this doesn't work, is because in the 'Next jump' event, event.system is set to the first system in the route (which is correct, as it's literally the "next jump"), not the final destination. I had tried the following code in the 'Next jump' event script:
Code:
{set trip to RouteDetails('set', event.system)}

{trip.routetype}.
{trip.destination}.
{trip.distance}.
{trip.count}.
{trip.routedistance}.
For a 3 jump route (for testing I made it work with >1 jump), I got this result:
Course laid in, for 3 jumps......
Destination set to the Eol Prou SS-W b17-15 system, 52.4 lightyears away.
The route I had selected ended at 'Eol Prou GG-Z B16-9', 141.91LY away (from Colonia as a start point). As you can see, none of the RouteDetails() variables were set (hence the row of dots in the output). Or am I still using it incorrectly? I'd also like to note that '.destination' didn't color-code like the other variables did (is it light green? Sorry, I'm a bit colour-blind).

Once I realised what event.system was, I then tried the destinationsystem.name as I mentioned above, but that wasn't populated either. I wasn't sure I was using it correctly, but from the help doc (when editing a script), I think I was doing it right. After some more testing today, I realised that it would get populated if 'route' was used for RouteDetails(), but a route couldn't be set as I had no missions.

From what I can gather, the RouteDetails() event is only generated after the calling event has finished, and that's why those variables are not populated at the time I tried to use them in the 'Next jump' script. Does this mean I'd have to add them to the end of the RouteDetails() script, and set them as State variables in order to use them?
 
Hi all,

It seems Route details event is not working here. I've created a command named ((EDDI route details)) in voice attack with just Say, 'route details working', for testing purposes, but when I plot a route nothing happens. What am I doing wrong?

Thank you in advance.
 
Code:
{set trip to RouteDetails('set', event.system)}

{trip.routetype}.
{trip.destination}.
{trip.distance}.
{trip.count}.
{trip.routedistance}.
For a 3 jump route (for testing I made it work with >1 jump), I got this result:

The route I had selected ended at 'Eol Prou GG-Z B16-9', 141.91LY away (from Colonia as a start point). As you can see, none of the RouteDetails() variables were set (hence the row of dots in the output). Or am I still using it incorrectly? I'd also like to note that '.destination' didn't color-code like the other variables did (is it light green? Sorry, I'm a bit colour-blind).
This usage isn't quite correct since the value returned from RouteDetails() is currently a string rather than an object. For example...
  • with {set trip to RouteDetails('set', event.system)}, trip will be set to the name of the destination system.
  • with {set trip to RouteDetails('nearest')}, trip will be set to the name of the nearest system where you have an active mission.

Hi all,

It seems Route details event is not working here. I've created a command named ((EDDI route details)) in voice attack with just Say, 'route details working', for testing purposes, but when I plot a route nothing happens. What am I doing wrong?

Thank you in advance.
Can you be a little more specific about the command you're using to plot the route?
 
Can you be a little more specific about the command you're using to plot the route?

I'm using no command to plot the route. Just plotting the route at galaxy map using the in game features..
Your question makes me think the Route details event does not trig this way. If so, how and when it's trigged?
 
The Route details event is triggered in response to either using the RouteDetails() function from a script in the speech responder or from using the route plugin context in VoiceAttack. It will never trigger if it is not invoked.

I've been working on documenting the plugin context for use with VoiceAttack and while the updated documentation isn't incorporated into the wiki yet and may be further refined before the next release (which is typically when the wiki is updated), it is available at https://github.com/EDCD/EDDI/blob/develop/docs/VoiceAttack-Integration.md#route if you'd like to look it over.
 
Last edited:
This usage isn't quite correct since the value returned from RouteDetails() is currently a string rather than an object. For example...
  • with {set trip to RouteDetails('set', event.system)}, trip will be set to the name of the destination system.
  • with {set trip to RouteDetails('nearest')}, trip will be set to the name of the nearest system where you have an active mission.
Ahh ok, I see now. Would it be possible then (and how much trouble would it be) to make RouteDetails() work in the same way as other 'Details' functions, like SystemDetails() or StationDetails()? As in, it would return an object with all the particular sub variables populated. To me at least, it would make sense as it is named in the same way.

Well, it's just a thought, and maybe something for a future update? ;) For the time being then, I'll just make a set of State variables at the end of the RouteDetails() script, as that should do pretty much the same thing.

Thanks for clearing it up for me. :)
 
The Route details event is triggered in response to either using the RouteDetails() function from a script in the speech responder or from using the route plugin context in VoiceAttack. It will never trigger if it is not invoked.

I've been working on documenting the plugin context for use with VoiceAttack and while the updated documentation isn't incorporated into the wiki yet and may be further refined before the next release (which is typically when the wiki is updated), it is available at https://github.com/EDCD/EDDI/blob/develop/docs/VoiceAttack-Integration.md#route if you'd like to look it over.

Hi T'kael,

I don't think I got it right. Is it an event that is not triggered by the occurrence of an event (creation or update of a route)? Does it need to be triggered by another command? So should I ask about the route and would this VA command invoke route details? But it has no data. o_O
Thank you very much for your help, but unfortunately this is beyond my knowledge. And since my English does not help much, I think I will spend a lot more time than I imagined to solve this. But that's what makes things cool, isn't it? ;)
 
Top Bottom