Release EDDI - Windows app for immersion and more

Status
Thread Closed: Not open for further replies.
Thanks. Got it.

in the interdiction event, if the interdictor is an NPC will interdiction.interdictor be null or the NPC name?
 
I'm unsure what the issue here is. Please could you provide a template that shows the issue?

As requested:
Code:
{if state.stationtype = "Coriolis Starport" || state.stationtype = "Orbis Starport" || state.stationtype = "Ocellus Starport" || state.stationtype = "Unknown Starport":


  {OneOf("Our", "The", "Our assigned", "The assigned", "")}    
    Landing pad {state.landingpad} is at


    {if state.landingpad = 1:
        six o'clock near
    |elif state.landingpad = 2:
        six o'clock near
    |elif state.landingpad = 3:
        six o'clock far
    |elif state.landingpad = 4:
        six o'clock far
    |elif state.landingpad = 5:
        seven o'clock near
    |elif state.landingpad = 6:
        seven o'clock near
    |elif state.landingpad = 7:
        seven o'clock far
    |elif state.landingpad = 8:
        seven o'clock far
    |elif state.landingpad = 9:
        eight o'clock near
    |elif state.landingpad = 10:
        eight o'clock far
    |elif state.landingpad = 11:
        nine o'clock near
    |elif state.landingpad = 12:
        nine o'clock near
    |elif state.landingpad = 13:
        nine o'clock mid
    |elif state.landingpad = 14:
        nine o'clock far
    |elif state.landingpad = 15:
        nine o'clock far
    |elif state.landingpad = 16:
        ten o'clock near
    |elif state.landingpad = 17:
        ten o'clock near
    |elif state.landingpad = 18:
        ten o'clock far
    |elif state.landingpad = 19:
        ten o'clock far
    |elif state.landingpad = 20:
        eleven o'clock near
    |elif state.landingpad = 21:
        eleven o'clock near
    |elif state.landingpad = 22:
        eleven o'clock far
    |elif state.landingpad = 23:
        eleven o'clock far
    |elif state.landingpad = 24:
        twelve o'clock near
    |elif state.landingpad = 25:
        twelve o'clock far
    |elif state.landingpad = 26:
        one o'clock near
    |elif state.landingpad = 27:
        one o'clock near
    |elif state.landingpad = 28:
        one o'clock mid
    |elif state.landingpad = 29:
        one o'clock far
    |elif state.landingpad = 30:
        one o'clock far
    |elif state.landingpad = 31:
        two o'clock near
    |elif state.landingpad = 32:
        two o'clock near
    |elif state.landingpad = 33:
        two o'clock far
    |elif state.landingpad = 34:
        two o'clock far
    |elif state.landingpad = 35:
        three o'clock near
    |elif state.landingpad = 36:
        three o'clock near
    |elif state.landingpad = 37:
        three o'clock mid
    |elif state.landingpad = 38:
        three o'clock far
    |elif state.landingpad = 39:
        four o'clock near
    |elif state.landingpad = 40:
        four o'clock far
    |elif state.landingpad = 41:
        five o'clock near
    |elif state.landingpad = 42:
        five o'clock near
    |elif state.landingpad = 43:
        five o'clock mid
    |elif state.landingpad = 44:
        five o'clock far
    |elif state.landingpad = 45:
        five o'clock far
    }
    , as you enter with the green lights on your right.


  {if state.landingpad = 1, 2, 5, 6, 9, 11, 12, 16, 17, 20, 21, 24, 26, 27, 31, 32, 35, 36, 38, 39, 41, 42:
   {OneOf("Watch your speed.", "Approach slowly.", "Slow on approach.", "Slow your approach.")}
  }


|else:


  {OneOf("Our", "The", "Our assigned", "The assigned", "")}    
    Landing pad is 
    {OneOf("number", "pad")}
    {state.landingpad}


}
 
Trying to get Fines incurred or Bounty ( been trying both ) to tell me if I have fines before leaving the dock, no luck so far.

My "Taking command" script , which is run when I first start ED , resets VA check systems etc, which the below Script ((Quick ship status)) is apart of.
The cargo bit works fine, it's just the fines/bounty can't get any information out of.

Have a "Launch" command, my goal is for that script to 'end' , before leaving the dock if there's fines, maybe taken to the 'pay the fine screen'.

((Quick ship status))
Execute external plugin, 'EDDI 2.0.13' and wait for return
Begin Text Compare : {TXT:EDDI fine incurred faction} Has Been Set
Set Text [script] to 'You have been fined by {TXT:EDDI fine incurred faction} for the crime of {TXT:EDDI fine incurred crimetype} against {TXT:EDDI fine incurred victim}.'
Execute external plugin, 'EDDI 2.0.13' and wait for return
End Condition
Say, 'Checking [internal bays' or 'the ship holds]' (and wait until it completes)
Pause 1 second
Begin Integer Compare : [Ship cargo capacity] Equals [Ship cargo carried]
Set Text [script] to 'You are using all of the {INT:Ship cargo capacity} tonnes of cargo space.'
Else If Integer Compare : [Ship cargo carried] Equals 0
Set Text [script] to 'You are not using any of the {INT:Ship cargo capacity} tonnes of cargo space.'
Else
Set Text [script] to 'You are using {INT:Ship cargo carried} of the {INT:Ship cargo capacity} tonnes of cargo space.'
End Condition
Execute external plugin, 'EDDI 2.0.13' and wait for return
Set Text [script] to [Not Set]
Say, 'Commander, the {TXT:Ship model (spoken)}, [is fit for space flight' or 'has checked out' or 'is good to go]' (and wait until it completes)
Play random sound (3 items - suppress repeats)
((EDDI fine incurred)) doodling tying new stuf
Begin Text Compare : [{TXT:EDDI fine incurred crimetype}] Has Not Been Set
Begin Text Compare : [{TXT:EDDI fine incurred faction}] Has Not Been Set
Begin Text Compare : [{TXT:EDDI fine incurred victim}] Has Not Been Set
Set Text [crimetype] to 'None'
Set Text [faction] to 'None'
Set Text [victim] to 'None'
Else
Set Text [crimetype] to [{TXT:EDDI fine incurred crimetype}]
Set Text [faction] to [{TXT:EDDI fine incurred faction}]
Set Text [victim] to [{TXT:EDDI fine incurred victim}]
Say, 'You have been fined by {TXT:EDDI fine incurred faction} for the crime of {TXT:EDDI fine incurred crimetype} against {TXT:EDDI fine incurred victim}.'
End Condition
End Condition
End Condition
Pause 1 second
Append, 'FINE INCURRED:
 
Last edited:
I'm unsure what the issue here is. Please could you provide a template that shows the issue?

I tried Tkael's code and it appears to be a real issue.

His 'stationtype' and 'landingpad' state variables are not updated until the completion of the 'Docking granted' speech responder script.

When 'Pad location' is called from within the 'Docking granted' script, the 'stationtype' and 'landingpad' state variables are not yet set. If I call 'Pad location' from VA (after docking granted), the variables are (by then) properly set and the 'Pad location' speech responder script behaves as expected and gives the correct pad location.

If I cancel & re-request docking and the new pad location is different from previously assigned, the 'Docking granted' speech responder script gives the pad location from the previous docking request. Again, calling 'Pad location' from VA gives the proper pad location... apparently because the 'Docking granted' script has completed and state variables have been updated.

Canceling and re-requesting docking repeatedly consistently reproduces the pad location error.
 
Last edited:
As requested:

Okay, so the issue is that state variables aren't added to the state of the current template when SetState() is called. I've tweaked the code to do this, but I can't guarantee that it will work due to the way that Cottle handles rendering internally. My own testing suggests that it does work, but I haven't tested all possibilities.
 
Trying to get Fines incurred or Bounty ( been trying both ) to tell me if I have fines before leaving the dock, no luck so far.

My "Taking command" script , which is run when I first start ED , resets VA check systems etc, which the below Script ((Quick ship status)) is apart of.
The cargo bit works fine, it's just the fines/bounty can't get any information out of.

Have a "Launch" command, my goal is for that script to 'end' , before leaving the dock if there's fines, maybe taken to the 'pay the fine screen'.

((Quick ship status))
Execute external plugin, 'EDDI 2.0.13' and wait for return
Begin Text Compare : {TXT:EDDI fine incurred faction} Has Been Set
Set Text [script] to 'You have been fined by {TXT:EDDI fine incurred faction} for the crime of {TXT:EDDI fine incurred crimetype} against {TXT:EDDI fine incurred victim}.'
Execute external plugin, 'EDDI 2.0.13' and wait for return
End Condition
Say, 'Checking [internal bays' or 'the ship holds]' (and wait until it completes)
Pause 1 second
Begin Integer Compare : [Ship cargo capacity] Equals [Ship cargo carried]
Set Text [script] to 'You are using all of the {INT:Ship cargo capacity} tonnes of cargo space.'
Else If Integer Compare : [Ship cargo carried] Equals 0
Set Text [script] to 'You are not using any of the {INT:Ship cargo capacity} tonnes of cargo space.'
Else
Set Text [script] to 'You are using {INT:Ship cargo carried} of the {INT:Ship cargo capacity} tonnes of cargo space.'
End Condition
Execute external plugin, 'EDDI 2.0.13' and wait for return
Set Text [script] to [Not Set]
Say, 'Commander, the {TXT:Ship model (spoken)}, [is fit for space flight' or 'has checked out' or 'is good to go]' (and wait until it completes)
Play random sound (3 items - suppress repeats)
((EDDI fine incurred)) doodling tying new stuf
Begin Text Compare : [{TXT:EDDI fine incurred crimetype}] Has Not Been Set
Begin Text Compare : [{TXT:EDDI fine incurred faction}] Has Not Been Set
Begin Text Compare : [{TXT:EDDI fine incurred victim}] Has Not Been Set
Set Text [crimetype] to 'None'
Set Text [faction] to 'None'
Set Text [victim] to 'None'
Else
Set Text [crimetype] to [{TXT:EDDI fine incurred crimetype}]
Set Text [faction] to [{TXT:EDDI fine incurred faction}]
Set Text [victim] to [{TXT:EDDI fine incurred victim}]
Say, 'You have been fined by {TXT:EDDI fine incurred faction} for the crime of {TXT:EDDI fine incurred crimetype} against {TXT:EDDI fine incurred victim}.'
End Condition
End Condition
End Condition
Pause 1 second
Append, 'FINE INCURRED:


There are a couple of issues. On a technical basis, you shouldn't use any EDDI event variables outside of their specific triggered commands, because there's no guarantee that they will be present or accurate. So you should grab whatever information you want in ((EDDI fine incurred)) and store it somewhere else.

However, the bigger problem will be linking faction information of fines to faction information in stations. The docked event does have a station faction, but you'd need to keep track of all of the individual fines that you have and compare the factions of the fines against the station faction. To make things even harder, when you pay off a fine there is no information provided about which faction you have paid the fine for, so EDDI won't ever know if a fine has been cleared. I'm doubtful that this can be accomplished with the information provided to us at current.
 
I think my question got forgotten about, which is completely understandable. If the interdictor is an NPC, will interdiction.interdictor be null or the NPC name? The reason I ask this is because there is an iscommander property of the interdiction object.
 
I think my question got forgotten about, which is completely understandable. If the interdictor is an NPC, will interdiction.interdictor be null or the NPC name? The reason I ask this is because there is an iscommander property of the interdiction object.

It will be the NPC name.
 
There are a couple of issues. On a technical basis, you shouldn't use any EDDI event variables outside of their specific triggered commands, because there's no guarantee that they will be present or accurate. So you should grab whatever information you want in ((EDDI fine incurred)) and store it somewhere else.

However, the bigger problem will be linking faction information of fines to faction information in stations. The docked event does have a station faction, but you'd need to keep track of all of the individual fines that you have and compare the factions of the fines against the station faction. To make things even harder, when you pay off a fine there is no information provided about which faction you have paid the fine for, so EDDI won't ever know if a fine has been cleared. I'm doubtful that this can be accomplished with the information provided to us at current.


luv the way jgm :D you assume I understand all that technical coding stuff, you lost me on

'technical basis, you shouldn't use any EDDI event variables outside of their specific triggered commands,'.. was that in lesson 101 of EDDI coding , I missed that.:eek:

What I do get, is I see heaps of ' Fueling scripts , docking , etc , but there are ZERO bounty ones, that must be because of the 'bigger problem'

But I'm still left with these two questions , given my goal for my Launch script to 'end' before leaving the dock if there's fines (maybe taken to the 'pay the fine screen).

Can it be done ?

How can it be done ?
 
Last edited:
jgm,
Request idea.
Since EDDI is a standalone app now it makes sense that if a newer version of the EDDI is found you can open the app and upload/install from there now? Theoretically you could even set it as a voice command.
Just thinking it takes a few steps out of the users hands and makes it automated.
 
Question / request:
When switching ships, would it be possible to check for a fighter bay (or ship type) and thereafter check if any crew is assigned?
So to have it say: 'Remember to set your crew to active duty' or something like that?
 
Please, that would be amazing. Also maybe a brief changelog?

jgm,
Request idea.
Since EDDI is a standalone app now it makes sense that if a newer version of the EDDI is found you can open the app and upload/install from there now? Theoretically you could even set it as a voice command.
Just thinking it takes a few steps out of the users hands and makes it automated.
 
luv the way jgm :D you assume I understand all that technical coding stuff, you lost me on

'technical basis, you shouldn't use any EDDI event variables outside of their specific triggered commands,'.. was that in lesson 101 of EDDI coding , I missed that.:eek:

What I do get, is I see heaps of ' Fueling scripts , docking , etc , but there are ZERO bounty ones, that must be because of the 'bigger problem'

But I'm still left with these two questions , given my goal for my Launch script to 'end' before leaving the dock if there's fines (maybe taken to the 'pay the fine screen).

Can it be done ?

How can it be done ?

Short version then is no, I'm afraid.

There is an outstanding bug chasing FD for existing fine/bounty information on startup, and better tracking of the information as it changes. If it is addressed then this would become possible.
 
jgm,
Request idea.
Since EDDI is a standalone app now it makes sense that if a newer version of the EDDI is found you can open the app and upload/install from there now? Theoretically you could even set it as a voice command.
Just thinking it takes a few steps out of the users hands and makes it automated.

I actually have the code to do this, but EDDI isn't always standalone. If it is started through VoiceAttack it causes problems. I need to talk to the VoiceAttack devs to see of there are any ways around this.
 
Question / request:
When switching ships, would it be possible to check for a fighter bay (or ship type) and thereafter check if any crew is assigned?
So to have it say: 'Remember to set your crew to active duty' or something like that?

You could write something that checked if the old ship didn't have a fighter bay and the new one did, and warn in that situation. It would need to go in the 'Ship swapped' event.
 
You could write something that checked if the old ship didn't have a fighter bay and the new one did, and warn in that situation. It would need to go in the 'Ship swapped' event.

I don't have any experince with scripting, but i'll try. Any hint on where to find examples of similar checks?
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom