These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

EveAI Live (EVE-Online API/class library for .Net/ C#/ VB.Net)

Author
Estefania Sukarala
Armored Forces
#261 - 2015-08-26 08:50:36 UTC
Never Enough wrote:
Estefania Sukarala wrote:
Thanks.
So, How i can do to extract data from static data?
For example, to extract itemID/Name and building materials?

Edit: I'm using visual studio 2015 (.net)


I had the same question a few weeks back,
and I got it answered there: https://forums.eveonline.com/default.aspx?g=posts&m=5911203#post5911203

P.S.
I'm using Postgres + VS 2010 + NPGSQL.


Ok, Thanks, I'll take a look. Now i'm trying with the XML database in EVEMon files, but I'll try your way.
Desmont McCallock
#262 - 2015-08-27 19:15:33 UTC
Use this tool to reimport the external files back into an MSSQL DB or use Steve's MySql conversions.
Ana Koluth
FrogSwarm
#263 - 2015-10-23 17:16:54 UTC  |  Edited by: Ana Koluth
Hi, and great work on this API !


I'm trying to access market API and it seems broken (it worked once...)


Here's my basic query:


EveAI.DataCore core = new EveAI.DataCore();
EveAI.DataReader reader = new EveAI.StaticDataDataReader(core);
reader.Read(EveAI.DataTypes.Products | EveAI.DataTypes.Names);

EveAI.Live.Market.EveCentralMarketApi market = new EveAI.Live.Market.EveCentralMarketApi(core);

stat = market.GetProductStatistics(core.FindProductType(34));


on the last lien i get :

A first chance exception of type 'System.ArgumentNullException' occurred in System.dll

Additional information: Value cannot be null.
Marco11
Precision Space Industries
Brave United
#264 - 2015-11-05 22:14:33 UTC
Hey Guys,

This looks really awesome although I have fell down at the first hurdle

I have imported the Dll into Visual Studio 2015,

I get the following error on build, for the life of me I cannot figure out why its probably really simple

cannot find type system.applicationexception in module common language runtime library

Please help :D
Vexxas Tarokin
#265 - 2015-12-31 19:04:02 UTC
Hi Everyone. I'm just learning VB so not anywhere near adequate skill for my project yet. I'm Using VS 2013.

I am trying to get the characters associated with an API through EveAI.Live from the CCP XML API Servers. I'm assuming that I need to use "GetAccountCharacters"

How would I code this portion in VB 2013. The resulting character names will be put into a list box.

The data flow is that a person enters their api and id in to text boxes. strKeyID, strVCode
the user then clicks a button which will pull the characters from the API and place them in a list box.

Any help is appreciated.

PS. After dabbling with programming, I have a new respect for all of you.

Making New Eden a safer place, One frozen corpse at a time.

Jose Ambraelle
Federal Navy Academy
Gallente Federation
#266 - 2016-01-06 04:42:43 UTC
I'm Having problems trying to get Character Contact list information.

*Sorry i had to use images the fourms kept saying i wasn't allow to post "HTML" code when i tried posting snips of code*

So am trying to get a characters Contact list so i can put it through a filter to see if the person has any contacts with known Enemies or undesirables, and eventually do it with mails and transactions too. I can pull mail headers easy enough but trying to use simlar code to do it with the contact list of the character is driving me up the wall.

http://imgur.com/Q3bmpD7

http://imgur.com/mOdGr6N

Now overly experienced in Programming so i don't know what i'm doing wrong here.
Kenshin Woo
Perkone
Caldari State
#267 - 2016-01-07 21:21:00 UTC
Jose Ambraelle wrote:
I'm Having problems trying to get Character Contact list information.

*Sorry i had to use images the fourms kept saying i wasn't allow to post "HTML" code when i tried posting snips of code*

So am trying to get a characters Contact list so i can put it through a filter to see if the person has any contacts with known Enemies or undesirables, and eventually do it with mails and transactions too. I can pull mail headers easy enough but trying to use simlar code to do it with the contact list of the character is driving me up the wall.

http://imgur.com/Q3bmpD7

http://imgur.com/mOdGr6N

Now overly experienced in Programming so i don't know what i'm doing wrong here.



Here is an example of how to do it.
http://pastebin.com/9TZLvTLD

Basically you used the lib wrong but most calls should work from the format that is in this example.
Kenshin Woo
Perkone
Caldari State
#268 - 2016-01-07 21:36:29 UTC  |  Edited by: Kenshin Woo
Vexxas Tarokin wrote:
Hi Everyone. I'm just learning VB so not anywhere near adequate skill for my project yet. I'm Using VS 2013.

I am trying to get the characters associated with an API through EveAI.Live from the CCP XML API Servers. I'm assuming that I need to use "GetAccountCharacters"

How would I code this portion in VB 2013. The resulting character names will be put into a list box.

The data flow is that a person enters their api and id in to text boxes. strKeyID, strVCode
the user then clicks a button which will pull the characters from the API and place them in a list box.

Any help is appreciated.

PS. After dabbling with programming, I have a new respect for all of you.



This should get you pointed in the correct direction, while it only is one part of your question most of it should be easy just google parse string to long, and add data to listbox (should be something like LBname.Collections.add(object)

http://pastebin.com/KhBNUDQu

Imports EveAI.Live
Imports EveAI.Live.Account


this goes into a sub
Dim apiData As New AuthenticationData()
apiData.KeyID = 0 'Change these to correct info
apiData.VCode = ""
apiData.CharacterID = 0

Dim characterListApi As New AccountCharactersApi()
characterListApi.AuthenticationData = apiData
characterListApi.UpdateData()
Dim chars As List(Of AccountCharacter)
chars = characterListApi.Data
Jose Ambraelle
Federal Navy Academy
Gallente Federation
#269 - 2016-01-12 08:36:43 UTC
Whats the limit for the Journal, it seem to be only outputting the last like 30ish transactions. Is there a way to extend that to encompass all transactions kept on the characters API? Bit hard to do a wallet check when it only spits the last 30Ish transactions.
Kenshin Woo
Perkone
Caldari State
#270 - 2016-01-13 21:18:49 UTC  |  Edited by: Kenshin Woo
Jose Ambraelle wrote:
Whats the limit for the Journal, it seem to be only outputting the last like 30ish transactions. Is there a way to extend that to encompass all transactions kept on the characters API? Bit hard to do a wallet check when it only spits the last 30Ish transactions.


If the number is really around 30 then you only have 30ish to return however, the default (ccp) api return amount for a request on that end point is 50 so if it is exactly 50 then what you should do is set the "RowCount" value (either in the constructor or if already initialized you can just set it via object.RowCount = INT). This will return how ever much up to 2560. If you need more than that you can use journal walking.

So the constructor requires two values the first is RowCount (2560 (max)) and the second value is the FromID (long). The FromID is going to be the earliest journal ID that you have so that it will get things before it.

If using an already instantiated object just modify the values via object.RowCount = INT, and object.FromID = LONG.

PS. You can use -1 on the FromID to get the latest wallet entries.

AuthenticationData apiData = new AuthenticationData();
apiData.KeyID = KEY_ID;
apiData.VCode = V_CODE;
apiData.CharacterID = CHAR_ID;

int rowCount = 2560;
long fromID = -1L;

CharacterWalletJournalApi walletJournal = new CharacterWalletJournalApi(rowCount, fromID);
walletJournal.AuthenticationData = apiData;
walletJournal.RowCount = rowCount; //these are redundant but put here
walletJournal.FromID = fromID;     //because i wanted to show both ways
walletJournal.UpdateData();
Erick1111
Quebec's Underdog League
Quebec United Legions
#271 - 2016-02-08 23:18:16 UTC
Hey everyone!

Just wondering if jognu is still the one in charge of this project? I'm currently working on a personal project and using eveai for it. While developping my app I noticed a couple bugs and a couple missing features here and there, so I added them! Unfortunately, I can't make my work public and make everybody benefit from it. I tried sending a mail to jognu, but no reply so far.

Thanks for your help.
Kenshin Woo
Perkone
Caldari State
#272 - 2016-03-02 19:39:56 UTC
Erick1111 wrote:
Hey everyone!

Just wondering if jognu is still the one in charge of this project? I'm currently working on a personal project and using eveai for it. While developping my app I noticed a couple bugs and a couple missing features here and there, so I added them! Unfortunately, I can't make my work public and make everybody benefit from it. I tried sending a mail to jognu, but no reply so far.

Thanks for your help.


https://forums.eveonline.com/default.aspx?g=posts&m=191576#post191576
At the bottom of this post you will see a link to his bitbucket project of it. You can make a pull request there, now as to weather or not he will respond is a different matter entirely.
Grenval Truvaki
Center for Advanced Studies
Gallente Federation
#273 - 2016-03-05 21:31:16 UTC
How would someone use this to just simply display someone's character picture In C#? I'm using VS 2013.

A pastebin example of someone doing it would be a lifesaver.
Vol Voltarion
Mission Ready Mining
Fly Fearless
#274 - 2016-03-09 19:27:35 UTC  |  Edited by: Vol Voltarion
Is this still hosted at wiki.eve-id.net/EveAI?

Haven't been able to get to that site in a week, and can't find any full documentation on EveAI.

Thanks..
Jognu
French Kiss Singularity
#275 - 2016-03-13 17:09:19 UTC
Hi,
I am still here but I don't have a lot of time this last months. I'll check all your messages.

Vol Voltarion : you can find the URL of the bitbucket project on the first message of the topic, there is everything that was on eve-id.

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Christian Gaterau
Center for Advanced Studies
Gallente Federation
#276 - 2016-04-15 18:55:55 UTC
Hello Jognu,
thanks for this great Library!

I've got a little issue with the API-Query, but im not sure what might be wrong:
I can query the Account/Character with
Quote:
EveApi api = new EveApi("your application name", keyId, "vCode", characterID);

but, when i want to change the queried api (for reasons i dont know yet, but i want to write a good piece of software ^.^) it seems it logs on on the old key.
Is this "working as intended" or is there a workaround? Is there a way to un- and then reload the library?

Thanks! :)

Dukhati
Anoikis Department of Natural Resources
#277 - 2016-05-14 19:49:10 UTC  |  Edited by: Dukhati
Ana Koluth wrote:
Hi, and great work on this API !


I'm trying to access market API and it seems broken (it worked once...)


Here's my basic query:


EveAI.DataCore core = new EveAI.DataCore();
EveAI.DataReader reader = new EveAI.StaticDataDataReader(core);
reader.Read(EveAI.DataTypes.Products | EveAI.DataTypes.Names);

EveAI.Live.Market.EveCentralMarketApi market = new EveAI.Live.Market.EveCentralMarketApi(core);

stat = market.GetProductStatistics(core.FindProductType(34));


on the last lien i get :

A first chance exception of type 'System.ArgumentNullException' occurred in System.dll

Additional information: Value cannot be null.


Did you get this to work? I have the exact same problem.

Edit: Found the problem. The EveCentralMarketApi overloaded constructor that takes the dataCore variable isn't initializing the TransferEncoding and TransferCulture variables hence the nullArgumentException. I'm not sure if this is a build environment issue or not. I'm not a c# coder but seems strange that constructor isn't initializing all variables to some value. Anyway easy fix is to add the initialization from the default construct to overloaded constructor.
Doctor Sin
Dredd Laboratories
#278 - 2016-05-23 16:43:41 UTC
Have citadels broken this?

Everything was working fine when importing wallet transactions, now I get a type error (int32) on import and the only difference is I have a single transaction from a citadel.

How do these affect the station ID's?