Release EDDI 3.3 - Bring your cockpit to life

On the voice responder, when I use a script that uses MaterialDetails with a second argument
e.g.

{_ Find the list of materials that are below the desired level }
{for material in materials:
{if material.desired && material.amount < material.desired:
{set details to MaterialDetails(material.material, system.systemname)}
{if details.bodyname:
You need some {material.material}. This can be found on {if details.bodyname != details.bodyshortname: body} {details.bodyshortname}.
}
}
}

Sometimes it reports "Error with script. Object reference not set to an instance of an object" and sometimes it mentions bodies that are not in the system, but I think they were in a previous search.

I have checked that material.material and system.systemname are both strings.

If I run it again, but with only one parameter in MaterialDetails call then it works and reports from the system I specified the first time.

What am I doing wrong?
 
Yup. Does the same on versions b2, b3 and b4.
If it's a library problem, is there any way I can download and install the relevant ones?
We're accessing a UWP library which you probably wouldn't be able to make work with Windows 7. I think my best bet is still to look for a way to bypass it for you.

Would you please try one more time with version 4.0.1-b4, but before you do please unzip these files into you installation directory? Doing this should produce an exception message with greater slightly detail. Then DM me the resulting exception message?
 
On the voice responder, when I use a script that uses MaterialDetails with a second argument
e.g.

{_ Find the list of materials that are below the desired level }
{for material in materials:
{if material.desired && material.amount < material.desired:
{set details to MaterialDetails(material.material, system.systemname)}
{if details.bodyname:
You need some {material.material}. This can be found on {if details.bodyname != details.bodyshortname: body} {details.bodyshortname}.
}
}
}

Sometimes it reports "Error with script. Object reference not set to an instance of an object" and sometimes it mentions bodies that are not in the system, but I think they were in a previous search.

I have checked that material.material and system.systemname are both strings.

If I run it again, but with only one parameter in MaterialDetails call then it works and reports from the system I specified the first time.

What am I doing wrong?
Essentially what is happening is that you're looking for materials which do not exist on any of the bodies in the system (including Data materials and Manufactured materials) and we're not handling the null returns as well as we should. I'll make some tweaks to improve the null handling.
 
can i request a feature from the creators if it is possible ? When we are done finish scanning all biological signals in a planet is it possible to get an announcement that all biological signals have been scanned?
 
can i request a feature from the creators if it is possible ? When we are done finish scanning all biological signals in a planet is it possible to get an announcement that all biological signals have been scanned?
Do you mean with respect to Horizons biological locations or to Odyssey biological species?
Please feel free to enter your suggestion here.
o7
 
I have problems with the System State Report script:

i don't fully understand how the last part ({_ Prepare summaries for each state _}) works but seems to me that the whole "if" needs to be localized or use an "invariantname", or the only part working is the last "else" line, am i right?
There's an "invariant" version of that "state"? (also, i'd change that var name is somewhat like "factionState" just to avoid confusion).
 
I have problems with the System State Report script:

i don't fully understand how the last part ({_ Prepare summaries for each state _}) works but seems to me that the whole "if" needs to be localized or use an "invariantname", or the only part working is the last "else" line, am i right?
There's an "invariant" version of that "state"? (also, i'd change that var name is somewhat like "factionState" just to avoid confusion).
Try changing the following:
  • line 71: {if has(otherstates, presence.FactionState.invariantName):
  • line 72: {set factions to otherstates[presence.FactionState.invariantName])}
  • line 73: {set otherstates to union(otherstates, [presence.FactionState.invariantName: factions])}
  • line 75: {set otherstates to union(otherstates, [presence.FactionState.invariantName: P(faction.name, "faction")])}
  • line 134: in a state of {StateDetails(state).localizedName}

That should feed invariant names into {_ Prepare summaries for each state _} and then use a localized name for the |else catch-all.

I'll make the change official for the default personality on a future update.
 
Last edited:
So, after an extraordinarily long time (over a year now) I've finally got around to releasing a new version of my EDDI and VA profiles. There are a LOT updates made since I last posted them, so be sure to check out the change logs. I would normally post the latest changes here, but it's too much for a forum post.

I was going to post a version earlier in the year, but then decided to wait for Odyssey to come out. Now that a lot of it has been updated for Odyssey, I can finally release it. :)

I've tested it all as thoroughly as I can, but if you find anything wrong at all, please let me know and I'll see if I can fix it as soon as possible.

Download it here: https://forums.frontier.co.uk/attachments/darkcydes-defaults-11-09-21-zip.262024/
 
Top Bottom