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
Kenshin Woo
Perkone
Caldari State
#161 - 2013-02-22 14:04:14 UTC
Jognu wrote:
Which version of EveAI did you use ?
And did you allow the Location function on your API ?


EveAI is version 2.6.2.1 (last modified on 2/20/13)
The api does have access to locations (keys access mask is 17432578 [Starbase list / details, asset list, locations])
Jognu
French Kiss Singularity
#162 - 2013-02-24 11:00:09 UTC
Kenshin Woo wrote:
Jognu wrote:
Which version of EveAI did you use ?
And did you allow the Location function on your API ?


EveAI is version 2.6.2.1 (last modified on 2/20/13)
The api does have access to locations (keys access mask is 17432578 [Starbase list / details, asset list, locations])

The error happened with a specific itemID ?
Can you try with just one itemID ?

Jaden Li wrote:
Is it possible to get the market history for a product at all? I'm interested in volume of sales and min/max price per day. It's displayed on the history tab in the market in game, but I can't seem to find it in any of the API's.

Thanks.

There is no API for the market history provided by CCP.

You can use the marketstat API of eve-central with EveAI : create an object with the class EveCentralMarketApi, and then you can call GetProductStatistics.

Or there is the EVE Market Data Relay project, that can give you this informations.
You can use EMDR with EveAI : https://forums.eveonline.com/default.aspx?g=posts&m=1801215#post1801215
But it's much more complicated for what you want to do.

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

Kenshin Woo
Perkone
Caldari State
#163 - 2013-02-26 22:51:31 UTC
Since the forums will not let me post what i want to post here is a link to it on pastebin

link to post on pastebin
Kal'Han
Kador Trade Company
#164 - 2013-02-27 04:07:32 UTC
Hi

I'm currently trying a few thing with this nice API but I wanted to dig around deeper, I realized the link for the source code of the API is not working, is this normal?

(I'm trying to wrap this api with another project of mine and I was looking to fiddle with the static data)

Anyway, keep up the good work
Rat Zoltar
School of Applied Knowledge
Caldari State
#165 - 2013-03-01 17:38:57 UTC
Hi all.

I'm new to this stuff, and have a bit of a problem with EveAI, in that when I try to read a product's description from the static data, it always returns null. Is this a bug, or am I missing something?

Cheers

Jognu
French Kiss Singularity
#166 - 2013-03-02 14:10:00 UTC  |  Edited by: Jognu
Kenshin Woo wrote:
Since the forums will not let me post what i want to post here is a link to it on pastebin

link to post on pastebin

Indeed, this is because of the decimal. The API is supposed to return an integer...

Try with this version : http://dl.eve-files.com/media/1303/EVEAI_2.6.3.1.zip

Kal'Han wrote:
Hi

I'm currently trying a few thing with this nice API but I wanted to dig around deeper, I realized the link for the source code of the API is not working, is this normal?

(I'm trying to wrap this api with another project of mine and I was looking to fiddle with the static data)

Anyway, keep up the good work

Hello Kal', there is no source code available for EveAI, more info here : https://forums.eveonline.com/default.aspx?g=posts&m=2426018#post2426018

Rat Zoltar wrote:
Hi all.

I'm new to this stuff, and have a bit of a problem with EveAI, in that when I try to read a product's description from the static data, it always returns null. Is this a bug, or am I missing something?

Cheers


Can you post a sample of your code ?

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

Rat Zoltar
School of Applied Knowledge
Caldari State
#167 - 2013-03-02 16:48:41 UTC
Hi!

For instance,

reader.Read(DataTypes.Products | DataTypes.ProductAttributes | DataTypes.Graphics);
var p = data.ProductTypes.Where(x => x.Name == "Abaddon").First();
Console.WriteLine(p.Name);
Console.WriteLine(p.Description);

output:

Abaddon

(evaluating p.description == null if I assign it to a variable name).

Cheers

Jognu
French Kiss Singularity
#168 - 2013-03-08 16:05:01 UTC
Hi,

you should set reader.LoadDescriptions to true (no idea why there is a specific option but...)

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

Selrestor Menti
Russian SOBR
#169 - 2013-03-19 10:03:30 UTC
Quote:

var nits = mAPI.GetCharacterNotifications();
var listIDs = new List();

foreach (var notif in nits)
{
listIDs.Add(notif.NotificationID);
}

var texts2 = mAPI.GetCharacterNotificationsTexts(listIDs);
foreach (var notif in texts2)
{
}


Firstly i reseive a list of available notifications and them give it to GetCharacterNotificationsTexts. I want to receive notification texts, but this method received only one text from account, with the first available notification.
If i give this ids directly to api through "https://api.eveonline.com/char/NotificationTexts.xml.aspx?keyID=AAA&vCode=BBB&IDs=CCC" it works fine.
Aiko Kurushio
School of Applied Knowledge
Caldari State
#170 - 2013-03-23 15:08:22 UTC
Is there a way to get the actual bodies of Mail messages?
Until now I only see the possibility to get Notification Texts.

Thanks in advance
Hawke Bakore
Caldari Provisions
Caldari State
#171 - 2013-03-23 19:21:31 UTC
Meh...I feel stupid asking this question...

what I want to do:

1. get CharacterID by Character Name
2. Get publicly available CharacterSheet by CharacterID

No API's or keys involved...is there a way to do this in EveAI? I looked on EveDev and saw only examples of api-related data pulls... Can anyone give sample code for this, or point me in the right direction?
Jognu
French Kiss Singularity
#172 - 2013-03-24 23:01:17 UTC
Selrestor Menti wrote:
Quote:

var nits = mAPI.GetCharacterNotifications();
var listIDs = new List();

foreach (var notif in nits)
{
listIDs.Add(notif.NotificationID);
}

var texts2 = mAPI.GetCharacterNotificationsTexts(listIDs);
foreach (var notif in texts2)
{
}


Firstly i reseive a list of available notifications and them give it to GetCharacterNotificationsTexts. I want to receive notification texts, but this method received only one text from account, with the first available notification.
If i give this ids directly to api through "https://api.eveonline.com/char/NotificationTexts.xml.aspx?keyID=AAA&vCode=BBB&IDs=CCC" it works fine.

If think that the problem is that your listIDs only contain one ID.
This is because of the CCP data caching on this function : http://wiki.eve-id.net/APIv2_Char_Notifications_XML
The first time you have all the IDs, but after only one.
I'll check this tomorrow (when the time of my caching is elapsed), but I am pretty sure this is the problem.

Aiko Kurushio wrote:
Is there a way to get the actual bodies of Mail messages?
Until now I only see the possibility to get Notification Texts.

Thanks in advance

Indeed this is a missing feature, I'll quickly add it !

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

Hawke Bakore
Caldari Provisions
Caldari State
#173 - 2013-03-24 23:02:32 UTC
Hawke Bakore wrote:
Meh...I feel stupid asking this question...

what I want to do:

1. get CharacterID by Character Name
2. Get publicly available CharacterSheet by CharacterID

No API's or keys involved...is there a way to do this in EveAI? I looked on EveDev and saw only examples of api-related data pulls... Can anyone give sample code for this, or point me in the right direction?


k. Figured it out.
1. Get character ID by name

public Dictionary (String,long) Test Method(List(String) CharacterName)
{
List<... String > CharNames = new List(string)();
CharacterIDLookupApi api = new CharacterIDLookupApi();
api.CharacterNamesToLookup = CharNames;

api.UpdateData();
Dictionary(String,long) charIDs = api.DataDictionary;
return charIDs;
}

2. Get public character info by CharacterID:

public EveAI.Live.Character.CharacterInfo GetPublicCharacterInfoByID(int CharacterID)
{
CharacterInfoApi api = new CharacterInfoApi();
AuthenticationData auth = new AuthenticationData();

auth.CharacterID = CharacterID;
api.AuthenticationData = auth;
api.UpdateData();
EveAI.Live.Character.CharacterInfo cInfo = api.Data;

return cInfo;
}

*Note: I had to put replace the greater than and less than symbols used for the C# generic list with parenthesis.
Hawke Bakore
Caldari Provisions
Caldari State
#174 - 2013-03-24 23:04:59 UTC
Here's another one for public corp info, in case anyone is curious:

public CorporationSheet TestMethod(int CorpID)
{
CorporationSheetApi api = new CorporationSheetApi();
api.CorporationID = CorpID;
api.UpdateData();
CorporationSheet corpInfo = api.Data;

return corpInfo;
}


Corporation Sheet properties:

• Alliance
• AllianceID (public)
• CeoID (public)
• CeoName (public)
• CorporationID (public)
• CorporationName
• Description (html/raw text)
• Divisions (list? public? api?)
• LogoGraphic
• MemberCount (public)
• MemberLimit
• Station
• StationID
• StationName
• TaxRate
• Ticker
• URL
Hawke Bakore
Caldari Provisions
Caldari State
#175 - 2013-03-24 23:07:04 UTC
Public Alliance List

public List<...Alliance...> GetPublicAllianceInfo()
{
EveApi api = new EveApi();
Alliance eveAlliance = new Alliance();
List<....Alliance...> AllianceList = api.GetAllianceData();

return AllianceList;
}

*Note: put in special characters around the generic list so the forums would let me post this. :)
Jognu
French Kiss Singularity
#176 - 2013-04-01 15:05:30 UTC
Aiko Kurushio wrote:
Is there a way to get the actual bodies of Mail messages?
Until now I only see the possibility to get Notification Texts.

Thanks in advance

New release with the MailBodies API to get the contents of mail messages !

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

Fiat Money
EVE Sky Corp
#177 - 2013-04-03 21:59:56 UTC
This pice of code is kind of bugy. Duno why I'm always getting a webserver exception here. It was working about a half year ago, I'm sure...

Quote:

List&lt;EveAI.Product.ProductType&gt; productTypeList = productTypeDictionary.Values.ToList();

// select region
System.Collections.Generic.List&lt;EveAI.Map.Region&gt;&lt;/EveAI&gt; regionList = new System.Collections.Generic.List&lt;EveAI.Map.Region&gt;&lt;EveAI&gt;();
EveAI.Map.Region region = new EveAI.Map.Region();
region = dataCore.Regions.First(p =&gt; p.Name == "The Forge");
regionList.Add(region);

// *************** get stats from EVECentral ***************
EveCentralMarketApi marketApi = new EveCentralMarketApi(dataCore);
var productStatisticsList = marketApi.GetProductStatistics(productTypeList, regionList);

if (productStatisticsList == null)
throw marketApi.LastWebUpdateException;
D4rkAng3l
Garoun Investment Bank
Gallente Federation
#178 - 2013-04-08 18:51:17 UTC  |  Edited by: D4rkAng3l
I am attempting to change the default location of the cache, as the server doesn't have permissions in the default location. The only cache location related object I was able to find is EveAI.Live.EveApiConfiguration.BaseDirectory, but does not appear to be working. Could someone give me a quick example of properly modifying the cache location?

edit:
Found it, EveApiBase.DefaultConfiguration.BaseDirectory
Sidrat Flush
KarmaFleet
#179 - 2013-04-19 22:14:11 UTC
I'm learning visual basic 2010 express, very slowly and probably not efficiently at all, and I'm trying to use your library as well, which I think is trying to learn two different languages at the same time and failing badly.

Would you be able to provide code to obtain the keyID and vCode from textboxes and populate a datagridview with a basic api call for account information, or a character list on the account.

Something that will give me the basics that I can use as a foundation to figure out the rest for myself; character skill sheet and using it to adjust the material requirements on a given blueprint.

Any tips and advice would be much appreciated.

Its time to stand up against the bad empire based CEO telling falsehoods about what new characters can accomplish and pushing them towards an in game experience of drudgery and loneliness keeping them in the shadow of ignorance for at nest their own profit at worse apathy towards all the experiences that Eve has to offer.

Fallan Seraph
Caldari Provisions
Caldari State
#180 - 2013-05-01 03:15:34 UTC
I'm not sure how best to explain this, but I would like to be able persay drop in an EFT fitting and then check to see how many people from a list of characters can fly said fitting but, I'm having trouble finding modules and and their skill requirements in the EveAI Library. Any and all help will be appreciated.