open All Channels
seplocked EVE Technology Lab
blankseplocked EveAI Live (EVE-Online API/class library for .Net/ C#/ VB.Net)
 
This thread is older than 90 days and has been locked due to inactivity.


 
Pages: first : previous : ... 5 6 7 8 [9] 10 11 12 13 ... : last (26)

Author Topic

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.02 23:51:00 - [241]
 

Originally by: Talenram

Or I need to figure out how to get the code to become aware of the additional (although outdated) EveAI.Data.zip file.

Any help would be appreciated.


I just updated the EveAI.Data.zip file, so it should now contain the most current data from Apocrypha.
Second you just specify the data file in the constructor:
x = new StaticDataDataReader (dataCore, dataDirectory)
The dataDirectory should be the directory where you put the EveAI.Data.zip file.

Talenram
Posted - 2009.04.03 02:18:00 - [242]
 

Edited by: Talenram on 04/04/2009 00:48:27
I've tried almost every configuration of reading the data I can, but I keep getting exceptions every time I try to read data. My code follows:

DataCore data = new DataCore();
DataReader reader = new StaticDataDataReader(data, @"C:\");
reader.Read();


The EveAI.Data.Zip is in C:\. I've tried changing reader to StaticDataDataReader. I've tried giving Read() specific DataTypes, such as DataTypes.Agents and I still get exceptions. The exception code follows:

System.Collections.Generic.KeyNotFoundException was unhandled
Message="The given key was not present in the dictionary."
Source="mscorlib"
StackTrace:
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at EveAI.StaticDataDataReader.ReadAgents()
at EveAI.DataReader.Read(DataTypes typesToRead)
at EveAI.DataReader.Read()
at ConsoleApplication1.Program.Main(String[] args) in ...\Program.cs:line 39
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:


EDIT: Changed line lengths so that it doesn't break the forum width so badly.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.03 09:17:00 - [243]
 

I believe this problem was already fixed in an internal version some time ago that has not be released yet. Problem was that the official static data contains some inconsistencies in it's latest drop (*sigh*).

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.03 09:30:00 - [244]
 

I put a version that has a workaround for the data inconsistency up to:
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.5b.zip

Talenram
Posted - 2009.04.04 00:46:00 - [245]
 

That fixed things up pretty well. A comment and a request, though.

The first entry in the agtAgents file is

10$19$1000137$60012739$1$0$10

This 10 is not a valid agentID, and I can't locate an agent with a corporationID of 1000137 and a stationID of 60012739 so I assume this entry is just totally invalid and can be ignored.

As for my request, is there any way you could add the Corporation information to the Agent and/or Station? The information is in the data, it's just not available through the API that I've been able to locate. I could probably hack something together using a lookup table of all the station names and what corporation they belong to, but this seems inelegant.

Thanks for the work you've put into this project, Amida Ta, and sorry for the grief. :-)

Arous Drephius
Posted - 2009.04.04 18:59:00 - [246]
 

I'm having a problem getting the CharacterNameLookupApi class to work properly. Here's my code:


EveAI.Live.Generic.CharacterNameLookupApi lookup = new EveAI.Live.Generic.CharacterNameLookupApi();
foreach (Alliance.MemberCorporation corp in all.MemberCorporations)
{
lookup.CharacterIDsToLookup.Add(corp.CorporationID);
}
lookup.UpdateData(EveApiBase.UpdateCharaceristics.OnlineOnly);


I get an ArgumentOutOfRangeException with the last line. What am I doing wrong?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.07 21:56:00 - [247]
 

Originally by: Arous Drephius
I'm having a problem getting the CharacterNameLookupApi class to work properly. Here's my code:
I get an ArgumentOutOfRangeException with the last line. What am I doing wrong?


This seems to be another undocumented API change. Will be fixed for the next version.

Sam McMinus
Posted - 2009.04.10 01:16:00 - [248]
 

I'm curious if there is a way to link the Silo's output from CorporationAssets to the CorporationStarbaseDetails so i can see what silo's are anchored around what towers.

for example, i'd like to be able to see Silo 1 contains Platinum and is anchored on Starbase at Jita - Planet 1 - Moon 6.

(yes the above is just an example of the style of output i am trying to get)

is this even possible with the current API?

Commander Ashik
Minmatar
Jolly Roger Services
Posted - 2009.04.10 22:33:00 - [249]
 

How to get corp logos using C#:

1. Get Corpid by using the corpsheet api:
EveApi api = new EveApi(USERID, "APIKEY", CHARID);
CorporationSheet corpSheet = api.GetCorporationSheet();

2. Create a new picturebox

3. Under InitializeComponent(); in your code, add:

pictureBox1.ImageLocation = "http://assets.evsco.net:8080/thumb.php?type=corp&id=" + corpSheet.CorporationID.ToString() +"&size=WHATEVERSIZEYOUWANT";

3(Cont'd). pictureBox1 can be changed to whatever you named your pictureBox.

Arous Drephius
Posted - 2009.04.14 11:07:00 - [250]
 

Any ETA on a fix for the API changes? I really need to get my app working.

Wodeki
Posted - 2009.04.16 14:27:00 - [251]
 

I am writing an app in C# and I was hoping to cache the market data obtained using the EveAI library in a CSV format, however I am having trouble reconstructing some of the objects back from strings because some of their data members are read only. For instance, a MarketOrder's Expires, ExpiresLocalTime and VolumeSold are read only.

Additonally, a MarketOrder owns a Station and and Type which are more complex classes which can not easily be reconstructed from strings. Is there any way for me to serialize and parse the data obtained from the EveAPI library? Your library is outstanding and I am really looking forward to using it more fully.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.16 18:45:00 - [252]
 

Originally by: Wodeki
I am writing an app in C# and I was hoping to cache the market data obtained using the EveAI library in a CSV format, however I am having trouble reconstructing some of the objects back from strings because some of their data members are read only. For instance, a MarketOrder's Expires, ExpiresLocalTime and VolumeSold are read only.

Additonally, a MarketOrder owns a Station and and Type which are more complex classes which can not easily be reconstructed from strings. Is there any way for me to serialize and parse the data obtained from the EveAPI library? Your library is outstanding and I am really looking forward to using it more fully.


1) You don't need to reconstruct the readonly properties. They are just for convenience and calculated from the other properties.

2) You can fill those objects from their IDs with something like: api.EveApiCore.FindProductType (someTypeID) or api.EveApiCore.FindStation (someTypeID)

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.16 18:50:00 - [253]
 

Originally by: Arous Drephius
Any ETA on a fix for the API changes? I really need to get my app working.

Sorry for the delay. I am somewhat unhappy with the User/ID query as a whole because it currently (possibly) creates too much cache files. However I haven't got enough time to fix this now (will be a somewhat larger change).

So meanwhile here is a version that fixes your problem:
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.5c.zip

Wodeki
Posted - 2009.04.17 03:26:00 - [254]
 

I really appreciate the fast turn around with answering my questions! I am also curious as to why GetCorporationWalletJournal() and GetCorporationWalletTransactions() seem to always return empty lists. To rule out any issues that I may have with my own code, I am using your test app to verify that I have my settings correct. It is in the test app that I receive no data. What are the AccountKey and StarbaseID parameters used for under the Authentication object? Are these somehow related to the fact that I am not receiving any data? Do I ever need to supply the CorporationID as the CharacterID when retrieving any of the data, or will it always be the CharacterID within the corporation that should be used? Thanks in advance!

Jack Tau
Caldari
Coalition of Nations
Coalition Of Nations.
Posted - 2009.04.17 15:16:00 - [255]
 

Just wanted to say, brilliant job on the API. Your hard work is much appreciated!

Jadin Lazarin
Caldari
Cassus Beli
Posted - 2009.04.17 17:07:00 - [256]
 

Any chance of making these libraries COM accessable so I can reference them from with excel vba ?

Wodeki
Posted - 2009.04.17 19:45:00 - [257]
 

Originally by: Wodeki
I really appreciate the fast turn around with answering my questions! I am also curious as to why GetCorporationWalletJournal() and GetCorporationWalletTransactions() seem to always return empty lists. To rule out any issues that I may have with my own code, I am using your test app to verify that I have my settings correct. It is in the test app that I receive no data. What are the AccountKey and StarbaseID parameters used for under the Authentication object? Are these somehow related to the fact that I am not receiving any data? Do I ever need to supply the CorporationID as the CharacterID when retrieving any of the data, or will it always be the CharacterID within the corporation that should be used? Thanks in advance!


Nevermind. I realized that you need to instantiate a new EveApi when switching accounts. It is not sufficient to just set the Authentication.CharacterID, Authentication.UserID, and Authentication.ApiKey data members and then invoke the methods again to get the data.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.18 17:21:00 - [258]
 

Edited by: Amida Ta on 18/04/2009 17:26:28
EveAI Live Version 1.1.6 has been released!

Changes since last version:

  • Static data updated to Apocrypha 1.1.

  • Contains Hotfixes for reported issues that have been previously released.



Here is the new version:
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.6.zip

Mehan Qualson
Posted - 2009.04.18 19:44:00 - [259]
 

404 Error.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.18 20:05:00 - [260]
 

Hopefully fixed

Betty Rhage
Hero Capital Bank
Posted - 2009.04.19 18:28:00 - [261]
 

Where do I get the source code? I cant find it anywhere in the download :(

Talenram
Posted - 2009.04.19 19:25:00 - [262]
 

Originally by: Betty Rhage
Where do I get the source code? I cant find it anywhere in the download :(


Read the thread. There is no source. You can deconstruct the .dll files if you want the source.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.21 07:28:00 - [263]
 

Edited by: Amida Ta on 21/04/2009 07:29:21
BTW: Forgot one important point for the last release:
There has been some work to run EveAI.Live in Partial-Trusted-Environments. EveAI.Live now successfully runs as part of Cloud Applications e.g. on Windows Azure.

P.S. For this scenario only the memory cache is currently possible. So you have to deactivate file-caches.

Wodeki
Posted - 2009.04.22 18:54:00 - [264]
 

I am using the api GetCharacterAssets(). I am walking the list of assets and organizing each of the assets into regions, solar systems and stations. For my corporation's assets, many of the items are located in an office Hanager. The asset for the office does not have the Location class populated. I have tried using both the simple api as well as loading all of the static data reading the EveAI.Data.zip file, but each of the following calls below return null.

eveApi.EveApiCore.FindCelestial(asset.LocationID);
eveApi.EveApiCore.FindRegion(asset.LocationID);
eveApi.EveApiCore.FindSolarSystem(asset.LocationID);
eveApi.EveApiCore.FindStation(asset.LocationID);

The office asset has a LocationID of 66010865. What is the best way to figure out what kind of location this is? Am I using the wrong API to find the corresponding location?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.22 22:23:00 - [265]
 

Have a look at this description:
http://wiki.eve-id.net/APIv2_Corp_AssetList_XML
I might add that as auto-resolution mechanism in EveAI, too.

Wodeki
Posted - 2009.04.23 13:21:00 - [266]
 

Edited by: Wodeki on 23/04/2009 13:35:21
Originally by: Amida Ta
Have a look at this description:
http://wiki.eve-id.net/APIv2_Corp_AssetList_XML
I might add that as auto-resolution mechanism in EveAI, too.


This worked great! Thanks very much. I would have never figured that out on my own. It would certainly be handy if the API would do this natively, but certainly simple enough to do yourself.

Wodeki
Posted - 2009.04.29 15:39:00 - [267]
 

I decided to switch over to using all of the advanced APIs instead of using the simple Eve API. However I noticed right away that the advanced API does not resolve the ProductType or Station (Location) information in any of the results returned, unlike the simple API.

EveApi.GetCharacterMarketOrders(); <- returns MarketOrder with Type and Station set

CharacterMarketOrderApi.UpdateData();
CharacterMarketOrderApi.Data; <- returns MarketOrder with Type and Station set to null

This is also true for transactions, journal entries, etc. I do not see any way through the API to set the DataCore so the information can be populated automatically, as it is done in the EveCentralMarketApi. I do not need the all of the data from EveAI.Data.zip, just the basic map and product data that comes from the dll.

I must be missing something simple, but I'm currently at a loss.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2009.04.29 15:55:00 - [268]
 

Edited by: Amida Ta on 29/04/2009 15:57:19
You either have to do it "by hand" or you can use the methods
ResolveCoreReferences
and
ResolveLiveReferences
to get the Object-Forms

CharacterMarketOrderApi.UpdateData();
CharacterMarketOrderApi.Data; <- returns MarketOrder with Type and Station set to null
CharacterMarketOrderApi.ResolveCoreReferences (dataCore);

Wodeki
Posted - 2009.04.29 17:35:00 - [269]
 

Edited by: Wodeki on 29/04/2009 18:21:01
Edited by: Wodeki on 29/04/2009 17:51:19
Edited by: Wodeki on 29/04/2009 17:49:07
Edited by: Wodeki on 29/04/2009 17:44:17
Amida, this is working great now -- thanks! JournalEntries however still do not have their WalletTransferType (TransferType data member) resolved correctly. My DataCore is being initialized with:

EveAI.DataCore dataCore = new EveAI.DataCore();
EveAI.DataReader reader = new EveAI.StaticDataDataReader(dataCore);
reader.Read(EveAI.DataTypes.BasicMapData | EveAI.DataTypes.Products);

Is there a different DataType that the DataCore needs to be initialized with? Do I need the read the full EveAI.Data.zip to get this data? I noticed that the DataCore itself does not have a "FindWalletTransferType" method. Thanks in advance.

EDIT: I just realized that the WalletTransferTypeApi has to be used within ResolveLiveReferences.

Sgt Oddbodge
Posted - 2009.05.11 13:16:00 - [270]
 

Hello...
nice work btw.. having fun with this.

i have the industrial jobs working ok.
List<IndustryJob> ijob = api.GetCharacterIndustryJobs();

i would like the invent and copy jobs (well all science/research) available as well..

how do i get a list of research jobs ? what have i blatanly missed ?



Pages: first : previous : ... 5 6 7 8 [9] 10 11 12 13 ... : last (26)

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only