Release EDDI 3.3 - Bring your cockpit to life

Hi Guys

Firstly:

I would like to thank VerticalBlank, T'kael, Hoodathunk et al. for hard work in keeping EDDI alive and moving so far forward! Probably would have lost interest in ED if it weren't for you guys- much appreciated.

Secondly

I have searching the EDDI threads until nearly blind :) but cannot find what I am looking for: I saw a thread which details how to use the ship type (shown in the Ship Monitor tab) to enable or disable a script.

Basically, I would like to try to customise things like the [Jumped] response to be tailored to the type of ship I am in (I am a standalone user of EDDI).

Does anyone know where to find this (I'm sure I have seen it somewhere in the multiple EDDI threads)

Thanks in advance!

MP
I've not seen anything based on actual ship type, but I have several personalities that I use in the speech responder that I use to customize for different function based on what I'm doing. I hae one for Trade, Combat, Exploration, Mining, Passenger Missions, Multi Purpose, and the base EDDI personality. If I'm engaged in a particular activity and I get unwanted messaging from EDDI, I check the personality I'm in and verify that it's the one appropriate to what I'm doing and then see if I can modify the personality to better tailor it to the activity.

HTH
 
I've not seen anything based on actual ship type, but I have several personalities that I use in the speech responder that I use to customize for different function based on what I'm doing. I hae one for Trade, Combat, Exploration, Mining, Passenger Missions, Multi Purpose, and the base EDDI personality. If I'm engaged in a particular activity and I get unwanted messaging from EDDI, I check the personality I'm in and verify that it's the one appropriate to what I'm doing and then see if I can modify the personality to better tailor it to the activity.

HTH
Hi GJ51

This was what I was looking for within the [Body scanned] speech response:

Code:
    {if ship.Role.edname = "Exploration" || ship.Role.edname = "Multipurpose":
        {F("Body report")}
I think it uses the role you assign in the Ship Monitor tab. If it does then I don't really need multiple personalities (my Alt is exploration only)

If I can get it to work o_O

MP
 
Hi GJ51

This was what I was looking for within the [Body scanned] speech response:

Code:
    {if ship.Role.edname = "Exploration" || ship.Role.edname = "Multipurpose":
        {F("Body report")}
I think it uses the role you assign in the Ship Monitor tab. If it does then I don't really need multiple personalities (my Alt is exploration only)

If I can get it to work o_O

MP

Ah, yes - I do remember that now that you've pointed it out. I thought that was just an annotation to help the CMDR manage his fleet. I'm not sure what if any impact it has operationally.

Good question.
 
Ah, yes - I do remember that now that you've pointed it out. I thought that was just an annotation to help the CMDR manage his fleet. I'm not sure what if any impact it has operationally.
I think ship role started out as you describe, but when VB, TK & I took the project over, we saw a deeper potential for customizing scripts based on the designated ship role.

Nobody wants to hear (or maybe some do and that's what multi-purpose is for) detailed system/body reports when you're bounty hunting or space trucking. :)
 
I think ship role started out as you describe, but when VB, TK & I took the project over, we saw a deeper potential for customizing scripts based on the designated ship role.

Nobody wants to hear (or maybe some do and that's what multi-purpose is for) detailed system/body reports when you're bounty hunting or space trucking. :)
It's been a long time, but credit where credit is due. JGM was already doing this before we took over (see the Market information updated script from version 2.3.0, for example). We've simply continued to expand on the principle.
 
I think ship role started out as you describe, but when VB, TK & I took the project over, we saw a deeper potential for customizing scripts based on the designated ship role.

Nobody wants to hear (or maybe some do and that's what multi-purpose is for) detailed system/body reports when you're bounty hunting or space trucking. :)
Tested and working as intended. I placed this script into [Landing Gear] speech responder:
Code:
{event.item}
{if ship.Role.edname = "Taxi":
    How marvelous!
|else:
    Landing gear
}
Make sure you have one ship flagged as [Taxi] ;)

MP
 
Its been a long time since I've had this problem. I just got to Jacques Station and docked up. Took 1 mission invite to engineer and now VA & EDDI shut down as soon as I load either. Deleted the Roaming/EDDI folder, restarted EDDI and it crashes again. what have i broke? running the latest EDDI3.4.3 and VA
 
Its been a long time since I've had this problem. I just got to Jacques Station and docked up. Took 1 mission invite to engineer and now VA & EDDI shut down as soon as I load either. Deleted the Roaming/EDDI folder, restarted EDDI and it crashes again. what have i broke? running the latest EDDI3.4.3 and VA
Re-boot then load VA before logging into Elite. What version of VA? Current version is 1.7.8
 
Its been a long time since I've had this problem. I just got to Jacques Station and docked up. Took 1 mission invite to engineer and now VA & EDDI shut down as soon as I load either. Deleted the Roaming/EDDI folder, restarted EDDI and it crashes again. what have i broke? running the latest EDDI3.4.3 and VA
Unclear from the limited info here. Have you tried the troubleshooting steps from the wiki? https://github.com/EDCD/EDDI/blob/master/TROUBLESHOOTING.md#eddi-doesnt-start-or-crashes-on-startup
If the basic troubleshooting steps fail then please open a ticket on Github and share a log file from a session where this occurred.
 
Its been a long time since I've had this problem. I just got to Jacques Station and docked up. Took 1 mission invite to engineer and now VA & EDDI shut down as soon as I load either. Deleted the Roaming/EDDI folder, restarted EDDI and it crashes again. what have i broke? running the latest EDDI3.4.3 and VA
Another thought - if this was truly caused by accepting a mission, it might be easily resolved by just deleting the missionmonitor JSON file in the %APPDATA%\EDDI directory.
 
ok I have just fired up PC and Voice attack and EDDI seem to be running as normal now. Still opened a Github ticket and uploaded 2 eddi.log files of when it crashed. Incase anyone can see if there is something a miss there.

btw using Voice Attack v1.7.8 & EDDI v3.4.3
 
Hello first of thank you for this wonderfull tool.

I got a problem with the repeatingly message "You got limpets but no limpet controler" even if i have 1. Is there any solution to it except making scripts empty and save again. its the limpet check thing cant untrigger it only erase the scrips and save.

k there seems to be a percentage value how mutch limpets to carry in coperison to ship cargo value

Code:
set tenpercent to ship.cargocapacity / 10 - 1}
{if controllers > 0 && limpets = 0:
    Reminder: you have a limpet controller but are not carrying any limpets.
|elif controllers = 0 && limpets > 0:
    You are carrying limpets but no limpet controller.
|elif controllers > 0 && limpets < tenpercent:
    You only have {limpets} {if limpets = 1: limpet |else: limpets} on-board; you might want to consider re-stocking.
}
need help changing i thing first row is like it dosent trigger if i have for example over 70 limpets in a 700 cargo ship?
 
Hello first of thank you for this wonderfull tool.

I got a problem with the repeatingly message "You got limpets but no limpet controler" even if i have 1. Is there any solution to it except making scripts empty and save again. its the limpet check thing cant untrigger it only erase the scrips and save.

k there seems to be a percentage value how mutch limpets to carry in coperison to ship cargo value

Code:
set tenpercent to ship.cargocapacity / 10 - 1}
{if controllers > 0 && limpets = 0:
    Reminder: you have a limpet controller but are not carrying any limpets.
|elif controllers = 0 && limpets > 0:
    You are carrying limpets but no limpet controller.
|elif controllers > 0 && limpets < tenpercent:
    You only have {limpets} {if limpets = 1: limpet |else: limpets} on-board; you might want to consider re-stocking.
}
need help changing i thing first row is like it dosent trigger if i have for example over 70 limpets in a 700 cargo ship?
Well, line 1 is missing an opening curly bracket but that's probably just from the copy / paste.
You're interpretation of the script is essentially correct. You would need to have less than ship.cargocapacity / 10 - 1 limpets on board before you'd here the restock message. Less than 69 in your case I believe.

If you want less limpets before you hit the threshold, you could (for example) change tenpercent to fivepercent and use ship.cargocapacity / 20 - 1
 
T´kael thank you very mutch, im mostly running with 4 limpets on my 704 Cargo Cutter. Those interdicting Annacondas drop nice grade 5´s sometimes.
Do you realy have to it in word, what script language is that, damm i need zeropoint.... or is it a variable and the definiton is over the last one like if i want 4 is like 0.5 %

k tenpercent is a variable im gonna so no need to change i can just ignore it if i know

is it 200 - 1 for 0,5% of total, a my brain hurts help

gonna try
 
ok the value works like you said kind of
but the thing it it dont registers the limpet controler

Code:
{set  controllers to 0}
{for compartment in ship.compartments:
    {if find(compartment.module.name, "Controller") != -1:
        {set controllers to controllers + 1}
    }
}

{set limpets to 0}
{for cargo in inventory:
    {if cargo.edname = "Drones":
        {set limpets to cargo.total}
    }
}

{set tenpercent to ship.cargocapacity / 10 - 1}
{if controllers > 0 && limpets = 0:
    Reminder: you have a limpet controller but are not carrying any limpets.
|elif controllers = 0 && limpets > 0:
    You are carrying limpets but no limpet controller.
|elif controllers > 0 && limpets < tenpercent:
    You only have {limpets} {if limpets = 1: limpet |else: limpets} on-board; you might want to consider re-stocking.
}
so if i set controller manuel to 1

{set controllers to 1} its works so something is wrong with the check script ill try to put it in storage and back mabe some wording "Controller" has changed in patches, mabe i have a module from before the rework of the engeener systen it mabe called like "Controller_old" ... mabe
 
Question, is there a user modifiable area where system names can be tweaked? For instance, I'd like to hear (ex) "Ross one zero one five is in the ...... " vs "Ross one thousand and fifteen is in the middle of a ... "

Or my favorite is when a system name is something like "Luyten 205-128" you'll get "Luyten two hundred and five to one hundred and twenty eight." IMO opinion the dash should be just that "dash" so "Luyten two zero five dash one two eight".

The way it is now does make for some comical narrative in systems when the 411 is being dictated.
 
ok the value works like you said kind of
but the thing it it dont registers the limpet controler

Code:
{set  controllers to 0}
{for compartment in ship.compartments:
    {if find(compartment.module.name, "Controller") != -1:
        {set controllers to controllers + 1}
    }
}

{set limpets to 0}
{for cargo in inventory:
    {if cargo.edname = "Drones":
        {set limpets to cargo.total}
    }
}

{set tenpercent to ship.cargocapacity / 10 - 1}
{if controllers > 0 && limpets = 0:
    Reminder: you have a limpet controller but are not carrying any limpets.
|elif controllers = 0 && limpets > 0:
    You are carrying limpets but no limpet controller.
|elif controllers > 0 && limpets < tenpercent:
    You only have {limpets} {if limpets = 1: limpet |else: limpets} on-board; you might want to consider re-stocking.
}
so if i set controller manuel to 1

{set controllers to 1} its works so something is wrong with the check script ill try to put it in storage and back mabe some wording "Controller" has changed in patches, mabe i have a module from before the rework of the engeener systen it mabe called like "Controller_old" ... mabe
The scripting language is called Cottle. The base functions are documented here and custom functions are described by the Help button documentation accessible from the script editor window.

Are you using EDDI in a language other than English? If so, the variable compartment.module.name will have a translated value for your selected language. In that case, you can either change "Controller" to match your selected language or use compartment.module.invariantName to match against the English name for the module.
 
Question, is there a user modifiable area where system names can be tweaked? For instance, I'd like to hear (ex) "Ross one zero one five is in the ...... " vs "Ross one thousand and fifteen is in the middle of a ... "

Or my favorite is when a system name is something like "Luyten 205-128" you'll get "Luyten two hundred and five to one hundred and twenty eight." IMO opinion the dash should be just that "dash" so "Luyten two zero five dash one two eight".

The way it is now does make for some comical narrative in systems when the 411 is being dictated.
There is no official area for this specifically but you can modify scripts to handle these as needed and you'll find the P() function particularly useful for this purpose. e.g.
Code:
{if state.eddi_context_system_name = "Luyten 205-128":
    Luyten {P(205)} dash {P(128)}
|else:
    {P(state.eddi_context_system_name)}
}
As for things like "411", that's something to do with the particular voice that you've chosen to use. With the complete system name, we could probably handle it as a special case. Otherwise, you're just going to have to handle it locally. Perhaps using the Spacialise() function?
 
Last edited:
The scripting language is called Cottle. The base functions are documented here and custom functions are described by the Help button documentation accessible from the script editor window.

Are you using EDDI in a language other than English? If so, the variable compartment.module.name will have a translated value for your selected language. In that case, you can either change "Controller" to match your selected language or use compartment.module.invariantName to match against the English name for the module.
Ill use the game and EDDI in English, does EDDI get the ship data from the Journal?
Oh i see something like modulsinfo.json gonna have a look

Or where is the Controller value from? Gonna read the documents a bit to get better knownlage.

EDIT: Seems like an pre Engeneering Rework Module has another Name Value

Thank you for the info great Project you have
 
Last edited:
Ill use the game and EDDI in English, does EDDI get the ship data from the Journal?
Oh i see something like modulsinfo.json gonna have a look

Or where is the Controller value from? Gonna read the documents a bit to get better knownlage.

Thank you for the info great Project you have
The journal will report a value like Int_DroneControl_Collection_Size3_Class2, which we convert to something like Collector Limpet Controller for English and to an equivalent string for other languages.
 
Top Bottom