Release EDDI Scripts and EDDI enabled VA Commands Thread

i started working on it for a while now and so im quiet enjoy it so if you willing to share a solution for my script that would be great.Even when Onesky`s Localizations will surely come out earlier then mine.So pls can u enlighten me what im doing wrong it that script.
You're using the wrong keyword. Try testing "{event.ship}" on its own and inspecting the `speechresponder.out` file. You'll see what I mean.
 
Thx as always Tkael.Will do.

Edit:Ok so i was using the wrong ship names to call 'em.Now im gonna go testing it.

And Bingo.....Thank you very much.
Btw is there any documentations how names come out like Type-9.How these "-" carachters been handeld or should i purchase all the ships to get the right out put for each.
 
Last edited:
i started working on it for a while now and so im quiet enjoy it so if you willing to share a solution for my script that would be great.Even when Onesky`s Localizations will surely come out earlier then mine.So pls can u enlighten me what im doing wrong it that script.

You aren't doing anything wrong, but if you can wait just a bit longer we will have a solution where variables like "event.ship" will be in your chosen language and you won't need to write a big script to correct it.

Also the problem how you pronunce some words such as ship names,power names,Engineer names in some language is not a standerd IPA.Is OneSky support that also?

Yes, the solution I am implementing will let you define Hungarian names for those words, which will be passed to your Hungarian Text-To-Speech software. No need to use IPA.

As Engineer names are proper names of people, I'm going to leave that for a later iteration.
 
Thx as always Tkael.Will do.

Edit:Ok so i was using the wrong ship names to call 'em.Now im gonna go testing it.

And Bingo.....Thank you very much.
Btw is there any documentations how names come out like Type-9.How these "-" carachters been handeld or should i purchase all the ships to get the right out put for each.
This is the way that FDev publishes them to the journal. EDDI doesn't do any post-processing to convert them to more human readable names. Or at least, it doesn't yet... ;-)
 
Nice to hear that.Will looking forward to it.Any ETA?of course would be much easier to write {event.item} instead {if event.item = "" : Repeat the lines as much time as for example hom many commodities in the game.
 
Well i have the journal documention 11.8 but cant find these so i had to go founders world and buy/Sell all the ship to get the right output.(only 300million cr went to good purpose).
Is there any updated or laterversion of it and so which section i find that?
Also strange thing is when your selling or storing ship the variables name diffrent when you buying.
 
Well i have the journal documention 11.8 but cant find these so i had to go founders world and buy/Sell all the ship to get the right output.(only 300million cr went to good purpose).
Is there any updated or laterversion of it and so which section i find that?
Also strange thing is when your selling or storing ship the variables name diffrent when you buying.


Latest journal documentation at https://forums.frontier.co.uk/showthread.php/401661-Journal-Documentation-for-v3-0
 
It is still doesnt contans the ship names.
However contains some nice part like 12 Appendix
So thanks anyway.
 
Last edited:
Well i have the journal documention 11.8 but cant find these so i had to go founders world and buy/Sell all the ship to get the right output.(only 300million cr went to good purpose).
Is there any updated or laterversion of it and so which section i find that?
Also strange thing is when your selling or storing ship the variables name diffrent when you buying.
You want the 'symbol' column.
https://github.com/EDCD/FDevIDs/blob/master/shipyard.csv
 
In response to a query in the other thread, I'm posting my 'Body atmosphere' script here. :) You can use my script (or use it for inspiration) if you'd like. Used in a standalone script called 'Body atmosphere', by adding {F('Body atmosphere')} at the appropriate location in your 'Body report' script.
Code:
|elif (reportbody.pressure <= 10 || len(atmo) = 0 || atmo = "" || !reportbody.atmosphere) && !find(reportbody.bodyclass, "giant"):
       {_ Handle bodies with no atmosphere _}
       {Occasionally(4, OneOf("There is no atmosphere.", "It is devoid of any atmosphere.", "The years have scoured it clean of any atmosphere."))}

This is not working for some reason...

It says that landable planets have super thin something something with 0 earth atmospheres.
 
This is not working for some reason...

It says that landable planets have super thin something something with 0 earth atmospheres.

I was having the same issue at times, so I recently refined my call in the 'Body report' script to read as follows:
Code:
    {_Atmosphere }
    {if len(reportbody.atmosphere) > 0:
        {F('Body atmosphere')}
    }
 
Posting a proposed solution to https://forums.frontier.co.uk/showt...kpit-to-life?p=6641020&viewfull=1#post6641020 (untested, though I've implemented other similar module checks successfully before... let me know if it needs further refinement)
1. If you have not already done so, create a customizable copy of the default EDDI personality
2. Create a new function called "Autodock check"
3. Paste in the following code
Code:
{if len(ship.model) > 0:
    {set installed to 0}
    {set enabled to 0}


    {for compartment in ship.compartments:
        {if compartment.module.name = "Standard Docking Computer":
            {set installed to 1}
            {if compartment.module.enabled:
                {set enabled to 1}
            }
        }
    }


    {if installed && enabled:
       {ShipName()} ready for autodock.
    }


    {SetState("autodock_installed", installed)}
    {SetState("autodock_enabled", enabled)}
}
Note that you can either
a. use the SetState variables to set boolean values and vocalize this in VoiceAttack (see https://github.com/EDCD/EDDI/wiki/VoiceAttack-Integration#setstate) or
b. use the if statement to vocalize this in EDDI.
Code:
        {if installed && enabled:
           {ShipName()} ready for autodock.
        }
Just trim out the one you don't want.
4. Locate the 'Docking granted' script and add `{F('Autodock check')}` to the end of that script. It should now execute every time docking is granted. :)
 
hi all!
Again i hit the wall in my localizations so in the Module purchased script i want to call output for {event.sellmodule.name} in speechresponderout it is "Pulse laser"(for test porpuse)
However {if event,sellmodule.name:
{if event.sellmodule.name = "Pulse laser" :
xxxxxxx
|elif event.sellmodule.name = "Multi-Canonn" :
xxxxxxx }}
However ive got empty output.Anyone would be so kind to direct me a right way to call out these module names??
Thx guys.
 
hi all!
Again i hit the wall in my localizations so in the Module purchased script i want to call output for {event.sellmodule.name} in speechresponderout it is "Pulse laser"(for test porpuse)
However {if event,sellmodule.name:
{if event.sellmodule.name = "Pulse laser" :
xxxxxxx
|elif event.sellmodule.name = "Multi-Canonn" :
xxxxxxx }}
However ive got empty output.Anyone would be so kind to direct me a right way to call out these module names??
Thx guys.

ok i used wrong `symbols` again.
sry to bother you guys.
 
I have a dump questions and I don't if it is a script question or not.

I would like to be able to use EDDI to tell voice attack if the Ships lights are on or not

I currently just use a small integer compare and set the flag at the beginning manually and toggle the flag with the lights on and lights off command.

I see EDDI has a {BOOL:Status lights on} in the wiki that says a boolean value indicating whether the vehicle's external lights are active

So how would I use that to se the a boolean value in voice attack then use that as the True/False flag so "Lights on" for instance only turns the lights on if they are off.

My current Voice attack set up is

lights on said:
Begin Small Integer Compare : [LIGHTS] Equals 0
Press L key and hold for 0.1 seconds and release
Pause 0.1 seconds
Set small int (condition) [LIGHTS] value to 1
End Condition

&

lights off said:
Begin Small Integer Compare : [LIGHTS] Equals 1
Press L key and hold for 0.1 seconds and release
Pause 0.1 seconds
Set small int (condition) [LIGHTS] value to 0
End Condition

With Small Integer [LIGHTS] set to 0 in a Ship start up command

Sorry if this is the wrong thread or not actually doable

I have no experience with this and so have been struggling reading wikis to begin with to figure out what a boolean was.


I pictured it as something like

lights off said:
Begin {BOOL : Status lights on} Equals False
Press L key and hold for 0.1 seconds and release
Pause 0.1 seconds
End Condition


And


lights off said:
Begin {BOOL : Status lights on} Equals True
Press L key and hold for 0.1 seconds and release
Pause 0.1 seconds
End Condition


But cannot figure out how to enter that if it even was valid.

Note: spaces added as {BOOL:Status lights on} has a smiley in it

Any help much appreciated

Thanks
 
I have a dump questions and I don't if it is a script question or not.

I would like to be able to use EDDI to tell voice attack if the Ships lights are on or not

I currently just use a small integer compare and set the flag at the beginning manually and toggle the flag with the lights on and lights off command.

I see EDDI has a {BOOL:Status lights on} in the wiki that says a boolean value indicating whether the vehicle's external lights are active

So how would I use that to se the a boolean value in voice attack then use that as the True/False flag so "Lights on" for instance only turns the lights on if they are off.

My current Voice attack set up is



&



With Small Integer [LIGHTS] set to 0 in a Ship start up command

Sorry if this is the wrong thread or not actually doable

I have no experience with this and so have been struggling reading wikis to begin with to figure out what a boolean was.


I pictured it as something like




And





But cannot figure out how to enter that if it even was valid.

Note: spaces added as {BOOL:Status lights on} has a smiley in it

Any help much appreciated

Thanks

I've just re wrote a few of my ship status cmds for the new Ship status variables and I came up with this: for landing gear just change the variables for landing gear, weapons & cargo scoop.

Begin Boolean Compare : [Status lights on] Equals True
Write '[Blue] Lights: {BOOL:Status lights on}' to log
Press L key and hold for 0.1 seconds and release
Say, 'Lights off'
Write '[Green] Lights: {BOOL:Status lights on}' to log
End Condition - Exit when condition met
Begin Boolean Compare : [Status lights on] Equals False
Write '[Blue] Lights: {BOOL:Status lights on}' to log
Press L key and hold for 0.1 seconds and release
Say, 'Lights on'
Write '[Green] Lights: {BOOL:Status lights on}' to log
End Condition

Basically the same script for landing gear, cargo scoop, weapons. Also added into my jump script so that if anything is True it hits the right key to retract before engaging jump engines

Begin Boolean Compare : [Status cargo scoop deployed] Equals True
Write '[Red] Cargo Scoop: {BOOL:Status cargo scoop deployed}' to log
Press Home key and hold for 0.2 seconds and release
Say, 'Retracting cargo scoop' (and wait until it completes)
Write '[Yellow] Cargo Scoop: {BOOL:Status cargo scoop deployed}' to log
End Condition

Hope this helps
 
Here's another example of using the new EDDI status functionality. This is my Hardpoints VA command:

The command name is: [Deploy;Retract] [Hardpoints;Weapons]

Code:
Begin Boolean Compare : [Status docked] Equals False
    Begin Condition : ([Status vehicle] Equals 'Ship' AND [Status landed] Equals False)
        Begin Text Compare : [{LASTSPOKENCMD}] Starts With 'deploy'
            Begin Boolean Compare : [Status hardpoints deployed] Equals False
                Press U key and hold for 0.03 seconds and release
                Set small int (condition) [~i] value to 10
                Start Loop While : ([Status hardpoints deployed] Equals False AND [~i] Is Greater Than 0)
                    Pause 0.2 seconds
                    Set small int (condition) [~i] value as decremented by 1
                End Loop
                Begin Small Integer Compare : [~i] Is Greater Than 0
                    Set Text [Script] to 'Hard points deployed.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                Else
                    Set Text [Script] to 'No response.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                End Condition
            End Condition
        Else If Text Compare : [{LASTSPOKENCMD}] Starts With 'retract'
            Begin Boolean Compare : [Status hardpoints deployed] Equals True
                Press U key and hold for 0.03 seconds and release
                Set small int (condition) [~i] value to 10
                Start Loop While : ([Status hardpoints deployed] Equals True AND [~i] Is Greater Than 0)
                    Pause 0.2 seconds
                    Set small int (condition) [~i] value as decremented by 1
                End Loop
                Begin Small Integer Compare : [~i] Is Greater Than 0
                    Set Text [Script] to 'Hard points retracted.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                Else
                    Set Text [Script] to 'No response.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                End Condition
            End Condition
        End Condition
    Else If Text Compare : [Status vehicle] Equals 'SRV'
        Begin Text Compare : [{LASTSPOKENCMD}] Starts With 'deploy'
            Begin Boolean Compare : [Status srv turret deployed] Equals False
                Press U key and hold for 0.03 seconds and release
                Set small int (condition) [~i] value to 10
                Start Loop While : ([Status srv turret deployed] Equals False AND [~i] Is Greater Than 0)
                    Pause 0.2 seconds
                    Set small int (condition) [~i] value as decremented by 1
                End Loop
                Begin Small Integer Compare : [~i] Is Greater Than 0
                    Set Text [Script] to 'S R V turret deployed.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                Else
                    Set Text [Script] to 'No response.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                End Condition
            End Condition
        Else If Text Compare : [{LASTSPOKENCMD}] Starts With 'retract'
            Begin Boolean Compare : [Status srv turret deployed] Equals True
                Press U key and hold for 0.03 seconds and release
                Set small int (condition) [~i] value to 10
                Start Loop While : ([Status srv turret deployed] Equals True AND [~i] Is Greater Than 0)
                    Pause 0.2 seconds
                    Set small int (condition) [~i] value as decremented by 1
                End Loop
                Begin Small Integer Compare : [~i] Is Greater Than 0
                    Set Text [Script] to 'S R V turret retracted.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                Else
                    Set Text [Script] to 'No response.'
                    Execute external plugin, 'EDDI 3.0.1-b2'
                End Condition
            End Condition
        End Condition
    End Condition
End Condition - Exit when condition met
Set Text [Script] to 'Unable to comply.'
Execute external plugin, 'EDDI 3.0.1-b2'

The command is complex because I also cover the SRV turrets and a HOTAS button being bound. I also provide a notification ('No response') if the hardpoints did not change status.
 
Last edited:
Two questions, but I'll ask the 2nd in it's own post.

1) This pertains to EDDI only. I'm using the stock docking report script save a change to the wait time - mine is set to 25000 to give enough time for the station to finish their speech. However EDDI just can't wait, she [EDDI] talks over the station the second the docking request granted to pad "X" is on screen. I've increased the wait time to 35000 with NO change.

What needs to be reset or changed to make this work again? This is a recent development.

Update: Tkael - (commented on github as well) how correct you are. "re-enabling phonetic speech (which removes speech tags if it's disabled)" was my issue. Somehow at some point in the past month or more back, the "disable phonetic speech" got checkmarked which DOES remove speech tags if it's disabled as it says right next to it!! I don't recall setting it nor having an issue where I would have set it to test. Strange.

I'll chalk it up to a PEBKAC issue.
 
Last edited:
... second question.

also specifically related to EDDI. I'm using the stock script for the Fuel Report. Its become somewhat annoying to hear the fuel status all the time and I thought a good compromise would be a "Tanks are topped off" once when they are at exactly 100% and then nothing until they're down to "X" percent, say, 25 or 20% unless the next jump would leave me stranded in the next system. Something that appears to sort of be in the script already.

I tried to simply remove the sections that related to fetching the current level and reporting same to me and my attempts served only to break it all together. (i.e. I'm doing it wrong)

Any assistance or simply the answer (reworked script) would be appreciated.
 
Back
Top Bottom