Release EDDI - Windows app for immersion and more

Status
Thread Closed: Not open for further replies.
I think I fixed it. I let EDDI update to the beta and then bought my new ship. I have non-standard install locations for ED and VA, but EDDI was in the default location and I copied it to VA. When the beta installed, it put itself in the default location (since thats where I installed EDDI intiially), this apparently broke a few things. I uninstalled/reinstalled EDDI in the non-standard VA apps folder, and it seemed to be working, except EDDI was convinced my dolphin was a DBE. I tried buying a sidewinder, and switching back, but EDDI was still convinced dolphin was called DBE. I went into the livery, and named the ship Dolphin again, and EDDI successfully updated and calls it Dolphin. On the ship monitor tab, it says the Model is DBE though.
 
Using EDDI 2.3 B2, the cargo carried voice attack variable reports as zero all the time. Previously this would be the total amount of cargo carried.

FD removed carried cargo information from the companion API. There is a version of cargo information available in the journal but it does not contain as much information as we used to have (it's missing mission IDs, purchase prices, and stolen flags). I'm waiting on some information from FD as to if they intend to reinstate the companion API data before changing the data.
 
Hey jgm,

It's possible that I'm just now noticing this since I'm re-working my VA commands to accommodate ED & EDDI 2.3...

I'm not getting getting ((EDDI docked)) and ((EDDI location)) commands triggered while docked, especially when logging out and back in, but I see all the events in the Journal file.

I remember a fuss a while back with folks not wanting the speech responder scripts repeated with consecutive re-logs (open, private, solo) while mission stacking.

Is this a deliberate effect from that? If so, would it be possible to continue to suspend the speech responder event scripts while allowing the VA event commands to pass thru?

I use the VA event commands to initialize variables.

Thanks!

EDDI doesn't have the ability to send information to one responder but not another. If you are carrying out initialisation variables based on starting/restarting then the "Commander continued" event is the best place to put them as this will always be triggered.
 
Hi,

I'm trying to use state variables for the first time but can't get it to work.

I used to have a system that when I was jumping to another system gave me the full jumping speech from Eddi or a smaller version without the system report, depending on a VoiceAttack variable.

Now in Eddi Beta the jumping script doesn't work anymore and is replaced by the FSD engaged script.
Just changing my scriptnames and VA commands to the new situation didn't work so JGM on Github adviced to use state variables.

I'm trying that now but can't get it to work so maybe one of the experts here is willing to have a look.

Here's what I did:

In VA i made a command that sets a text variable jumpingdetails to "full" or "minimal"
After that it calls the EDDI plugin with setstate in the Plugin context box and jumpingdetails in the Text Variable box

In the FSD engaged script I changed a part of the existing script to this:
Code:
{if !system.population:
            {OneOf("This system is unpopulated","There is no human presence here", "Humans have yet to colonise this system")}.
        |else:
        {if state.jumpingdetails= "full":
            {F("System report")}
         }
        }

I was expecting that when making a jump to a populated system with the jumpingdetails variable in VA set to full it would give the system report and if it isn't set to full it would not give the system report.

Unfortunately it doesn't work. The system report is never activated.

Can any of the experts please tell me why it doesn't work and, if possible, how to make it work ?
 
Last edited:
jgm, first i have to say i'm more than impressed with the new beta. Awesome what you managed to do with the materials, to name just one thing.
Am i right that these VA commands can only be edited with exporting / importing the profile, cause of their sheer length?
The descriptions, 'where can i obtain xx', can they be edited somewhere in EDDI, too?
 
In VA i made a command that sets a text variable jumpingdetails to "full" or "minimal"
After that it calls the EDDI plugin with setstate in the Plugin context box and jumpingdetails in the Text Variable box

This is the bit that's going wrong. You need to set a text variable 'State variable' to the value 'jumpingdetails' before calling the plugin so that EDDI can work out which variable you want to set. The text variable box in the plugin page doesn't do anything.
 
jgm, first i have to say i'm more than impressed with the new beta. Awesome what you managed to do with the materials, to name just one thing.
Am i right that these VA commands can only be edited with exporting / importing the profile, cause of their sheer length?
The descriptions, 'where can i obtain xx', can they be edited somewhere in EDDI, too?

I've never tried to edit those commands by hand but I don't see why they shouldn't be editable just the same as other commands. If it doesn't work you might want to raise it as an issue on the VoiceAttack forums.
 
This is the bit that's going wrong. You need to set a text variable 'State variable' to the value 'jumpingdetails' before calling the plugin so that EDDI can work out which variable you want to set. The text variable box in the plugin page doesn't do anything.

By "to the value 'jumpingdetails' " do you mean that the value of the State variable should be literally "jumpingdetails" or do I have to set the variable jumpingdetails to "Full" (or "Minimal") and then set the variable 'State variable' to the value of the variable jumpingdetails ? Otherwise how will the script know if it's full or minimal I want ?
 
By "to the value 'jumpingdetails' " do you mean that the value of the State variable should be literally "jumpingdetails" or do I have to set the variable jumpingdetails to "Full" (or "Minimal") and then set the variable 'State variable' to the value of the variable jumpingdetails ? Otherwise how will the script know if it's full or minimal I want ?

The latter.
 
EDDI doesn't have the ability to send information to one responder but not another. If you are carrying out initialisation variables based on starting/restarting then the "Commander continued" event is the best place to put them as this will always be triggered.

Thanks for the reply.

To clarify, I'm initializing variables that are inferred from a particular game state. For example, if docked, then I know that the landing gear is deployed and hardpoints are retracted. In particular, I use the 'Docked' speech responder script to set state variables to tell me what station services are available.

Could I suggest that instead of deliberately disabling the events, just have them "Be quiet" for those instances? This would seem to be more consistent behavior in keeping with your recent changes to suspend voice playback but allow the script to execute.
 
Last edited:
Thanks for the reply.

To clarify, I'm initializing variables that are inferred from a particular game state. For example, if docked, then I know that the landing gear is deployed and hardpoints are retracted. In particular, I use the 'Docked' speech responder script to set state variables to tell me what station services are available.

Could I suggest that instead of deliberately disabling the events, just have them "Be quiet" for those instances? This would seem to be more consistent behavior in keeping with your changes to suspend voice playback without disabling the script altogether.

The events aren't disabled unless they match the existing state, so EDDI will only suppress a 'Docked' event if you are already docked and EDDI knows you are already docked. If you are using the Docked event to set variables then you should be fine, as it will trigger the first time that you dock at a station (or the first time you start up Elite after EDDI is started) and so set whatever variables you need. It is only subsequent Docked events that are suppressed (until you undock, of course).
 
The events aren't disabled unless they match the existing state, so EDDI will only suppress a 'Docked' event if you are already docked and EDDI knows you are already docked. If you are using the Docked event to set variables then you should be fine, as it will trigger the first time that you dock at a station (or the first time you start up Elite after EDDI is started) and so set whatever variables you need. It is only subsequent Docked events that are suppressed (until you undock, of course).

This is true, except for instances of profile switching where you lose everything. I'm trying to avoid saving variables to profile or restarting the app, but I suppose it's unavoidable.
 
Last edited:
This is true, except for instances of profile switching where you lose everything. I'm trying to avoid saving variables to profile or restarting the app, but I suppose it's unavoidable.

Couldn't you set them as EDDI state variables, that way they'd hang around for profile switches?
 
jgm,

How about adding "Docked" and "Landed" (for planetary landings) with the "Normal space", "Supercruise" and "Witch space" states in {TXT:Environment} ?
 
Last edited:
By "to the value 'jumpingdetails' " do you mean that the value of the State variable should be literally "jumpingdetails" or do I have to set the variable jumpingdetails to "Full" (or "Minimal") and then set the variable 'State variable' to the value of the variable jumpingdetails ? Otherwise how will the script know if it's full or minimal I want ?

The latter.

Thanks and sorry to bother you again but I can't get it to work.

My Va command "Full report mode" now looks like this:
Code:
Set Text [jumpingdetails] to 'full' (save value to profile)
Set Text [State variable] to [jumpingdetails]
Execute external plugin, 'EDDI 2.3.0-b2'

In the last command I set the context to setstate

I now made copy of the default personality and in the new fresh one the only change I made is in the FSD engaged script I added the line about the jumpingdetails like this:
Code:
{if !system.population:
            {OneOf("This system is unpopulated","There is no human presence here", "Humans have yet to colonise this system")}.
        |else:
        {if state.jumpingdetails= "full":
        {F("System report")}
         }
        }

Now when playing I say "Full report mode" and make a jump to a populated system.
Eddi then gives the information up until and including the number of times I visited the system but then stops without giving the System Info.

So one final question before I give up: is adding the {if state.jumpingdetails= "full":... to the script under the population part enough or should there also be a line in FDS engaged in which the value of state.jumpingdetails is read by the script. Or should I maybe move the VA commands from "Full report mode" to a ((EDDI fsd engaged)) command so the statevariable is set the moment the FSD engaged event appears ?

Thanks in advance for your patience.
 
Thanks and sorry to bother you again but I can't get it to work.

My Va command "Full report mode" now looks like this:
Code:
Set Text [jumpingdetails] to 'full' (save value to profile)
Set Text [State variable] to [jumpingdetails]
Execute external plugin, 'EDDI 2.3.0-b2'

In the last command I set the context to setstate

I now made copy of the default personality and in the new fresh one the only change I made is in the FSD engaged script I added the line about the jumpingdetails like this:
Code:
{if !system.population:
            {OneOf("This system is unpopulated","There is no human presence here", "Humans have yet to colonise this system")}.
        |else:
        {if state.jumpingdetails= "full":
        {F("System report")}
         }
        }

Now when playing I say "Full report mode" and make a jump to a populated system.
Eddi then gives the information up until and including the number of times I visited the system but then stops without giving the System Info.

So one final question before I give up: is adding the {if state.jumpingdetails= "full":... to the script under the population part enough or should there also be a line in FDS engaged in which the value of state.jumpingdetails is read by the script. Or should I maybe move the VA commands from "Full report mode" to a ((EDDI fsd engaged)) command so the statevariable is set the moment the FSD engaged event appears ?

Thanks in advance for your patience.

Do you have 'State variable' in the Text Variables box in the Execute an External Plugin Function command? Otherwise, it looks like it should work.
 
Last edited:
This is the bit that's going wrong. You need to set a text variable 'State variable' to the value 'jumpingdetails' before calling the plugin so that EDDI can work out which variable you want to set. The text variable box in the plugin page doesn't do anything.

Do you have 'State variable' in the Text Variables box in the Execute an External Plugin Function command? Otherwise, it looks like it should work.

I haven't tried that yet because of JGM's remark. Here are screenshots of the VA commands
bZzVoOn.jpg

GYLdnPt.jpg

ktrFZrA.jpg

Edit: I just tested it with the text "State variable" in the Text variables box but no change.
 
Last edited:
Thanks and sorry to bother you again but I can't get it to work.

My Va command "Full report mode" now looks like this:
Code:
Set Text [jumpingdetails] to 'full' (save value to profile)
Set Text [State variable] to [jumpingdetails]
Execute external plugin, 'EDDI 2.3.0-b2'

In the last command I set the context to setstate

I now made copy of the default personality and in the new fresh one the only change I made is in the FSD engaged script I added the line about the jumpingdetails like this:
Code:
{if !system.population:
            {OneOf("This system is unpopulated","There is no human presence here", "Humans have yet to colonise this system")}.
        |else:
        {if state.jumpingdetails= "full":
        {F("System report")}
         }
        }

Now when playing I say "Full report mode" and make a jump to a populated system.
Eddi then gives the information up until and including the number of times I visited the system but then stops without giving the System Info.

So one final question before I give up: is adding the {if state.jumpingdetails= "full":... to the script under the population part enough or should there also be a line in FDS engaged in which the value of state.jumpingdetails is read by the script. Or should I maybe move the VA commands from "Full report mode" to a ((EDDI fsd engaged)) command so the statevariable is set the moment the FSD engaged event appears ?

Thanks in advance for your patience.

Everything there looks okay. I just put together a quick test here for something similar and it seems to work (although I haven't put it in an event because I'm not in front of Elite).

For testing purposes you could put a line "Jump details are {state.jumpingdetails}" at the top of the FSD engaged template to hear what it says; that should give you an idea where the problem might be.

If you still can't work it out please throw me a copy of your VoiceAttack profile and EDDI personality and I'll take a look.
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom