Release EDDI Scripts and EDDI enabled VA Commands Thread

Next step will be to target a breakable rock on a planet and get EDDI to tell us its composition before shooting at it. :p
 
Hi,

I would like to ask for your help. I want to modify the Entered normal space event. I want to disable the report during Interdicted event. Is there a tricky way in the script to do that?

Thanks in advance!
 
Hi,

I would like to ask for your help. I want to modify the Entered normal space event. I want to disable the report during Interdicted event. Is there a tricky way in the script to do that?

Thanks in advance!

While I've not tried this, I've just had a quick thought about a solution to this question. (I'm out doing my 5000LY trip for Prof. Palin at the moment).

In theory, you should be able to set a State variable in the interdiction event, say for example {SetState('eddi_context_interdicted', 'yes')}, then in the Entered Normal Space event, put the whole thing inside an IF statement, like this:-

Code:
{if state.eddi_context_interdicted != "yes":

   {Pause(5000)}

   {Occasionally(2,"{ShipName()} has")}
   {OneOf("left supercruise", "{OneOf('entered','returned to','dropped to')} normal space")}

   {if event.bodytype != null:
      {OneOf("near", "near to", "close to", "in the vicinity of")}

      {if event.bodytype = "Planet":
         planet {P(event.body)}
      |elif event.bodytype = "Star":
         star {P(event.body)}
      |elif event.bodytype = "Station":
         {P(event.body)}
      |elif event.bodytype = "PlanetaryRing":
         Planetary Ring {P(token(event.body," Ring",0))}
      }
   }.

}

{SetState('eddi_context_interdicted', 'no')}

This, in theory, should work and do what you need. Note that I set the State to 'no' at the end so that when you enter normal space normally, it should fire the script as usual. (This is my version of the Entered Normal Space script which adds dropping near planetary rings)

I say 'in theory' as I've not tried it, it's just something I quickly came up with in my head as a solution. Hope it works for you! :)

EDIT: I've now added this to my personality in EDDI. Thanks for the idea! :) As there is no default script for 'Ship Interdicted', I thought I'd share mine with you. It now includes the SetState line I mentioned above:-

Code:
{Pause(1000)}

{if event.submitted:
   You have submitted to the interdiction
|elif event.succeeded:
   Evasion failed, systems have been damaged.
   You have been interdicted
   {SetState('eddi_context_interdicted', 'yes')}
}

{set shiptype to event.interdictor}
{F("TargetType")}

{if !event.succeeded:
  Interdiction {OneOf("evasion successful","successfully evaded")}
|else:
   by {shiptype}

   {if event.iscommander:
      This is a human player, of {event.rating} rating!
   |else:
      , a {event.rating} {OneOf("pilot", "ship", "vessel")}
   }

   {if event.faction = null:
      who {OneOf("is unaligned","has no allegiance")}
   |else:
      {Occasionally(2,"who is")} aligned with {P(event.faction)},
   }

   {if event.power = "Indpendent":
      {Occasionally(2,"and is a member of the Alliance")}
   |elif event.power = "Pirate":
      and is a free-booter of the Pirate Clans
   |elif event.power = "Empire":
      {Occasionally(2,"and is a servitor of the Empire")}
   |elif event.power = "Federation":
      {Occasionally(2,"and is a recruit of the Federation")}
   }
}
.

EDIT 2: Of course, I've just thought, this all depends on which event gets fired first, Interdiction or Entered Normal Space. If it's ENS first, this won't work. [blah]
 
Last edited:
Hi, Darkcyde!

you can prepare a bottle a champagne cautiously. Tried your suggestion, had 2 interdicted events till now, it worked in booth cases! If this is simple like this, you've opened up doors for lots of possibilities [smile]! Like if I was rewarded with a bounty, it can remind me on the station to check in to authority contact, for example. And lots of other stuff!

By the way, I use a few of your scripts, thanks for sharing them!

I had an idea, when I saw, that at a station the presence of the black market can be checked. Is it possible for the Interstellar Factors Contact too?

Best regards!
 
Hi, Darkcyde!

you can prepare a bottle a champagne cautiously. Tried your suggestion, had 2 interdicted events till now, it worked in booth cases! If this is simple like this, you've opened up doors for lots of possibilities [smile]! Like if I was rewarded with a bounty, it can remind me on the station to check in to authority contact, for example. And lots of other stuff!

By the way, I use a few of your scripts, thanks for sharing them!

I had an idea, when I saw, that at a station the presence of the black market can be checked. Is it possible for the Interstellar Factors Contact too?

Best regards!

Hi Brigetiol1,

I'm glad that it seems to be working. I believe that part of the reason State variables were introduced into EDDI was for things like this, although I think the main reason was for VoiceAttack commands.

You should be able to use a similar method to remind you of bounties, but it will be a little less robust as there is no way to tell (yet) if you have actually collected bounties or bonds (I believe these are coming in the next version). You can set a State variable when you earn a bounty or bond in those event scripts. Then in the docked event have a check to see if that variable is set, and if it is, say the reminder. You will need to unset the variable when this is done, even if you don't collect the credits, because you don't want the reminder being said every time you dock.

You will only get the reminder once this way, but when events are added in EDDI for the collection of bonds and bounties, then you can unset the State variable in those instead. Then it will keep reminding you until they are actually collected.

You can always extend this functionality into paying fines and bounties when you get those on your head for criminal activities. Just remember that State variables are not remembered between sessions, so if you close EDDI, they will be forgotten.

Hmm... now I think I'll go off and write something for this! A function maybe?... :D

As for the Interstellar Factors, I don't believe there is a check for this in EDDI like there is for a Black Market. I've had a quick look over the StationDetails variable options and there is nothing for I.F. This may be something you can ask the author of EDDI to consider for a future update.

-=] Darkcyde [=-
 
Hi,

Good news No.1: after several interdicted events, things still work fine.
Good news No.2: based on your first description about SetState, I tried to make the reminder about the bounty, and it works too! The reminder goes in the Docked event, I put the "reset" to the Undocked and Jumped event. While the presence of I.F. is not available in the Log, I have a bookmarked station. Once a week I can visit it. And I can train my Jedi senses to identify stations with I.F. with the power of the Force![smile]

A reminder function is a great idea!

Best regards!
 
Ok, so I've written a function to handle reminders for Bonds, Fines, and Bounties (both earned and incurred). This does need a little set up in other events though.

Create a new script and call it 'ContactsCheck'. Paste this into it:-

Code:
{_ ContactsCheck}
{_ Function to report Bonds/Bounties or Fines/Bounties to collect or pay}

{set bounty to state.eddi_context_bountyawarded}
{set bond to state.eddi_context_bondawarded}
{set fine to state.eddi_context_fineincurred}
{set bountyincurred to state.eddi_context_bountyincurred}

{if bounty = 1 || bond = 1:
   Reminder: You have uncollected
   {if bounty = 1: bounties}
   {if bond = 1:
      {if bounty = 1: and}
      bonds
   }
   to claim.
}

{if fine = 1 || bountyincurred = 1:
   {if bounty = 1 || bond = 1:
      You also
   |else:
      Reminder: You
   }
   have unpaid
   {if fine = 1: fines}
   {if bountyincurred = 1:
      {if fine = 1: and}
      bounties
   }
   to pay.
}

{SetState('eddi_context_bountyawarded', 0)}
{SetState('eddi_context_bondawarded', 0)}
{SetState('eddi_context_bountyincurred', 0)}

Now comes the set up. In the following events, add the following lines:-

Commander Started
This is for the rare occasions where a new commander is started during a session, and the old commander had bounties/bonds/fines.
Code:
{SetState('eddi_context_bountyawarded', 0)}
{SetState('eddi_context_bondawarded', 0)}
{SetState('eddi_context_fineincurred', 0)}
{SetState('eddi_context_bountyincurred', 0)}

Bond Awarded
Code:
{SetState('eddi_context_bondawarded', 1)}

Bounty Awarded
Code:
{SetState('eddi_context_bountyawarded', 1)}

Bounty Incurred
Code:
{SetState('eddi_context_bountyincurred', 1)}

Fine Incurred
Code:
{SetState('eddi_context_fineincurred', 1)}

Fine Paid
Code:
{SetState('eddi_context_fineincurred', 0)}


Now, to use the new function, you need to update the Docked and Undocked events.

Undocked
Based on the default script, after this line {OneOf("Full control re-established", "Docking clamps free", "Disengaged from local networks")}. replace everything with the following:-
Code:
{set limpetcheck to F("Limpet check")}
{set contactscheck to F("ContactsCheck")}

{if limpetcheck || contactscheck:
    {Pause(5000)}
    {limpetcheck}
    {contactscheck}
}

Docked
Add the following to the end:-
Code:
{Pause(1000)}
{F("ContactsCheck")}


With all that, you should now get reminders when you dock. As Fine Paid has it's own event, you will get reminded of fines when you undock too if you haven't paid them yet. When EDDI has events for collecting Bonds and Bounties, it will be a small update to compensate for those.

Again, I've not tested these in game, only manually within EDDI, but they should work ok. :)

-=] Darkcyde [=-

EDIT:
I've just realised the problem with all this. Some Commanders (myself included) sometimes don't bother with collecting or paying small bounties when we are travelling around the bubble, simply because it's too much trouble to dock and collect/pay when we are probably never going back there. We will still be reminded the next time we dock, and fines will be constantly reminded until we close EDDI. Although, I guess that it's not TOO much of a problem considering reminders will get wiped when EDDI is closed.
 
Last edited:
If people could realize ideas with only 10% of your speed... spaceflight would be an everyday thing, and I could teleport to you to open the champagne! Cheers!
 
If people could realize ideas with only 10% of your speed... spaceflight would be an everyday thing, and I could teleport to you to open the champagne! Cheers!

I just love programming problems like this. I really enjoy coming up with an efficient and comprehensive solution. Cottle isn't particularly difficult, so programming in it is easy, but at the same time it's simplicity can make certain things a bit harder to accomplish. I've probably spent more time in EDDI recently, than actually playing Elite!

My only problem is that real life gets in the way. So if I'm not working or sleeping (or actually playing!) I'm probably tinkering with my scripts in EDDI.

If you have any other ideas, I'd be happy to attempt a solution. :)
 
No longer playing as there's NO off ship storage ( so waiting for that) , plus the work involved in getting VA up and running with EDDI and the new Astra, fills me with dread

so @Darkcyde can you add the above , too here http://snafets.de/elite/eddi_scripts/index.php

so one day I can find it and use it ... cheers , and you never know by then, a better system for importing VA profiles with the sub commands will appear., while I'm unloading my cargo to my storage container on my BASE !!!..........yep I'm dreaming
 
Last edited:
I just love programming problems like this. I really enjoy coming up with an efficient and comprehensive solution. Cottle isn't particularly difficult, so programming in it is easy, but at the same time it's simplicity can make certain things a bit harder to accomplish. I've probably spent more time in EDDI recently, than actually playing Elite!

My only problem is that real life gets in the way. So if I'm not working or sleeping (or actually playing!) I'm probably tinkering with my scripts in EDDI.

If you have any other ideas, I'd be happy to attempt a solution. :)

Your like me in a way, I dont know programming but I do like tinkering using VA scripting to get better Voice attack interaction with EDDI and to get data displaying (number of kills, bounties, system scans etc etc) on my Twitch stream overlays
 
No longer playing as there's NO off ship storage ( so waiting for that) , plus the work involved in getting VA up and running with EDDI and the new Astra, fills me with dread

so @Darkcyde can you add the above , too here http://snafets.de/elite/eddi_scripts/index.php

so one day I can find it and use it ... cheers , and you never know by then, a better system for importing VA profiles with the sub commands will appear., while I'm unloading my cargo to my storage container on my BASE !!!..........yep I'm dreaming

Yeah, I'll upload this soon. I intend to overhaul all my scripts when the new version of EDDI comes out (probably when patch 2.3 goes live) as there is so much new and changed in it. Once I have everything working again, I'll upload to that site again. :)

-=] Darkcyde [=-
 
Edit...I eventually found the instructions, I'll try it tomorrow ;)


Greetings all, I'm very new to EDDI, I " discovered " it whilst using VA , I love it for the immersion and really useful information it provides. I stumbled across a personality called Jess,

http://snafets.de/elite/eddi_scripts/index.php?download=14

apparently very sassy and forthright, just my kinda gal :) I did try to install it, but got script errors , that's probably more down to me than the script.

I haven't been able to find an easy instruction for installing these personalities.

If someone could point me in the right direction in as simple terms as possible it would be greatly appreciated, or links to the instructions. I can follow instructions , I am however 30 years behind in scripting . [yesnod]
 
Last edited:
Edit...I eventually found the instructions, I'll try it tomorrow ;)


Greetings all, I'm very new to EDDI, I " discovered " it whilst using VA , I love it for the immersion and really useful information it provides. I stumbled across a personality called Jess,

http://snafets.de/elite/eddi_scripts/index.php?download=14

apparently very sassy and forthright, just my kinda gal :) I did try to install it, but got script errors , that's probably more down to me than the script.

I haven't been able to find an easy instruction for installing these personalities.

If someone could point me in the right direction in as simple terms as possible it would be greatly appreciated, or links to the instructions. I can follow instructions , I am however 30 years behind in scripting . [yesnod]

Hi, Welcome to EDDI!

I've downloaded and tested the Jess personality, and from a pure EDDI point of view I can't find anything functionally wrong with it. I've only run the EDDI internal tests and all the scripts execute without errors. Unfortunately I don't use VA so it may be something to do with that. Looking at the actual scripts, this personality mainly consists of additional speech to the defaults, with a couple of changes elsewhere.

To use this, just copy the Jess_0.7.0.json file into your EDDI personalities folder, usually found in %AppData%\Roaming\EDDI\personalities. Then start EDDI and select Jess from the dropdown menu in the Speech Responder tab. It's that simple.

One thing I have noticed, is that for some reason Jess will not stay as the chosen personality. If I quit EDDI and reload, then the EDDI default is selected. I can swap back to Jess ok, but it's not being saved as the default to use on loading EDDI. I can swap to any other personality, and that stays selected when reloading, just not Jess. It's entirely possible that this is a symptom of something to do with the errors you are getting, I just don't know.

What exactly are the errors you are getting? Are they to do with VA? Let us know, and we may be able to help further. :)

-=] Darkcyde [=-

EDIT: Just realised you've found the instructions already. :p
 
Last edited:
Hi, Welcome to EDDI!

I've downloaded and tested the Jess personality, and from a pure EDDI point of view I can't find anything functionally wrong with it. I've only run the EDDI internal tests and all the scripts execute without errors. Unfortunately I don't use VA so it may be something to do with that. Looking at the actual scripts, this personality mainly consists of additional speech to the defaults, with a couple of changes elsewhere.

To use this, just copy the Jess_0.7.0.json file into your EDDI personalities folder, usually found in %AppData%\Roaming\EDDI\personalities. Then start EDDI and select Jess from the dropdown menu in the Speech Responder tab. It's that simple.

One thing I have noticed, is that for some reason Jess will not stay as the chosen personality. If I quit EDDI and reload, then the EDDI default is selected. I can swap back to Jess ok, but it's not being saved as the default to use on loading EDDI. I can swap to any other personality, and that stays selected when reloading, just not Jess. It's entirely possible that this is a symptom of something to do with the errors you are getting, I just don't know.

What exactly are the errors you are getting? Are they to do with VA? Let us know, and we may be able to help further. :)

-=] Darkcyde [=-

EDIT: Just realised you've found the instructions already. :p

Thank you so much for taking the time to get back to me ...it was me doing it wrong initially, I was simply copying and pasting the script into " new script " rather than pasting it into the app/ personality folder.

The script does work as you say, but I'm flummoxed why it won't stay as the default personality. I dropped it into the right folder, I restarted both VA and EDDI and chose Jess from the drop down, but likewise every time it reverts back to the default script. The original author made comments about it not liking pauses, so he used something else , full stops or something.

VA uses a .vap file which I think was originally designed to integrate EDDI into VA , so maybe I need to drop it into the VA app folder. ?

I own a few IVONA voice packs, and it makes my ED experience much more interesting using both EDDI and Astra ...EDDI gives much more detailed information about events , faction changes, system states, interdictions etc.

I was hoping just to make EDDI a little more humorous and feisty without losing the superb functionality .

I would love it if you could make a personality like this, be as free and adult with it as you like, I would be very happy to make a donation to a charity of your choice for your time and more importantly the ED community would benefit from such a great interaction.

Please feel free to contact me if this is something you might like to do, I'm obviously willing to do anything I can to help

Thanks again
 
Well done! I had been wondering why there wasn't some online repository for people to share large numbers of scripts, or their whole personality. I just uploaded mine (Jess). Hopefully more people will do the same. You should post a link to your website under the "Tools" section of the Forum, as well as at the ED Codex. Asking jgm to add a link in the first post of his EDDI forum thread would probably get the word out as well.

Hey hi Jack,

I'm new to EDDI, but love this Jess script. I have an issue that EDDI reverts to the default personality. I use VA and EDDI, would this be the issue? VA uses a EDDI vap file to integrate it into VA

Any help would be greatly appreciated
 
Hey hi Jack,

I'm new to EDDI, but love this Jess script. I have an issue that EDDI reverts to the default personality. I use VA and EDDI, would this be the issue? VA uses a EDDI vap file to integrate it into VA

Any help would be greatly appreciated

This is something I have to figure out, EDDI don't like it when the file has a different name then the personality. The easy fix/workaround; select Jess and make a copy (copy personality). The copy should stay as default after restart.
 
Ahh, so that's why. So yes, either copy the personality in EDDI, or simply rename the file in the personalities folder to 'Jess.json'. I just tried renaming the file, and that stays as the chosen personality now, even after restarting.
 
Back
Top Bottom