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 : 1 2 [3] 4 5 6 7 8 9 ... : last (26)

Author Topic

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

Originally by: Dakmarid Darksun
Previously, all the skill ids were getting automatically resolved to their names. Now this is not happening in the CharacterSheet API and SkillInTraining API. Is this due to XML changes, or was this not implemented and I was just being spoiled by pulling this through the EveAI API before?

I'm not sure if I understand your question correctly:
This is a function that EveAI delivers and has been from the beginning on.
CCP returns only IDs for the most part, not complete objects.

Dakmarid Darksun
Posted - 2008.04.06 18:22:00 - [62]
 

For instance I do the following:
(I have removed some code for simplicity's sake)

CharacterSheetApi charAPI = new CharacterSheetApi();
CharacterSheet charUpdate = new CharacterSheet();
charAPI.UpdateData();
charUpdate = charAPI.Data;
foreach (CharacterSheet.LearnedSkill skill in charUpdate.Skills)
{
lSkills.Add(skill.ToString());
}


Previous to the API meltdown two weeks ago, this returned the names of all the skills and their associated levels (i.e. "Drones 2").

Now this just returns the Skill Id # and the level. Looking within the CharacterSheet object, within the Skills property, each individual Skill object is null. Am I using the API properly, or is this not the appropriate way to access this information?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.04.08 15:29:00 - [63]
 

Originally by: Dakmarid Darksun
For instance I do the following:
(I have removed some code for simplicity's sake)

CharacterSheetApi charAPI = new CharacterSheetApi();
CharacterSheet charUpdate = new CharacterSheet();
charAPI.UpdateData();
charUpdate = charAPI.Data;
foreach (CharacterSheet.LearnedSkill skill in charUpdate.Skills)
{
lSkills.Add(skill.ToString());
}


Previous to the API meltdown two weeks ago, this returned the names of all the skills and their associated levels (i.e. "Drones 2").

Now this just returns the Skill Id # and the level. Looking within the CharacterSheet object, within the Skills property, each individual Skill object is null. Am I using the API properly, or is this not the appropriate way to access this information?


OK I understand your problem now ;)

EveAI has two different methods of usage: "Simple mode" and "Complex mode". In Simple mode everything is done for you.

EveApi api = new EveApi ("userID", ...)
CharacterSheet charUpdate = api.GetCharacterSheet ();
foreach (CharacterSheet.LearnedSkill skill in charUpdate.Skills)
{
lSkills.Add(skill.ToString());
}

However this means that EveAI might drag in Data from the static data files as well as make multiple calls to the CCP APIs. I would recommend that unless you need some very special features you use the simple mode.

In complex mode you have to resolve this yourself. You can use the ResolveLiveReferences method of the CharacterSheetApi to do that (you need to pass a SkillTreeApi object to that method)

Dakmarid Darksun
Posted - 2008.04.08 15:52:00 - [64]
 

Edited by: Dakmarid Darksun on 08/04/2008 15:59:42
Ah ok. I was using the simple mode but swapped for the complex to be able to error handle a bit better.

I suppose this is why documentation is a good thing Wink

I will definitely use your suggestion.

EDIT: ResolveLiveReferences(EveApiBase[] resolveAPIs) how is this used?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.04.12 12:20:00 - [65]
 

Originally by: Dakmarid Darksun
Edited by: Dakmarid Darksun on 08/04/2008 15:59:42
Ah ok. I was using the simple mode but swapped for the complex to be able to error handle a bit better.

I suppose this is why documentation is a good thing Wink


If I should have some spare time I will try to write some docs. Especially the "complex mode" is surely completely non-self-explanatory ;)
However till I wrote the library I didn't have any time to ;)
Originally by: Dakmarid Darksun

EDIT: ResolveLiveReferences(EveApiBase[] resolveAPIs) how is this used?

You have to pass a "new EveApiBase[] {skillTree}" Array that contains a single (already updated) SkillTreeAPI object.
You could also do that in your own code. Its just a few lines in that case.

Takashi Kurosawa
Aliastra
Posted - 2008.04.15 18:17:00 - [66]
 

Originally by: Amida Ta

You can configure the cache directory to your linkings. Default is the application settings directory (Also see the link to eve-dev a few posts up).
The cache files are very similar to the original files that the server sends except query information gets coded in and some additional fields are added (like Timezone offsets and stuff).


How do I change the cache directory?

I'm currently using simple mode, but I have a feeling that complex mode is required to change it from the default? Could you give a quick example of how to use complex mode? I'm just looking to get a list of characters on an account and their charactersheets.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.04.17 22:04:00 - [67]
 

Edited by: Amida Ta on 21/04/2008 08:30:37
Here is an example:

CharacterSheetApi.Configuration.BaseDirectory = "c:\someDirectory\";
CharacterSheetApi charAPI = new CharacterSheetApi();
charAPI.UpdateData();
CharacterSheet charUpdate = charAPI.Data;

Aelena Thraant
The Executives
IT Alliance
Posted - 2008.05.08 19:11:00 - [68]
 

I'm trying to fix an issue with Corpulent not working with the pos api anymore after something with the newer patch. The developer has stopped developing it so I don't know a lot of what is going on with his code, but I found that the part that fails is the call to your library.

EveApi sbaseApi = new EveApi(numericId, apiKey, charId);
sbaseApi.Authentication.StarbaseID = entry.ItemID;
EveAI.Live.Corporation.Starbase apiStarbase = sbaseApi.GetCorporationStarbaseDetail();

the error I get is {"Object reference not set to an instance of an object."} System.Exception {System.NullReferenceException}

Using your sample tool I also get the same error. doing the starbase deatail section. Since I can't find your source code, I have no way to debug it to see what is going on. This is with with the 0.9.6 version.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.05.09 11:34:00 - [69]
 

Cannot really test this as my corp has no starbases :(
I assume you do have sufficient rights to get the starbase details...

Aelena Thraant
The Executives
IT Alliance
Posted - 2008.05.09 12:14:00 - [70]
 

Originally by: Amida Ta
Cannot really test this as my corp has no starbases :(
I assume you do have sufficient rights to get the starbase details...


Yes... I have director

I'm willing to test it if you want to make a special debug version for me to run or something.

Elly Gartner
Caldari
Stellar Research Incorporated
Posted - 2008.05.18 12:43:00 - [71]
 

Browsing through the web a bit, I found the following bug that might be the cause of the bug inside the EveAI library: Corresponding libeveapi bug. Fixing this would be very much appreciated, as I'd really like to be able to use corpulent. :)

Lovarthis
Posted - 2008.05.20 21:12:00 - [72]
 

Edited by: Lovarthis on 20/05/2008 21:21:04
Nicely done. The convenience of having the static data packaged into the API and having everything structured into components is just what I wanted to see. Thanks very much for doing this work.

Something that I could really use is the incorporation of all identifiers into the instances that they identify. For example, I'm trying to lookup prices in eve-central using product type identifiers. If I have an EveAI.Product.ProductType I have lots of wonderful information - except for the original type identifier. Other objects don't seem to provide any way of getting to the internal identifier, such as EveAI.Map.Region (which I also need to filter my eve-central lookups).

Thanks again for the good work.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.05.26 07:41:00 - [73]
 

Edited by: Amida Ta on 26/05/2008 07:43:17
Originally by: Elly Gartner
Browsing through the web a bit, I found the following bug that might be the cause of the bug inside the EveAI library: Corresponding libeveapi bug. Fixing this would be very much appreciated, as I'd really like to be able to use corpulent. :)


The problem in EveAI is likely the same. Just try:
EveAI.Live 0.9.9 Preview
Didn't test, but this may fix the problem.

Serrano Balthar
Black Nova Corp
Band of Brothers
Posted - 2008.05.27 10:25:00 - [74]
 

i'm really intrested in you'r api, but i start in c# and have somes trouble ot make it work fine, could you provide a source for a sample, or for the test executable ???

thanks.

Aelena Thraant
The Executives
IT Alliance
Posted - 2008.05.29 15:57:00 - [75]
 

Originally by: Amida Ta
Edited by: Amida Ta on 26/05/2008 07:43:17
Originally by: Elly Gartner
Browsing through the web a bit, I found the following bug that might be the cause of the bug inside the EveAI library: Corresponding libeveapi bug. Fixing this would be very much appreciated, as I'd really like to be able to use corpulent. :)


The problem in EveAI is likely the same. Just try:
EveAI.Live 0.9.9 Preview
Didn't test, but this may fix the problem.


It does... Thanks

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.29 20:46:00 - [76]
 

without sounding like a noob.......

how do i put

List<Alliance> alliances = api.GetAllianceData();

into a 'Tree View' thing???Question

i guess not sounding like a noob is out :P

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.29 21:46:00 - [77]
 

ok i have worked out how to get the list into a list box. (well at least it compiles :P)


but when i type in my API details i get

Unable to cast object of type 'System.Windows.Forms..TextBox' to type System.IConvertible)


the code for the login bit is

UserID = Convert.ToInt32(UserIDTB);
CharacterID = Convert.ToInt32(CharacterIDTB);
ApiKey = Convert.ToString(APIkeyTB);

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

List<Alliance> alliances = api.GetAllianceData();

foreach (Alliance a in alliances)
{
lstAlliance.Items.Add(a.Name);
}


any ideas???



Tiberius Xavier
Rage of Inferno
Burning Ambition
Posted - 2008.05.29 21:55:00 - [78]
 

Originally by: Callis Iqnatius
ok i have worked out how to get the list into a list box. (well at least it compiles :P)


but when i type in my API details i get

Unable to cast object of type 'System.Windows.Forms..TextBox' to type System.IConvertible)


the code for the login bit is

UserID = Convert.ToInt32(UserIDTB);
CharacterID = Convert.ToInt32(CharacterIDTB);
ApiKey = Convert.ToString(APIkeyTB);

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

List<Alliance> alliances = api.GetAllianceData();

foreach (Alliance a in alliances)
{
lstAlliance.Items.Add(a.Name);
}


any ideas???




You need to extract from the control. Add .Text to all your sources.
UserID = Convert.ToInt32(UserIDTB.Text);
CharacterID = Convert.ToInt32(CharacterIDTB.Text);
ApiKey = Convert.ToString(APIkeyTB.Text);


Side question, is this API OpenSource?

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.29 22:39:00 - [79]
 

Originally by: Tiberius Xavier
Originally by: Callis Iqnatius
ok i have worked out how to get the list into a list box. (well at least it compiles :P)


but when i type in my API details i get

Unable to cast object of type 'System.Windows.Forms..TextBox' to type System.IConvertible)


the code for the login bit is

UserID = Convert.ToInt32(UserIDTB);
CharacterID = Convert.ToInt32(CharacterIDTB);
ApiKey = Convert.ToString(APIkeyTB);

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

List<Alliance> alliances = api.GetAllianceData();

foreach (Alliance a in alliances)
{
lstAlliance.Items.Add(a.Name);
}


any ideas???




You need to extract from the control. Add .Text to all your sources.
UserID = Convert.ToInt32(UserIDTB.Text);
CharacterID = Convert.ToInt32(CharacterIDTB.Text);
ApiKey = Convert.ToString(APIkeyTB.Text);


Side question, is this API OpenSource?





ahh thx dude that fixed the problem!!

and as far as what i am writing is concerned yer i will be shearing my project and code (not that it will be any gd) not shore about the API tho :P

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.29 23:39:00 - [80]
 

ok sorry to be a pain hear ppl.. but this seems to be the only place to find the answers i need:P

is there an easy way to find out the 'List<Alliance>' bit in

List<Alliance> alliances = api.GetAllianceData();

for other API calls??? such as

api.GetCorporationStarbaseList()

i know im a lil over my head hear:P was just wondering if u guys could point me in the direction of the rubber rings ;P

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.30 00:00:00 - [81]
 

ok think im getting there....

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseList();


works up till the 'api.GetCorporationStarbaseList()' this was copied from the wiki so i know its correct.... any one know what i have done wrong??

Tiberius Xavier
Rage of Inferno
Burning Ambition
Posted - 2008.05.30 01:14:00 - [82]
 

Originally by: Callis Iqnatius

and as far as what i am writing is concerned yer i will be shearing my project and code (not that it will be any gd) not shore about the API tho :P


LOL. Let me rephrase my question. I'm not familiar with this API. I use libeveapi which I had to manually patch to work for my apps, and I was wondering if this particular API is open source. If it is open source, I may consider porting a current app over.

Originally by: Callis Iqnatius
ok think im getting there....

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseList();


works up till the 'api.GetCorporationStarbaseList()' this was copied from the wiki so i know its correct.... any one know what i have done wrong??


Again, I am not familiar with this API. Moreover, you are not being very descriptive the issue. How does it not work?

One possiblity is how did you construct the api object? It seems this library wants the userId, ApiKey and characterId up front in the constructor (which is deficient for what I need) The particular call you are making requires a full director key to acquire any data (for security reasons obviously).

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.30 13:05:00 - [83]
 

from what i can tell.... when i use the line

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

it grabs the data and Caches it.

then all i need to do is call the data i want.... which thinking about it doesn't make all that much sense but there you go :P

it worked with the alliance call

List<Alliance> alliances = api.GetAllianceData();

but that was copped directly from then wiki Linkage

the error i get the the line

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();

is

C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'

dose that make any sense?






Tiberius Xavier
Rage of Inferno
Burning Ambition
Posted - 2008.05.30 13:43:00 - [84]
 

Originally by: Callis Iqnatius
from what i can tell.... when i use the line

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

it grabs the data and Caches it.

then all i need to do is call the data i want.... which thinking about it doesn't make all that much sense but there you go :P

it worked with the alliance call

List<Alliance> alliances = api.GetAllianceData();

but that was copped directly from then wiki Linkage

the error i get the the line

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();

is

C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'

dose that make any sense?


Check what the return type from api.GetCorporationStarbaseDetail() because the error suggests that it does not return a List of Starbase.

Callis Iqnatius
Amarr
R.A.A.F. INC
Posted - 2008.05.30 15:00:00 - [85]
 

Originally by: Tiberius Xavier
Originally by: Callis Iqnatius
from what i can tell.... when i use the line

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

it grabs the data and Caches it.

then all i need to do is call the data i want.... which thinking about it doesn't make all that much sense but there you go :P

it worked with the alliance call

List<Alliance> alliances = api.GetAllianceData();

but that was copped directly from then wiki Linkage

the error i get the the line

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();

is

C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'

dose that make any sense?


Check what the return type from api.GetCorporationStarbaseDetail() because the error suggests that it does not return a List of Starbase.



would love to as sooon as i work out how.....

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.05.31 10:22:00 - [86]
 

Originally by: Callis Iqnatius
Originally by: Tiberius Xavier
Originally by: Callis Iqnatius
from what i can tell.... when i use the line

EveApi api = new EveApi(UserID, ApiKey, CharacterID);

it grabs the data and Caches it.

then all i need to do is call the data i want.... which thinking about it doesn't make all that much sense but there you go :P

it worked with the alliance call

List<Alliance> alliances = api.GetAllianceData();

but that was copped directly from then wiki Linkage

the error i get the the line

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();

is

C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'

dose that make any sense?


Check what the return type from api.GetCorporationStarbaseDetail() because the error suggests that it does not return a List of Starbase.



would love to as sooon as i work out how.....


What tool/application do you use for development? Usually your tool should tell you what the return type of a method call is.
In the case of GetCorporationStarbaseDetail() it will return a Starbase object (No list of Starbase Objects, just one single object).
Just saw you seem to be using VS 2005? Then just hover with the mouse over the method name and it will tell you the return type. As an alternative you can use the class browser.

Xaroth Brook
Minmatar
BIG
Gentlemen's Agreement
Posted - 2008.05.31 10:24:00 - [87]
 

Quote:

the error i get the the line

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();

is

C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'

dose that make any sense?


object o = api.GetCorporationStarbaseDetail();

Type t = o.GetType();

t then contains the type of what's returned, you can use a Console.WriteLine or MessageBox.Show to display the type of what got returned. (or insert a breakpoint at the o.GetType() line.)

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.05.31 10:29:00 - [88]
 

Originally by: Tiberius Xavier
Originally by: Callis Iqnatius

and as far as what i am writing is concerned yer i will be shearing my project and code (not that it will be any gd) not shore about the API tho :P


LOL. Let me rephrase my question. I'm not familiar with this API. I use libeveapi which I had to manually patch to work for my apps, and I was wondering if this particular API is open source. If it is open source, I may consider porting a current app over.


No, it is not open source. However feel free to look at the source using reflector or a similar tool.

Originally by: Tiberius Xavier

Originally by: Callis Iqnatius
ok think im getting there....

List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseList();


works up till the 'api.GetCorporationStarbaseList()' this was copied from the wiki so i know its correct.... any one know what i have done wrong??


Again, I am not familiar with this API. Moreover, you are not being very descriptive the issue. How does it not work?

One possiblity is how did you construct the api object? It seems this library wants the userId, ApiKey and characterId up front in the constructor (which is deficient for what I need) The particular call you are making requires a full director key to acquire any data (for security reasons obviously).


There are two modes in EveAI. Simple and complex mode. Complex is harder to understand (as I didn't have time to write any doc yet). Simple is geared towards making multiple calls with same credentials. However you can change the credentials at runtime and you could also simply construct multiple api objects.

Tiberius Xavier
Rage of Inferno
Burning Ambition
Posted - 2008.05.31 21:33:00 - [89]
 

Originally by: Amida Ta

No, it is not open source. However feel free to look at the source using reflector or a similar tool.

There are two modes in EveAI. Simple and complex mode. Complex is harder to understand (as I didn't have time to write any doc yet). Simple is geared towards making multiple calls with same credentials. However you can change the credentials at runtime and you could also simply construct multiple api objects.


Thanks for the feedback Amida Ta.

Well I need a little more transparency for the apps I write. Although your library seems robust and well maintained, I think I will be more confortable with another direction. I just hate having to reduplicate effort but that seems like the only way I can be certain of controlling the entire developement.

Elly Gartner
Caldari
Stellar Research Incorporated
Posted - 2008.06.01 08:25:00 - [90]
 

Originally by: Amida Ta
Edited by: Amida Ta on 26/05/2008 07:43:17
Originally by: Elly Gartner
Browsing through the web a bit, I found the following bug that might be the cause of the bug inside the EveAI library: Corresponding libeveapi bug. Fixing this would be very much appreciated, as I'd really like to be able to use corpulent. :)


The problem in EveAI is likely the same. Just try:
EveAI.Live 0.9.9 Preview
Didn't test, but this may fix the problem.


Yup, that fixes it :)

Thanks!

Elly Gartner


Pages: first : previous : 1 2 [3] 4 5 6 7 8 9 ... : 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