Looking at what you were getting made me think it was an EDDI problem rather than the script, which got me thinking. I accepted a Community Goal as my only mission and tried the Missions_CheckGalaxy and Missions_CheckNearMost scripts as they run after a jump completes. CheckGalaxy worked as expected, but CheckNearMost caused EDDI to freeze up and eventually crash.
Because the Community Goal has no Destination System, it's blank. And because it's blank, the loop was never increasing the CUR variable, so it was looping to infinity and crashing out.
Though I'm not quite sure what's different between my system and yours for you to get a reported error and I don't.
Try this fix and tell me how it goes.
Looking at this problem, made me look at CheckGalaxy and I found a slight (but not critical) error in that too, so thanks for pointing me in this direction!
Now that you mentioned the infinite loop I did notice when I just had everything loaded and tabbed out that EDDI would randomly start talking as if I had just made a jump so you saying about the loop makes sense in what you found out yourself and no worries on pointing you in the right direction with checking your coding. Your scripting in EDDI is completely alien to me but looking though it I kinda get an little idea of what you doing and the hard work you've put into it. KUDOS my man o7
I just have something strange happening and not sure what's causing it. When I finish a jump or come out of supercruise at a station, the event causes weird beeping and screeching before I understand spoken parts of the script.
Any idea what's causing it or heard of this before?
I searched around but haven't had any luck finding someone else with this issue.
I am fairly new to Voice Attack and EDDI, so please be patient with me
I am working on a Voice Attack script/profile for sometime now (Vector Sigma) and recently I started playing with EDDI. Yesterday I learned how to make VA use the same voice EDDI uses (because of the voice effect). Then I learned about some of EDDI's variables, and I tried to use them.]
However, I am having trouble with some of those variables. I don't know if it is an EDDI or game problem, but only one of my ships get recognized correctly. For example:
Ship 1 (Fer-De-Lance)
Name = Quicksilver
Ship ID = ABC-12
Ship 2 (Diamondback Explorer)
Name = Hotwing
Ship ID = ABC-34
Shipt 3 (Python)
Name = Steelwill
Ship ID = ABC-56
When I try to get the ship's name (Ship name) and ID (Ship ident), it works nicely for Ship1. But then, for ships 2 and 3 all I get is "not set". Even when I am on a station, go to shipyard and change ships, EDDI only pronounces the name of Ship 1. The other ships are referred by the "ship model".
One other thing I tried to find out but couldn't is the "Station name". When we are in supercruise traveling to a space station/orbital/whatever and we drop out of hyperspace, EDDI tells us we came out of supercruise near station "ABCXYZ". OK, how can I referrence that name? I would like to get a nicer response from Voice Attack when I issue the "request docking" command, something like:
"Flight control of [STATION NAME], this is [SHIP ID] [SHIP NAME] asking permission to land/dock"
I am fairly new to Voice Attack and EDDI, so please be patient with me
I am working on a Voice Attack script/profile for sometime now (Vector Sigma) and recently I started playing with EDDI. Yesterday I learned how to make VA use the same voice EDDI uses (because of the voice effect). Then I learned about some of EDDI's variables, and I tried to use them.]
However, I am having trouble with some of those variables. I don't know if it is an EDDI or game problem, but only one of my ships get recognized correctly. For example:
Ship 1 (Fer-De-Lance)
Name = Quicksilver
Ship ID = ABC-12
Ship 2 (Diamondback Explorer)
Name = Hotwing
Ship ID = ABC-34
Shipt 3 (Python)
Name = Steelwill
Ship ID = ABC-56
When I try to get the ship's name (Ship name) and ID (Ship ident), it works nicely for Ship1. But then, for ships 2 and 3 all I get is "not set". Even when I am on a station, go to shipyard and change ships, EDDI only pronounces the name of Ship 1. The other ships are referred by the "ship model".
One other thing I tried to find out but couldn't is the "Station name". When we are in supercruise traveling to a space station/orbital/whatever and we drop out of hyperspace, EDDI tells us we came out of supercruise near station "ABCXYZ". OK, how can I referrence that name? I would like to get a nicer response from Voice Attack when I issue the "request docking" command, something like:
"Flight control of [STATION NAME], this is [SHIP ID] [SHIP NAME] asking permission to land/dock"
I replied to this query on Github, but to succinctly answer your question: yes these are known bugs with the shipyard. We're looking at possible fixes.
I'm not quite up-to-date with EDDI and Elite now, I just've started to warm up things in the past days. Last time I played, it was the previous version of EDDI. I noticed now, that in the previous version of EDDI, in Docking Requested and Undocked events the {event.station} syntax worked fine, but now, i can't make EDDI to find the name of the station during these events. I see in the log file, that it is there ('StationName:' ), but what is the syntax to call this variable in EDDI in the Docking requested/Undocked events?
I'm not quite up-to-date with EDDI and Elite now, I just've started to warm up things in the past days. Last time I played, it was the previous version of EDDI. I noticed now, that in the previous version of EDDI, in Docking Requested and Undocked events the {event.station} syntax worked fine, but now, i can't make EDDI to find the name of the station during these events. I see in the log file, that it is there ('StationName:' ), but what is the syntax to call this variable in EDDI in the Docking requested/Undocked events?
Are you on EDDI 2.3.0? If you go into the 'Docking requested' and 'Undocked' events, you should see buttons that say 'Compare to Default' and 'Reset to Default'. If you're running an old version of the script that does not match the default, you may wish to reset to the defaults?
The syntax is described by a button that says 'Variables'. The syntax {event.station} still gives you the name of the station where you requested docking or undocked & {event.landingpad} gives you the landing pad number when you requested docking. That hasn't changed.
I am fairly new to Voice Attack and EDDI, so please be patient with me
I am working on a Voice Attack script/profile for sometime now (Vector Sigma) and recently I started playing with EDDI. Yesterday I learned how to make VA use the same voice EDDI uses (because of the voice effect). Then I learned about some of EDDI's variables, and I tried to use them.]
However, I am having trouble with some of those variables. I don't know if it is an EDDI or game problem, but only one of my ships get recognized correctly. For example:
Ship 1 (Fer-De-Lance)
Name = Quicksilver
Ship ID = ABC-12
Ship 2 (Diamondback Explorer)
Name = Hotwing
Ship ID = ABC-34
Shipt 3 (Python)
Name = Steelwill
Ship ID = ABC-56
When I try to get the ship's name (Ship name) and ID (Ship ident), it works nicely for Ship1. But then, for ships 2 and 3 all I get is "not set". Even when I am on a station, go to shipyard and change ships, EDDI only pronounces the name of Ship 1. The other ships are referred by the "ship model".
One other thing I tried to find out but couldn't is the "Station name". When we are in supercruise traveling to a space station/orbital/whatever and we drop out of hyperspace, EDDI tells us we came out of supercruise near station "ABCXYZ". OK, how can I referrence that name? I would like to get a nicer response from Voice Attack when I issue the "request docking" command, something like:
"Flight control of [STATION NAME], this is [SHIP ID] [SHIP NAME] asking permission to land/dock"
Now, how can I retrieve the name of the selected/targeted station, to be used in a VA command such as "Request docking"? I read in the documentation that EDDI has the {TXT:Last station name}, but that won't do
Now, how can I retrieve the name of the selected/targeted station, to be used in a VA command such as "Request docking"? I read in the documentation that EDDI has the {TXT:Last station name}, but that won't do
I saw that there is a "settlement approached" event now, but if turned on, it is a bit hectic in its original form. Basically it is telling me all the planetary settlement's names within 10Mm, and some of them is told several times.
I am still using the first version of Darkcyde's Mission Manager (this is level is what I can understand ), I've modified the script, which is checking missions at arrival to a station (MissionStoreCheckStation), and inserted it to the "settlement approached" event.
-Event.station is modified to event.name!
-{SetState('settlementsaid', 1)} is adjusted, when it is once said, to avoid it from repeating.
-{SetState('settlementsaid', 0)} is resetted in the "docked" event, also initialized when starting game, in "commander continued".
-Result: When approaching a planet, with a mission target on it, if the settlement is within 10Mm, EDDI says:
Approaching our mission target settlement: {event.name}.
{set station to event.name}
{set missionshere to 0}
Another idea was to make a reminder, how much money I earned at a station. Unfortunately the variable in VA DEC:Credits is not refreshed in real time (at least in my case). That was my first idea, just simply set a "stationin" and "stationout" variable and subtract.
So I had to record at every possible event (mission completed, rearmed, exploration data sold, ship sold...) at a station all changes to a variable, and at the "undocking" event EDDI can tell me now, how my account changed.
I couldn't find an event for module purchased/sold in EDDI, but there is in VA, so that way it can be theoretically precise.
Based on this, a Wallet Manager could be made, it is just an idea at this moment.
I saw that there is a "settlement approached" event now, but if turned on, it is a bit hectic in its original form. Basically it is telling me all the planetary settlement's names within 10Mm, and some of them is told several times.
I am still using the first version of Darkcyde's Mission Manager (this is level is what I can understand ), I've modified the script, which is checking missions at arrival to a station (MissionStoreCheckStation), and inserted it to the "settlement approached" event.
-Event.station is modified to event.name!
-{SetState('settlementsaid', 1)} is adjusted, when it is once said, to avoid it from repeating.
-{SetState('settlementsaid', 0)} is resetted in the "docked" event, also initialized when starting game, in "commander continued".
-Result: When approaching a planet, with a mission target on it, if the settlement is within 10Mm, EDDI says:
Approaching our mission target settlement: {event.name}.
{set station to event.name}
{set missionshere to 0}
Another idea was to make a reminder, how much money I earned at a station. Unfortunately the variable in VA DEC:Credits is not refreshed in real time (at least in my case). That was my first idea, just simply set a "stationin" and "stationout" variable and subtract.
So I had to record at every possible event (mission completed, rearmed, exploration data sold, ship sold...) at a station all changes to a variable, and at the "undocking" event EDDI can tell me now, how my account changed.
I couldn't find an event for module purchased/sold in EDDI, but there is in VA, so that way it can be theoretically precise.
Based on this, a Wallet Manager could be made, it is just an idea at this moment.
With respect to the wallet idea, I've already got something like that in use.
For the 'Docked' event:
Code:
{SetState('eddi_context_docked_credits', cmdr.credits)}
{set station to Occasionally(2, "at {event.station}")}
{OneOf("Docking complete", "Docking clamps engaged", "We have arrived {station}")}.
{Pause(2000)}
{OneOf("Establishing uplink with","Initiating link to",
"Connecting to","Accessing","Communicating with","Linking to")}
{OneOf("local","station","{event.station}'s")}
{OneOf("data nets","networks")}
For the 'Undocked' event:
Code:
{F("Ship state check")}
{OneOf("Full control re-established", "Docking clamps free", "Disengaged from local networks", "Departure authorized")}.
{_ set limpetcheck to F("Limpet check")}
{set contactscheck to F("ContactsCheck")}
{if limpetcheck || contactscheck:
{Pause(5000)}
{limpetcheck}
{contactscheck}
}
{if cmdr.credits != state.eddi_context_docked_credits && state.eddi_context_docked_credits:
{_ Set bigpercent to a multiplier that represents the percent gain or loss where you would like EDDI to make a comment about a big change. I chose 1.005 initially to represent a change in my wealth of 0.5% _}
{set bigpercent to 1.005}
{_ Set smallpercent to a multiplier that represents the minimum percent gain or loss where you would like EDDI to make a comment. I chose 1.001 initially to represent a change in my wealth of 0.1%. If you choose exactly 1, EDDI will always comment on gains & losses, no matter how small. _}
{set smallpercent to 1.001}
{Pause(5000)}
{if cmdr.credits > state.eddi_context_docked_credits:
{if cmdr.credits - (state.eddi_context_docked_credits)*(smallpercent) > 0:
{set smallearn to 1}
}
{if cmdr.credits - (state.eddi_context_docked_credits)*(bigpercent) > 0:
{set bigearn to 1}
}
|elif cmdr.credits < state.eddi_context_docked_credits:
{if state.eddi_context_docked_credits - (cmdr.credits)*(smallpercent) > 0:
{set smallloss to 1}
}
{if state.eddi_context_docked_credits - (cmdr.credits)*(bigpercent) > 0:
{set bigloss to 1}
}
}
{if cmdr.credits > 0 && state.eddi_context_docked_credits > 0:
{OneOf("You", "We")}
{if smallearn:
{OneOf("earned", "cashed in")}
{Occasionally(2, "a profit of")}
{Humanise(cmdr.credits-state.eddi_context_docked_credits)} credits
|elif smallloss:
lost
{Humanise(abs(state.eddi_context_docked_credits-cmdr.credits))} credits
}
{OneOf("on", "with")}
that visit.
{Pause(100)}
{if bigearn:
{OneOf("Business is running well, {F('Honorific')}!", "Keep up the good work!")}
|elif bigloss:
{OneOf("Careful {F('Honorific')}, you are really burning money!", "Careful about the insurance rebuys!", "Careful with your cash reserves!")}
{F("Insurance check")}
}
}
}
Rather than subtracting at every event, I'm just comparing a before and after snapshot of my credits. As long as I have both variables filled, EDDI can comment on my gains and losses.
I've used the variable for Credits from VA (it wasn't updated many times for some reason), I'll try today your suggestion, to use cmdr.credits in EDDI.
I still have some ideas with the detailed reports, like when finishing the Elite session, how great it would sound: "Commander, you've earned most of your credits, 10M bucks with Biowaste-deliveries today. You did a great thing for humanity!" I like statistics, math doesn't lie
I've used the variable for Credits from VA (it wasn't updated many times for some reason), I'll try today your suggestion, to use cmdr.credits in EDDI.
I still have some ideas with the detailed reports, like when finishing the Elite session, how great it would sound: "Commander, you've earned most of your credits, 10M bucks with Biowaste-deliveries today. You did a great thing for humanity!" I like statistics, math doesn't lie
The data in cmdr.credits comes from the Frontier API, which may take a couple of minutes to refresh. If you need that data more quickly than the server refreshes, capturing each transaction individually may work better for you. The new beta release 2.4.0-b2 includes new events for modules being purchased and sold.
I inserted your script into mine, cmdr.credits worked yesterday appr. 9 times out of 10 (absolutely could live with it), also I could check my version, if it works well or not, having the two calculations running parallel and comparing the results.
Both of them work, with their advantages and disadvantages
Meanwhile, I'm trying to write down "Wallet Manager" and "Statistics" as many times as I can... I know, Darkcyde likes challenges This would be a big one!
...and 2.4 is coming, this is going to be a rough-and-tumble autumn!
Now I am a noob with VA and EDDI, so trying to figure out if this is even possible so bear with me and talk to me like I am five.
When I ask "system report" it is doing the following VA script:
Set Text [Script] to 'Displaying {TXT:System name (spoken)} in EDDB.'
Execute external plugin, 'EDDI 2.3.0' and wait for return
Execute external plugin, 'EDDI 2.3.0'
Somewhere in there it is converting system to the number in the database and then opening in my web browser
Say I am in the Brestla system https://eddb.io/system/2595 <---- It is this bit here at the end, the 2595, is it possible to somehow get that to return to VA?
What I am trying to do is to take the EDDB permalink for the system and in this case, 72 which is outbreak, which returns this:
And it works fine and changing the variables will change what it opens. I already have an idea how I am going to filter states and sent that to the proper variable.
What I need is how can I get EDDI to grab the system I am in and return the number variable for the proper URL back to VA so I can use it?
Hey there darkcyde I'm getting that same error again when ive only got CG as missions. checked the code and the fix you told me about is still in. only thing I have changed is updating to the new eddi
"There is a problem with the script: Exception of type System.OutOfMemoryException was thrown."
Hey there darkcyde I'm getting that same error again when ive only got CG as missions. checked the code and the fix you told me about is still in. only thing I have changed is updating to the new eddi
"There is a problem with the script: Exception of type System.OutOfMemoryException was thrown."
Hmm, not sure. I've accepted one of the CGs and run the Missions_Check... scripts manually, but none of them are failing or causing a problem for me. It makes me think that it may be another script somewhere. I'm going to take explosives for the CG to test further and see if I can get the same as you. If I can't then it may be worth sending you my latest (in-progress) version of my personality for you to try out.
I'll let you know how I get on.
-=] Darkcyde [=-
EDIT: I'm using EDDI 2.4.0-b3 btw.
EDIT 2: I've done a couple of runs for the CG and had no problems at all. I suspect the problem is possibly due to another script you are running. I'll PM you a link to my current beta build of my personality, so you can try that and see if you get the error still.
does any of you have some experience with 'time' values in EDDI?
I am now collecting credits for my new ship, it is a lotta money, so I am going to do passenger missions for a couple of weeks. I would like to make these missions a bit more exciting (instead just jumping, jumping, jumping...), and measure the 'jump times' (in 'jumped' event, from the previous system to current system), like lap times, record the fastest one, something like this. Maybe I can even break the record of 12 parsecs at the end .
Do you know, what is the syntax to get the actual time and how to subtract one from the other?
I have set VA and EDDI up to use one voice for my VA profile and another for my EDDI responses
They both then use the VA volume, any ideas how to increase the volume of the EDDI one?