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

Lovarthis
Posted - 2008.06.02 21:18:00 - [91]
 

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


I don't understand the licensing of the libraries. Courtesy of Reflector, I have a private copy of the library sources and I've made additions and modifications that I need for my application (as I requested earlier in this thread). I'd like to share my application with others, but don't want to violate your rights as original author.

Are you permitting such modifications under any circumstances? Do you ever plan to go open source? Do you ever plan to simply release the rights to the sources so others can run with this?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.03 06:34:00 - [92]
 

Originally by: Lovarthis
Originally by: Amida Ta
No, it is not open source. However feel free to look at the source using reflector or a similar tool.


I don't understand the licensing of the libraries. Courtesy of Reflector, I have a private copy of the library sources and I've made additions and modifications that I need for my application (as I requested earlier in this thread). I'd like to share my application with others, but don't want to violate your rights as original author.

Are you permitting such modifications under any circumstances? Do you ever plan to go open source? Do you ever plan to simply release the rights to the sources so others can run with this?


I'm not happy with adding Id's to the objects directly. The idea behind the core is to get a real Object-oriented system and not just an object-encapsulated datatable/database.
On the other hand I can understand your requirement.
I hacked something up that you may try:
EveAI.Live 0.9.10 Preview
In that version DataCore has a method
public int GetIdForObject (object eveAiObject)
that will return the id-value for (nearly) any object that is part of DataCore.
It's likely not really performant. But I assume you don't need that to do a few lookups on the web.

And I might Open Source it at some point in time. But it is not currently planned (will do it in case I should abandon the project).

Lovarthis
Posted - 2008.06.03 12:45:00 - [93]
 

I appreciate the quick reply and the temporarily hacked (?) library, but "strange women lying in ponds distributing swords is no basis for a system of government". It looks like I get to reinvent this particular wheel. Which is a terrible shame. The libraries are a fine bit of work, but don't make the mistake that I did years ago of holding your creation so close to the vest that you smother its usefulness. Get it out there. Let others add to its usefulness. Let it become a community resource.

The value of having IDs in the data is that the IDs are a fundamental notion in the EVE data. Integration with any other EVE data source must be through either their static IDs or through some other invented identifier notion. If I were only using the data that you are making available, I'd be golden. However, I'm integrating with eve-central.com, which requires IDs. Any other source that I integrate with (e.g. CCP's data service directly when they add functions that you do not support) would produce the same requirement.

One means of including the IDs would be to override GetHashCode on all classes that have identifiers. I believe that's a valid use of that standard function.

(FYI, I'll be away from the web for the next two days)

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.03 17:39:00 - [94]
 

Originally by: Lovarthis
I appreciate the quick reply and the temporarily hacked (?) library, but "strange women lying in ponds distributing swords is no basis for a system of government". It looks like I get to reinvent this particular wheel. Which is a terrible shame. The libraries are a fine bit of work, but don't make the mistake that I did years ago of holding your creation so close to the vest that you smother its usefulness. Get it out there. Let others add to its usefulness. Let it become a community resource.


I'm fine with adding the functionallity as it is now. If it is useful this is by no means "temporary". (Hack is a term commonly used amongst programmers for a quickly coded solution).

Originally by: Lovarthis

The value of having IDs in the data is that the IDs are a fundamental notion in the EVE data. Integration with any other EVE data source must be through either their static IDs or through some other invented identifier notion. If I were only using the data that you are making available, I'd be golden. However, I'm integrating with eve-central.com, which requires IDs. Any other source that I integrate with (e.g. CCP's data service directly when they add functions that you do not support) would produce the same requirement.


As I said I can understand your requirement. However in the library the ID is not stored within the objects for good reasons (you can completely freely change the data using normal object-oriented methods). Imho the current solution to call a method to return the ID in case you really need it seems totally acceptable. And as long as you don't plan to use that method several thousand times per second you shouldn't get a problem with speed either. (The library is generally tuned towards perf, but this one will not be)

Originally by: Lovarthis

One means of including the IDs would be to override GetHashCode on all classes that have identifiers. I believe that's a valid use of that standard function.
(FYI, I'll be away from the web for the next two days)

That may be possible, however I don't really like it. The problem is that you would have to assign dummy IDs for user/application-created objects. Right now the method I wrote will return -1 if you call it for an object that is not part of EVEs static data pool. However for GetHashCode you obviously shouldn't return -1 for different objects.

Baline Aegis
Posted - 2008.06.08 19:50:00 - [95]
 

http://wiki.eve-id.net/EveAI What is "common use" license, please ?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.09 21:14:00 - [96]
 

Originally by: Baline Aegis
http://wiki.eve-id.net/EveAI What is "common use" license, please ?

Feel free to use it for your project, but currently the source is not available.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.09 21:18:00 - [97]
 

Edited by: Amida Ta on 30/06/2008 20:52:33
By the way. Two "simple" diagrams for EveAI Live (EveAI Core is missing, because then the diagrams would be REALLY large ;)

Simple mode:
http://dl.eve-files.com/media/corp/Foxfire/EveAI.Live.Simple.png
Please visit your user settings to re-enable images.

Full mode:
http://dl.eve-files.com/media/corp/Foxfire/EveAI.Live.Full.png
Please visit your user settings to re-enable images.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.27 07:42:00 - [98]
 

Version 0.9.11 has been released. It adds support for retrieving Market data from Eve Central.
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.11.zip

Usage is very simple. E.g.:

using EveAI.Live.Market
MarketApi marketApi = new EveCentralMarketApi ();
ProductStatistics p = marketApi.GetProductStatistics (product);
Console.WriteLine (p.Product " + ": " + p.BuyOrders.Median);

The sample application als has a tab added that demonstrates this.
There is also an GetProductStatistics overload that takes more parameters (region, multiple products, multiple regions, minimum Quantity)

Nerith Gorn
Salamander Salvage and Custom Rigging
Posted - 2008.06.27 13:04:00 - [99]
 

Edited by: Nerith Gorn on 27/06/2008 13:20:21

var sheets = new List<CharacterSheet>();

var api = new EveApi(characters.UserID, characters.ApiKey, characters.CharID);

sheets.Add(api.GetCharacterSheet());


Above snippet results in an exception


System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="EveAI.Live"
StackTrace:
at EveAI.Live.Character.CharacterSheetApi.ResolveLiveReferences(EveApiBase[] resolveApis)
at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi, Boolean resolve)
at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi)
at EveAI.Live.EveApi.GetCharacterSheet()
at Dashboard.Data.EveAPI.EveInfo.GetCharacterSheets() in <long path>\EveInfo.cs:line 20
at Dashboard.UI.Preferences.ListView_Initialized(Object sender, EventArgs e) in <long path>\Preferences.xaml.cs:line 36
at System.Windows.FrameworkElement.RaiseInitialized(EventPrivateKey key, EventArgs e)
at System.Windows.FrameworkElement.OnInitialized(EventArgs e)
at System.Windows.FrameworkElement.TryFireInitialized()
at System.Windows.FrameworkElement.EndInit()
at System.Windows.Controls.ItemsControl.EndInit()
at System.Windows.Markup.BamlRecordReader.ElementEndInit(Object& element)
InnerException:



Question: Is there a way of setting the base url to point to another webservice rather than the CCP server for testing purposes?

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.27 13:34:00 - [100]
 

Originally by: Nerith Gorn
Edited by: Nerith Gorn on 27/06/2008 13:20:21

var sheets = new List<CharacterSheet>();

var api = new EveApi(characters.UserID, characters.ApiKey, characters.CharID);

sheets.Add(api.GetCharacterSheet());


Above snippet results in an exception


System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="EveAI.Live"
StackTrace:
at EveAI.Live.Character.CharacterSheetApi.ResolveLiveReferences(EveApiBase[] resolveApis)
at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi, Boolean resolve)
at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi)
at EveAI.Live.EveApi.GetCharacterSheet()
at Dashboard.Data.EveAPI.EveInfo.GetCharacterSheets() in <long path>\EveInfo.cs:line 20
at Dashboard.UI.Preferences.ListView_Initialized(Object sender, EventArgs e) in <long path>\Preferences.xaml.cs:line 36
at System.Windows.FrameworkElement.RaiseInitialized(EventPrivateKey key, EventArgs e)
at System.Windows.FrameworkElement.OnInitialized(EventArgs e)
at System.Windows.FrameworkElement.TryFireInitialized()
at System.Windows.FrameworkElement.EndInit()
at System.Windows.Controls.ItemsControl.EndInit()
at System.Windows.Markup.BamlRecordReader.ElementEndInit(Object& element)
InnerException:



Question: Is there a way of setting the base url to point to another webservice rather than the CCP server for testing purposes?


My assumption is that you pass null for characters.ApiKey instead of the ApiKey.

You can set the url with the static:
EveApiBase.Configuration.BaseAddress
however this is not recommended ;)

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.06.30 20:48:00 - [101]
 

Version 0.9.12 has been released. It adds support for most of the factional warfare APIs.

http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.12.zip

Unfortunatelly as I do not take part in factional warfare I cannot get the data for the char based char/FacWarStats.xml.aspx and corp based corp/FacWarStats.xml.aspx. Would be nice if somebody could supply a sample.

The demo application has been updated, too.

Please note: The occupacy map currently fails with an exception because there is a stupidity in the API that will hopefully get fixed (on the servers) very soon. If not I will add a workaround for it...

Nerith Gorn
Salamander Salvage and Custom Rigging
Posted - 2008.07.02 11:52:00 - [102]
 

Edited by: Nerith Gorn on 02/07/2008 13:06:20
Edited by: Nerith Gorn on 02/07/2008 12:02:51
You may want to do a rebuild of EveAI.Core.dll

The Eve.Data.Core.zip file in your project is missing the following files
dbo_eveGraphics.csv
dbo_eveNames.csv
dbo_agtAgents.csv
dbo_mapDenormalize.csv

The file dbo_invTypes.csv uses "#TRUE#" and "#FALSE#" for the published column but your method ReadBool uses a case sensitive comparison to "true" to set the Published property.


There is a logic error in your DataReader.Read() method, this.ReadNpcCorporations(); is reliant on this.ReadNames() being called first but the the only call to this.ReadNames() is optional.


I'd also like to add my voice to please open source this and give it a proper licence.

blubber dubba
Posted - 2008.07.02 15:55:00 - [103]
 

hi,

great API, but I'm to stupid to use it?

EveApi api = new EveApi();

returns in:
"{"Specified argument was out of the range of valid values.\r\nParameter name: apiKey"}"


EveApi api = new EveApi (UserID, ApiKey, CharacterID);
Maybe work.. but I don't have the Character Id.. how do i get it work? I would like read out my balance from Character X.


Thanks a lot for help



about licensing: Very Happy
http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html


Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.02 16:23:00 - [104]
 

Originally by: Nerith Gorn
Edited by: Nerith Gorn on 02/07/2008 13:06:20
Edited by: Nerith Gorn on 02/07/2008 12:02:51
You may want to do a rebuild of EveAI.Core.dll

The Eve.Data.Core.zip file in your project is missing the following files
dbo_eveGraphics.csv
dbo_eveNames.csv
dbo_agtAgents.csv
dbo_mapDenormalize.csv

The file dbo_invTypes.csv uses "#TRUE#" and "#FALSE#" for the published column but your method ReadBool uses a case sensitive comparison to "true" to set the Published property.


There is a logic error in your DataReader.Read() method, this.ReadNpcCorporations(); is reliant on this.ReadNames() being called first but the the only call to this.ReadNames() is optional.


I'd also like to add my voice to please open source this and give it a proper licence.


1) It is by design that Eve.Data.Core.zip is missing some tables. This is to reduce the size of the assemblies. The data mentioned is not needed for most cases. In case you need it you can get the data from http://wiki.eve-id.net/EveAI (or see the first post in this thread). It is sufficient to copy the EveAI.Data.zip into the Application Directory. Then the data will be automatically used.

2) dbo_invTypes.csv uses "#TRUE#". Thanks for spotting this error. Seems to have happened with the last data update. I'll correct this for the next version.

3) There is a logic error in your DataReader.Read() method. This is by design, too. You can opt to not load the string table (if you want to save memory and don't need it). By default the names will be read if available.

4) Have been thinking about open sourcing it, we'll see.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.02 16:38:00 - [105]
 

First one is a bug that I introduced with last version :(
Added some parameter checks, but seems to be one too much ;)

For reading your balance you need your characterID. You can get your characterID e.g. from the AccountEntries API. For using this you can just pass 0 for your characterID (maybe I should add another overload without characterID ;)

Originally by: blubber dubba
hi,

great API, but I'm to stupid to use it?

EveApi api = new EveApi();

returns in:
"{"Specified argument was out of the range of valid values.\r\nParameter name: apiKey"}"


EveApi api = new EveApi (UserID, ApiKey, CharacterID);
Maybe work.. but I don't have the Character Id.. how do i get it work? I would like read out my balance from Character X.


Thanks a lot for help



about licensing: Very Happy
http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html



blubber dubba
Posted - 2008.07.02 16:46:00 - [106]
 

Okay thx :)



Originally by: Amida Ta
First one is a bug that I introduced with last version :(
Added some parameter checks, but seems to be one too much ;)

For reading your balance you need your characterID. You can get your characterID e.g. from the AccountEntries API. For using this you can just pass 0 for your characterID (maybe I should add another overload without characterID ;)

Originally by: blubber dubba
hi,

great API, but I'm to stupid to use it?

EveApi api = new EveApi();

returns in:
"{"Specified argument was out of the range of valid values.\r\nParameter name: apiKey"}"


EveApi api = new EveApi (UserID, ApiKey, CharacterID);
Maybe work.. but I don't have the Character Id.. how do i get it work? I would like read out my balance from Character X.


Thanks a lot for help



about licensing: Very Happy
http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html




Nerith Gorn
Salamander Salvage and Custom Rigging
Posted - 2008.07.03 08:31:00 - [107]
 

Originally by: Amida Ta

1) It is by design that Eve.Data.Core.zip is missing some tables. This is to reduce the size of the assemblies. The data mentioned is not needed for most cases. In case you need it you can get the data from http://wiki.eve-id.net/EveAI (or see the first post in this thread). It is sufficient to copy the EveAI.Data.zip into the Application Directory. Then the data will be automatically used.



Then can you add in a custom exception because getting a NullObjectException when you do new DataCore(); required me to disassemble the code to find out what was wrong.

Alfred Spangler
NoD Imperium
Posted - 2008.07.03 12:03:00 - [108]
 

Edited by: Alfred Spangler on 06/07/2008 22:16:10
[Edit] Nevermind, eve files works again Smile

Just for good measure, a mirror:
EveAI_Live_0.9.12.zip [egoshare.com]
Egoshare does not work with Firefox for me, use Internet Explorer for that site.
[Edit] New Mirrors:
EveAI_Live_0.9.13.zip [egoshare.com]
EveAI_Live_0.9.13.zip [speedshare.org]
[Edit] New Mirrors:
EveAI_Live_0.9.14.zip [depositfiles.com]
EveAI_Live_0.9.14.zip [speedshare.org]

Regards, A.S.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.04 08:50:00 - [109]
 

Originally by: Nerith Gorn
Originally by: Amida Ta

1) It is by design that Eve.Data.Core.zip is missing some tables. This is to reduce the size of the assemblies. The data mentioned is not needed for most cases. In case you need it you can get the data from http://wiki.eve-id.net/EveAI (or see the first post in this thread). It is sufficient to copy the EveAI.Data.zip into the Application Directory. Then the data will be automatically used.



Then can you add in a custom exception because getting a NullObjectException when you do new DataCore(); required me to disassemble the code to find out what was wrong.



Getting an internal exception is not "as designed". Could you tell me what you did to get it (or give me a stacktrace)? It just shouldn't fill fields where data isn't available (set to null) but shouldn't raise any exception.

Alfred Spangler
NoD Imperium
Posted - 2008.07.06 00:47:00 - [110]
 

Edited by: Alfred Spangler on 06/07/2008 01:03:55
Thank you very much for your great library Amida,it works great so far.

Question The Question: Is there a way to get a ProductType by its TypeID (for use with the evecentral api in this case)?

EveAI.DataCore.FindProductType always returns null to me.
I want to do something like this:

ProductType product ;
DataCore dataCore = new DataCore();
product = dataCore.FindProductType(4027);


product is null after that.
(4027 being the ID of a Fleeting Propulsion Inhibitor I, just as an example)

Thanks for reading Smile
Regards, A.S.

Arous Drephius
Posted - 2008.07.06 10:21:00 - [111]
 

Edited by: Arous Drephius on 06/07/2008 10:21:36
Is it just me being stupid, but I can't seem to get the test application to run. On Vista I get the standard (and completely useless) "Program stopped working" dialog, and on XP I get the "Program encountered a problem and needs to close...Send/Don't send" dialog. This happens as soon as I launch the app.

Edit: Yes, I have the .NET framework installed. Other .NET apps run fine.

Alfred Spangler
NoD Imperium
Posted - 2008.07.06 11:25:00 - [112]
 

Originally by: Arous Drephius
Edited by: Arous Drephius on 06/07/2008 10:21:36
Is it just me being stupid, but I can't seem to get the test application to run. On Vista I get the standard (and completely useless) "Program stopped working" dialog, and on XP I get the "Program encountered a problem and needs to close...Send/Don't send" dialog. This happens as soon as I launch the app.

Edit: Yes, I have the .NET framework installed. Other .NET apps run fine.


You are not alone Smile
The Test Application does simply nothing for me on XP SP3, no matter if I run it from explorer or from command line.

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.06 11:36:00 - [113]
 

Originally by: Arous Drephius
Edited by: Arous Drephius on 06/07/2008 10:21:36
Is it just me being stupid, but I can't seem to get the test application to run. On Vista I get the standard (and completely useless) "Program stopped working" dialog, and on XP I get the "Program encountered a problem and needs to close...Send/Don't send" dialog. This happens as soon as I launch the app.

Edit: Yes, I have the .NET framework installed. Other .NET apps run fine.


UUps my mistake

Version 0.9.13 fixes the problem.

http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.13.zip

I'm still looking for samlples for personal and corp warfare stats:
Unfortunatelly as I do not take part in factional warfare I cannot get the data for the char based char/FacWarStats.xml.aspx and corp based corp/FacWarStats.xml.aspx. Would be nice if somebody could supply a sample.

Alfred Spangler
NoD Imperium
Posted - 2008.07.06 11:57:00 - [114]
 

Originally by: Amida Ta

I'm still looking for samlples for personal and corp warfare stats:
Unfortunatelly as I do not take part in factional warfare I cannot get the data for the char based char/FacWarStats.xml.aspx and corp based corp/FacWarStats.xml.aspx. Would be nice if somebody could supply a sample.


If you can give me a pointer how to get the files, I'm happy to provide you with samples.

Regards,A.S.

JimBob666
Minmatar
Solstice Systems Development Concourse
Aggression.
Posted - 2008.07.06 15:03:00 - [115]
 

Hiya.
First of all, thanx for the EveAI, im finding it very useful :)

Anyway, im trying to get the "GetCorporationStarbaseDetail()" method to work with no luck so far.

Is this part still under development, or am I just being a noob :P

If it does work, can someone please throw in some example code of how you would find out the fuel levels of a particular POS.

Thanx in advance.
JIM

Arous Drephius
Posted - 2008.07.06 18:06:00 - [116]
 

Edited by: Arous Drephius on 06/07/2008 18:07:31
char/FacWarStats.xml.aspx
corp/FacWarStats.xml.aspx

Enjoy :)

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.06 21:04:00 - [117]
 

Version 0.9.14 adds experimental support for the character and corporation faction statistics. You/your corp needs to be enlisted for factions wars to get any data.
As I'm not I could not do any tests. So just hoping this works ;)

http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.14.zip

Arous Drephius
Posted - 2008.07.07 07:37:00 - [118]
 

The test application seems to work fine displaying the faction stats for me.

JimBob666
Minmatar
Solstice Systems Development Concourse
Aggression.
Posted - 2008.07.18 17:51:00 - [119]
 

Originally by: JimBob666
Hiya.
First of all, thanx for the EveAI, im finding it very useful :)

Anyway, im trying to get the "GetCorporationStarbaseDetail()" method to work with no luck so far.

Is this part still under development, or am I just being a noob :P

If it does work, can someone please throw in some example code of how you would find out the fuel levels of a particular POS.

Thanx in advance.
JIM


BUMP!
Still looking to find out if getting information on a particular starbase works or is under construction!!!

JIM

Amida Ta
German Mining and Manufacture Corp.
Posted - 2008.07.19 09:58:00 - [120]
 

Edited by: Amida Ta on 19/07/2008 09:59:29
Originally by: JimBob666
Originally by: JimBob666
Hiya.
First of all, thanx for the EveAI, im finding it very useful :)

Anyway, im trying to get the "GetCorporationStarbaseDetail()" method to work with no luck so far.

Is this part still under development, or am I just being a noob :P

If it does work, can someone please throw in some example code of how you would find out the fuel levels of a particular POS.

Thanx in advance.
JIM


BUMP!
Still looking to find out if getting information on a particular starbase works or is under construction!!!

JIM

Could you tell me where your problem is?
I don't use the API myself, but I know that others do, so it should work.
You just need to set the StarbaseID of the Authentication property of the EveAi object to the requested starbase and then call the API.

Edit: Does it work in the sample Application for your? There you set the StarbaseID in the Advanced dialog...


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