New Version of Cmdr's Log Available!

I didn't put him up to it, Arch. Honest!

To answer, this was discussed and asked many times in the old thread and it was deemed outside the scope of this project.

Ahh ok, fair enough.
I just had his own words in mind when writing it, so thought it might be within the scope of this program without moving away from the original intentions.

I totally agree. Are you listening Frontier? This functionality SHOULD be in the game. We are not talking about getting full current up to the second commodity data here, we are talking about the ship logs it when you dock, and it has a time stamp on it just the app. Also this doesn't mean you'd get transmissions from places you've never been to collect their data. Collection can only happen when you are docked at the location. They can implement this and still maintain the full spirit of the original game.
 
Thanks for the update! I like to report a bug, maybe others noticed too. When you add a new commodity the tab order of the fields in the popup is wrong. Eg. the focus is on the Price field by default, but if you want to switch to the status by pressing shift-tab you will be on the new Illegal checkbox instead which is below.
 
I really enjoy using this :)

One thing I have been thinking about, is the ability to import a csv file exported from EliteOCR.

This might be of some interest to you then:

For those of you who use ArchV1's Cmdr's Log program, here are some tools I've written that work with it. These are PowerShell scripts, so if you're not familiar with PowerShell it will probably help to read up on it a bit before using. For those not familiar with PowerShell, it's Windows 7+'s version of the old DOS, so it's more of a "command line" tool than a GUI application, so be warned. More specific info below.

First up is a script I call Limit-Sphere. It will unhide all systems/stations that are within a given radius of a central system, and hide all systems/stations outside of this radius. This facilitates limiting searches and display to a local area, so no more trade results from stations on the other side of the galaxy.

Here's the link.

Second is ImportTo-CmdrsLog. This script will import from several different formats. First up is CSV files created by EliteOCR. It will also import data from JSON files created by EDDN. And lastly it will import from the database maintained by TradeDangerous.

Here's the link.

Do not have Cmdr's Log running when you run one of these scripts! All of them create a new system_data.txt file, and if Cmdr's Log is running you're likely to loose the new data. They do make a copy of your current system_data.txt file before creating a new one so you'll never be in danger of losing all your hard work.

Run them like so. Open a PowerShell console or ISE window; it's listed under Accessories in the Start Menu. (in this example, I'll use "PS> " as the PowerShell prompt, so don't type it but do type the stuff after it. Note that the folder names you use will be different than I use in this example; I'm just using made up folder names to illustrate the process.

PS> Set-ExecutionPolicy Unrestricted

The above command only has to be done once, and if I'm not mistaken, only on Windows 7. You don't have to repeat it every time you run a script!

For hiding and unhiding stations, use ED-Limit-Sphere.ps1:

PS> E:\Docs\ED-Limit-Sphere.ps1 -CmdrPath E:\Docs\CmdrsLog -CenterSystem "Sol" -Radius 25

This would unhide all stations within 25 lightyears of Sol, and hide stations further away.

For importing data, use ED-ImportTo-CmdrsLog.ps1:

PS> E:\Docs\ED-ImportTo-CmdrsLog.ps1 -CmdrPath "E:\Docs\Cmdr's Log" -CsvPath 'E:\Docs\Pics\ED'

Enter the above all on a single command line, then press Enter. Yes, you do have to type the entire path to the script, even if it's in the current path; it's a security thing.

For EDDN, the command line would look like this:

PS> E:\Docs\ED-ImportTo-CmdrsLog.ps1 -CmdrPath "E:\Docs\CmdrsLog" -EDDNPath 'E:\Docs\ED\EDDN'

For TradeDangerous, specify the main TradeDangerous folder; it will find the relevant files within.

PS> E:\Docs\ED-ImportTo-CmdrsLog.ps1 -CmdrPath "E:\Docs\CmdrsLog" -TDPath 'E:\Docs\ED\TD'

Optionally you can have the script attempt to update the TD database with any new data from the web.

PS> E:\Docs\ED-ImportTo-CmdrsLog.ps1 -CmdrPath "E:\Docs\CmdrsLog" -TDPath 'E:\Docs\ED\TD' -Update

These scripts require at least PowerShell version 3.0, so if you have Windows 7 and haven't updated yours, you'll need to go to Microsoft's website and get a newer version, as Windows 7 only shipped with version 2. I believe Windows 8 comes with V3.

These scripts are compatible with Cmdr's Log version 2.0; any other version and you might have an issue. I'll try to fix bugs found and keep it updated as new versions of ArchV1's program comes out, but no promises. Good news is since it's a script everyone has the source code and can modify it how they like. Consider the code to be released under the GPL.

Enjoy!
 
This might be of some interest to you then:

These scripts are compatible with Cmdr's Log version 2.0; any other version and you might have an issue. I'll try to fix bugs found and keep it updated as new versions of ArchV1's program comes out, but no promises. Good news is since it's a script everyone has the source code and can modify it how they like. Consider the code to be released under the GPL.

Enjoy!

Well... it's about time :) I was waiting for someone to finally realize the file format is super simple and should be easy to pump new data into it from the outside if you really want to. Awesome work! Hopefully they handle the custom fields ok. Those are a bit tricky since they can be ANY key for a key value pair.

I absolutely support this kind of external injection of data as an option for people that are really wanting to use it. Thanks :)

I'll try not to alter the file format too much in the future ;)
 
Well... it's about time :) I was waiting for someone to finally realize the file format is super simple and should be easy to pump new data into it from the outside if you really want to. Awesome work! Hopefully they handle the custom fields ok. Those are a bit tricky since they can be ANY key for a key value pair.
It should handle anything, both for station attributes and commodity attributes, as long as the format remains some text = "some value".

I absolutely support this kind of external injection of data as an option for people that are really wanting to use it. Thanks :)
I was hoping you'd say that. These were something I'd written for myself. I just cleaned them up a bit to make it easier for others to use.
 
Rejecting OCR as an input source is unrealistic.
I used this program for a few days but I found I was spending more time having to manually enter in all the data instead of playing the game.
No OCR input and I'm afraid this program will/has gotten left behind.

However. Credit to the developer for investing his/her personal time into it.
 
Rejecting OCR as an input source is unrealistic.
I used this program for a few days but I found I was spending more time having to manually enter in all the data instead of playing the game.
No OCR input and I'm afraid this program will/has gotten left behind.

However. Credit to the developer for investing his/her personal time into it.

See two posts up.
 
Rejecting OCR as an input source is unrealistic.
I used this program for a few days but I found I was spending more time having to manually enter in all the data instead of playing the game.
No OCR input and I'm afraid this program will/has gotten left behind.

However. Credit to the developer for investing his/her personal time into it.

I quietly switched from using this to the Regulated Noise tool. Mainly because I want something that does not use crowd-sourced data (I get a sense of achievement from collecting my own) but that I can just OCR the data with a keystroke when I get to a station. Also it is open source which is quite a biggie for me.
It is a shame because in practically all other ways Cmdr's Log I prefer. It just got too much entering the data.
I suppose all these things have their strengths and weaknesses. I can see why no OCR as well. It makes it totally future proof.
Loving both the tools though so my preferences might change and I switch back to this, but then I would lose the data.... hehe... life is never perfect...
:)
 
I quietly switched from using this to the Regulated Noise tool. Mainly because I want something that does not use crowd-sourced data (I get a sense of achievement from collecting my own) but that I can just OCR the data with a keystroke when I get to a station. Also it is open source which is quite a biggie for me.
It is a shame because in practically all other ways Cmdr's Log I prefer. It just got too much entering the data.
I suppose all these things have their strengths and weaknesses. I can see why no OCR as well. It makes it totally future proof.
Loving both the tools though so my preferences might change and I switch back to this, but then I would lose the data.... hehe... life is never perfect...
:)
I tried RegulatedNoise.

It worked terribly. It detected about 4 commodities, and 3 of those were the category titles.

I wish EliteOCR would work for me, it seems much better.
 
OldLost, thanks for the scripts. I love the concept of Cmdr's Log (hence why I use it) but data import was slightly less fun.

Will be using these on a Win 8.1 machine, do I need to export from EliteOCR (almost put EveOCR!) as ED CSV or can I just export as their standard one? Also any suggestions on file naming? E.g. maybe just station name!

Okay guessing I'm doing something wrong as tried the limitsphere script and got a whole bunch of errors:

Code:
The property 'coord' cannot be found on this object. Verify that the property exists.
At D:\games\ed-limit-sphere.ps1:22 char:4
+             $xd = $_.coord[0] - $center.coord[0]
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

The property 'coord' cannot be found on this object. Verify that the property exists.
At D:\games\ed-limit-sphere.ps1:23 char:4
+             $yd = $_.coord[1] - $center.coord[1]
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

The property 'coord' cannot be found on this object. Verify that the property exists.
At D:\games\ed-limit-sphere.ps1:24 char:4
+             $zd = $_.coord[2] - $center.coord[2]
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

The variable '$xd' cannot be retrieved because it has not been set.
At D:\games\ed-limit-sphere.ps1:25 char:30
+             $Distance = [math]::Sqrt(($xd * $xd) + ($yd * $yd) + ($zd * $zd))
+                                       ~~~
    + CategoryInfo          : InvalidOperation: (xd:String) [], RuntimeException
    + FullyQualifiedErrorId : VariableIsUndefined

The variable '$Distance' cannot be retrieved because it has not been set.
At D:\games\ed-limit-sphere.ps1:26 char:8
+             if ($Distance -le $Radius) { $_.Name }
+                 ~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Distance:String) [], RuntimeException
    + FullyQualifiedErrorId : VariableIsUndefined

WARNING: No systems found within 25 Light Years of Tarach Tor

64 bit instance of PowerShell v4.0 run as administrator and first command you listed ran to be certain

Further testing, might just be the limitsphere as I got the import to work however it didn't carry across prices for any "demand" items but all data for "supply", only exception being where Cmdr's Log abreviates the name and EliteOCR doesn't, thought might be answerable by the export format query above.
 
Last edited:
I don't really want to derail the thread (for once) but I've tried the OCR Import script. The source csv seems fine but the import is off.

As you can see below not all prices are imported and the ones that have been are the wrong column. Any chance of a hint on how to fix, or a fix? Loads of promise here so thanks for the hard work.

OCRImport.png
 
Hi, I wanted to follow OldLost's method. I tried to run the script to set my sphere to 150LY from Hyroks. The list of all systems is downloaded but process throws errors, like below:

The property 'coord' cannot be found on this object. Verify that the property exists.At C:\Users\Marcin\Desktop\Cmdr's Log v1.6b\ED-Limit-Sphere.ps1:22 char:4
+ $xd = $_.coord[0] - $center.coord[0]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict


The property 'coord' cannot be found on this object. Verify that the property exists.
At C:\Users\Marcin\Desktop\Cmdr's Log v1.6b\ED-Limit-Sphere.ps1:23 char:4
+ $yd = $_.coord[1] - $center.coord[1]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict


The property 'coord' cannot be found on this object. Verify that the property exists.
At C:\Users\Marcin\Desktop\Cmdr's Log v1.6b\ED-Limit-Sphere.ps1:24 char:4
+ $zd = $_.coord[2] - $center.coord[2]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict


The variable '$xd' cannot be retrieved because it has not been set.
At C:\Users\Marcin\Desktop\Cmdr's Log v1.6b\ED-Limit-Sphere.ps1:25 char:30
+ $Distance = [math]::Sqrt(($xd * $xd) + ($yd * $yd) + ($zd * $zd))
+ ~~~
+ CategoryInfo : InvalidOperation: (xd:String) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined


The variable '$Distance' cannot be retrieved because it has not been set.
At C:\Users\Marcin\Desktop\Cmdr's Log v1.6b\ED-Limit-Sphere.ps1:26 char:8
+ if ($Distance -le $Radius) { $_.Name }
+ ~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Distance:String) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined


WARNING: No systems found within 150 Light Years of Hyroks

If I'm going to use these scripts only to process EliteOCR data for systems I have visited, do I need to define sphere at all?
 
Hi, I wanted to follow OldLost's method. I tried to run the script to set my sphere to 150LY from Hyroks. The list of all systems is downloaded but process throws errors, like below:



If I'm going to use these scripts only to process EliteOCR data for systems I have visited, do I need to define sphere at all?

I get the same error as you for define sphere script and no you don't need to use that if you plan to parse EliteOCR data but as you can see above from my post and Thebadmf it doesn't currently pull in "demand" prices and a few are due to differences in the commodity names (e.g. H.E. Suits vs HE Suits). Latter can be corrected in EliteOCR but would need to do it every time, unsure why the demand prices are not going in though the CSV file contains them. It's a great script otherwise and a nice piece of work to put together.
 
Hi, I wanted to follow OldLost's method. I tried to run the script to set my sphere to 150LY from Hyroks. The list of all systems is downloaded but process throws errors, like below:
I'm checking on it now. Stand by.
If I'm going to use these scripts only to process EliteOCR data for systems I have visited, do I need to define sphere at all?
Only if you want to limit the display of systems you've visited. The two scripts are independent; you don't need to use one to use the other.
 
Last edited:
Please download ED-Limit-Sphere.ps1 again. I found the problem (used a wrong variable name in one spot). Sorry about that.

Will be using these on a Win 8.1 machine, do I need to export from EliteOCR (almost put EveOCR!) as ED CSV or can I just export as their standard one? Also any suggestions on file naming? E.g. maybe just station name!
It will need to be the CSV format export from EliteOCR. The filenames don't matter; it just looks for all CSV files in the folder you point it to.
Further testing, might just be the limitsphere as I got the import to work however it didn't carry across prices for any "demand" items but all data for "supply", only exception being where Cmdr's Log abreviates the name and EliteOCR doesn't, thought might be answerable by the export format query above.
I will investigate this. On all my testing both demand and supply quantities and prices were brought in, so not sure what's going on there.

Regarding commodity names, I would suggest if you're going to do a lot of importing from EliteOCR you change the names of Cmdr's Log commodities to those use by EliteOCR, as the script will use whatever name is in the CSV; it won't try to adjust the name to match, as there's just too many possible variations on names people can use to do any checking.
 
Last edited:
Same here, my response would have to be 'wubble'

Fozzy, I mean Kramster, and Issmir I'm a mechanical engineer and I've managed it so it's not that bad/hard ;-)

OldLost, thebadmf has a screenshot in the spoiler in his post that shows what I mean. I will try modifying the names as you suggest (i.e. so they match the EliteOCR/in game names) and rerun the import script. Thanks for updating the limitsphere script
 
OldLost, thebadmf has a screenshot in the spoiler in his post that shows what I mean. I will try modifying the names as you suggest (i.e. so they match the EliteOCR/in game names) and rerun the import script. Thanks for updating the limitsphere script
You're welcome. Just sorry it ended up in people's hands with that issue in there.

Yeah, I saw that screenshot and tried to take a look at it, but it was hard to decipher. Better would be the CSV file he imported from as well as the screenshot, since it's the CSV file that the script works with, along with the portion of his sytem_data.txt file dealing with that station. Then I'd have a better chance of finding the problem. I'm still looking, but so far I haven't found where the script is messing up.
 
Back
Top Bottom