Release EDDI 3.3 - Bring your cockpit to life

In addition to this, the Event Triggers for VA can also help resolve an unknown state -- if the ship was undocked, and the state of the landing gear was not known through the BOOL we set for that state, we can safely assume that if the ship jumps to Hyperspace or another star, that the gear is most certainly up and the ship is most certainly undocked. There are others that could fall into these categories, and thinking along these lines will net the best results in addition to our own state tracking, and getting state info from EDDI.
Sure.. I use the Jumped event so I can reset my own variables to control left and right panel tabs. But you have set this method to a much higher level. 😂

Can't wait for AVCS4. (y)(y)
 
Hey.
I do not know much English. Therefore, I use Google. I apologize

I want to ask about the variable "FSD engaged event"

When does it work? After the countdown (4-3-2-1 engage) or before it?

I make my assistant that will also voice default replicas, including the countdown to entering hyper.

So I want to know if there is a way for VA and EDDI to track this moment between the end of FSD charging and the start of counting?
Thanks.
 
1st. Love your work have been writing scripts like a madman
2nd. I probably being a little dim, but I cant get shipyard variables working have looked at the github pages 1 says there are variables 1 says there are none for the shipyard event

So I am trying to write a script that pulls data from shipyard event variables and list them for me so i can work out which of my ships is closest etc.

I cant get the {Stored ship n name} etc to give me any info
Any help would be fantastic (even a eye-roll and a link to the really obvious answer)
cheers :)

EDIT: I'm just a bit dim... I can access them from VA as a VA variables (still cant get them to work properly within EDDI though)
 
Last edited:
Thanks for making and maintaining this, it's a wonderful bit of kit!

I'm having a little trouble with the estimated value of planets when scanning them. For example it says that metal rich worlds are only worth about 21,000. Could someone point out what I am doing wrong? The script I am using is in the Body Scanned section and is as follows:

{_ Context _}
{SetState('eddi_context_last_subject', 'body')}
{SetState('eddi_context_last_action', 'scan')}
{SetState('eddi_context_body_system', system.name)}
{SetState('eddi_context_body_name', event.name)}
{SetState('eddi_context_last_scan_estimated_value', event.estimatedvalue)}

{if event.estimatedvalue > 20000 && !event.alreadydiscovered:

{if event.terraformstate = "Candidate for terraforming":
Terraformable
}
{event.planettype}
scan worth
{Humanise(event.estimatedvalue)}
credits
}
 
Thanks for making and maintaining this, it's a wonderful bit of kit!

I'm having a little trouble with the estimated value of planets when scanning them. For example it says that metal rich worlds are only worth about 21,000. Could someone point out what I am doing wrong? The script I am using is in the Body Scanned section and is as follows:

{_ Context _}
{SetState('eddi_context_last_subject', 'body')}
{SetState('eddi_context_last_action', 'scan')}
{SetState('eddi_context_body_system', system.name)}
{SetState('eddi_context_body_name', event.name)}
{SetState('eddi_context_last_scan_estimated_value', event.estimatedvalue)}

{if event.estimatedvalue > 20000 && !event.alreadydiscovered:

{if event.terraformstate = "Candidate for terraforming":
Terraformable
}
{event.planettype}
scan worth
{Humanise(event.estimatedvalue)}
credits
}
think i can answer that: the script collects its data from EDSM and i'm not sure their values have been updated since the DSS and FSS update. anyway, i don't think a MR body can be much more worth than that. of course if you are the first discoverer (small bonus) and the first mapper (another bonus) and if you scan all the body in the sys (double the value) then the numbers are higher but not so far from that. when i came back from DW2 EDSM was forecasting an explo reward of something less than1,7 bil while i got a little more than 2 bil indeed. (hope i've made myself clear, i tend to cover my poor english with verbosity...)
 
My understanding is that the values we are using are current best estimates. My colleague T'kael is more familiar with that part of the code.
 
Last edited:
It is probably my missunderstanding about planetary values then, thanks for the replies.
The replies above have it about right. We are providing an estimated value based on a player derived formula. And there is also a large increase for scanning terraformable bodies.
 
1st. Love your work have been writing scripts like a madman
2nd. I probably being a little dim, but I cant get shipyard variables working have looked at the github pages 1 says there are variables 1 says there are none for the shipyard event

So I am trying to write a script that pulls data from shipyard event variables and list them for me so i can work out which of my ships is closest etc.

I cant get the {Stored ship n name} etc to give me any info
Any help would be fantastic (even a eye-roll and a link to the really obvious answer)
cheers :)

EDIT: I'm just a bit dim... I can access them from VA as a VA variables (still cant get them to work properly within EDDI though)
You may have already resolved this, but if not then here's my (rather late) response. You need the shipyard variable. Here's an example of it in action:
Code:
{if len(system.systemname) > 0:
    {for shipyardShip in shipyard:
        {if len(shipyardShip.starsystem) > 0:
            {set distance to Distance(shipyardShip.starsystem, system.systemname)}
            {if distance < closestShipDistance:
                {set closestShip to shipyardShip}
                {set closestShipDistance to distance}
            }
        }
    }
    {if len(closestShip.starsystem) > 0:
        Your closest stored ship is your {closestShip.model} {closestShip.name}, located in {closestShip.starsystem}.
    }
}
(note that EDDI is not particularly optimized for this sort of query so it may take a couple of seconds to gather the data needed to respond)
 
Hey.
I do not know much English. Therefore, I use Google. I apologize

I want to ask about the variable "FSD engaged event"

When does it work? After the countdown (4-3-2-1 engage) or before it?

I make my assistant that will also voice default replicas, including the countdown to entering hyper.

So I want to know if there is a way for VA and EDDI to track this moment between the end of FSD charging and the start of counting?
Thanks.
You might use the Ship FSD event for this (in addition to FSD engaged).
 
I made a quick, and very ugly, script to show the value of undescovered planets using https://forums.frontier.co.uk/threads/exploration-value-formulae.232000/ data in order to get a more accurate picture of their value as it contains all the discovery, DSS, efficiency multipliers. So far the values seen to be matching up well.

{_ Context _}
{SetState('eddi_context_last_subject', 'body')}
{SetState('eddi_context_last_action', 'scan')}
{SetState('eddi_context_body_system', system.name)}
{SetState('eddi_context_body_name', event.name)}
{SetState('eddi_context_last_scan_estimated_value', event.estimatedvalue)}

{if event.alreadydiscovered:
{if event.planettype = "Ammonia world":
{Humanise(mul(max(500, add(96932, mul(mul(96932, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|elif event.planettype = "Earth-like world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(181126, mul(mul(181126, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "High metal content world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(110331, mul(mul(110331, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "Metal-rich body":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(115118, mul(mul(115118, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(21790, mul(mul(21790, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(21790, mul(mul(21790, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "Class I gas giant":
{if mul(max(500, add(1656, mul(mul(1656, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(1656, mul(mul(1656, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
|elif event.planettype = "Class II gas giant":
{if mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
|elif event.planettype = "Water world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(181126, mul(mul(181126, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|else:
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(93628, mul(mul(93628, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(300, mul(mul(300, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(300, mul(mul(300, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
}
}
 
I made a quick, and very ugly, script to show the value of undescovered planets using https://forums.frontier.co.uk/threads/exploration-value-formulae.232000/ data in order to get a more accurate picture of their value as it contains all the discovery, DSS, efficiency multipliers. So far the values seen to be matching up well.

{_ Context _}
{SetState('eddi_context_last_subject', 'body')}
{SetState('eddi_context_last_action', 'scan')}
{SetState('eddi_context_body_system', system.name)}
{SetState('eddi_context_body_name', event.name)}
{SetState('eddi_context_last_scan_estimated_value', event.estimatedvalue)}

{if event.alreadydiscovered:
{if event.planettype = "Ammonia world":
{Humanise(mul(max(500, add(96932, mul(mul(96932, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|elif event.planettype = "Earth-like world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(181126, mul(mul(181126, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "High metal content world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(110331, mul(mul(110331, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "Metal-rich body":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(115118, mul(mul(115118, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(21790, mul(mul(21790, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(21790, mul(mul(21790, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|elif event.planettype = "Class I gas giant":
{if mul(max(500, add(1656, mul(mul(1656, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(1656, mul(mul(1656, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
|elif event.planettype = "Class II gas giant":
{if mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(9654, mul(mul(9654, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
|elif event.planettype = "Water world":
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(181126, mul(mul(181126, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(64831, mul(mul(64831, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
|else:
{if event.terraformstate = "Candidate for terraforming" || event.terraformstate = "Terraformed" || event.terraformstate = "Terraforming":
{event.terraformstate}
{event.planettype} scan worth
{Humanise(mul(max(500, add(93628, mul(mul(93628, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
|else:
{if mul(max(500, add(300, mul(mul(300, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005) > 40000:
{event.planettype} scan worth
{Humanise(mul(max(500, add(300, mul(mul(300, 0.56591828), pow(event.earthmass, 0.2)))), 12.0237733005))}
}
}
}
}
Yep, that is the source of our algorithm. :)
 
Thanks to @T'kael for the answer to the shipyard question,
Query re entering no fire zone event, got my script working for orbitals but am missing something for planetary bases are they handled under a different event or different variable name set, thanks again all
 
Thanks to @T'kael for the answer to the shipyard question,
Query re entering no fire zone event, got my script working for orbitals but am missing something for planetary bases are they handled under a different event or different variable name set, thanks again all
I'm not certain that I understand the question, but I just retested and found that the Station no fire zone entered and Station no fire zone exited events are generated from the messages you receive as you enter and exit the fire zone around a planetary port.
 
I'm not certain that I understand the question, but I just retested and found that the Station no fire zone entered and Station no fire zone exited events are generated from the messages you receive as you enter and exit the fire zone around a planetary port.
Thanks T'kael after your comment I had another look and removed/replaced some setstates one of them must have overwritten event.station for planetary bases possibly I miss-handled my use of approaching settlement event in another script all sorted thanks, really enjoying EDDI, I getting so much in game info, and setting myself reminders. appreciate all the effort!
 
I purchased and installed latest Voice Attack v1.8.4 and EDDI v3.5.2 (no other profiles).
==> But Voice Attack takes maybe 3 minutes to launch, before I can run Elite Dangerous. (Ryzen 7 CPU and GTX 1080).
It all works fine, but is the Voice Attack launch delay normal?
 
I purchased and installed latest Voice Attack v1.8.4 and EDDI v3.5.2 (no other profiles).
==> But Voice Attack takes maybe 3 minutes to launch, before I can run Elite Dangerous. (Ryzen 7 CPU and GTX 1080).
It all works fine, but is the Voice Attack launch delay normal?
It shouldn't take that long. I've just upgraded mine to the new latest (it's now 1.8.5) from 1.8.3, and it only takes five seconds to load up (1.8.3 did as well). That's on an old FX9590 with a Samsung SSD.

The first thing I'd try is disabling the EDDI plug-in and see if that makes any difference. If not, then it would seem to be something to do with VA. However, if it starts up in a few seconds, then that would appear to be possibly something EDDI related.
 
Top Bottom