EVE Online API Keys, EveAi, C#

...komplette Frage anzeigen

2 Antworten

OK, damit wir uns nicht in den Schachtelungstiefen verlieren aufs neue von oben...

Die Parameter für den Konstruktor new EveApi(KeyId, "vCode", CharId) müssen fehlerhaft sein. Alle drei sind Schlüssel, die Du persönlich zum Zugriff bekommen hast. Ich habe den Eindruck, daß der "APIKey", den Du als Stringkonstante "vCode" eingetragen hast, nicht der tatsächlich notwendige APIKey ist (das sollte ein Hashwert mit so rund 20 Zeichen sein), sondern der in einigen veröffentlichten Beispielen übliche Bezeichner VCode einfach in Anführungszeichen gesetzt.

Vargus 25.10.2012, 10:56

Der vCode, doe KeyID und die CharID sind allesamt korrekt, habe sie aus sicherheitsgründen nicht angegeben. KeyId und CharId sind dabei integer, und vCode ist ein string.

0
Vargus 25.10.2012, 12:08
@WhiteGandalf

wie gebe ich die paramater für das xml dokument über den browser an?

0
WhiteGandalf 25.10.2012, 13:18
@Vargus

Die allgemeine Syntax ist:

irgendeine-url?parametername=parameterwert&weitererparamname=weitererwert&nocheiner=wasanderes&unsoweiter&undsofort

Also: jeweils ein "&" zwischen Parameter und ein "=" zwischen Parameter-Name und Parameter-Wert. Die Parameter-Namen sollten wörtlich die Zeichenketten sein, die als Parametername im Wiki stehen... Die Werte jeweils die von Dir einzusetzenden Schlüsselwerte.

Außerdem sollte der Server eigentlich bei falscher Syntax eine Meckerei abgeben, die einen Hinweis zum Fehler liefert...

Gute Übung übrigens zum Einspielen in die HTTP-Parameter-Sache...!

0

Das ist zu wenig Code. Im abgebildeten Schnipsel sind als Kandidaten für den Fehler (der angibt, daß eine Objekt-Variable auf KEIN Objekt zeigt) auszumachen:

* KeyId
* CharId
* Console

Wer davon der Bösling ist, mußt Du im restlichen Code prüfen!

Vargus 24.10.2012, 15:03

Das ist der komplette Code. VS meint, dass "charSheet" nicht zugewiesen ist. Es IST aber zugewiesen: CharacterSheet charSheet = api.GetCharacterSheet();

selbst CharacterSheet charSheet = new CharacterSheet() funzt nicht.

0
WhiteGandalf 24.10.2012, 15:21
@Vargus

Neee, der komplette Code KANN das nicht sein. Da gehören mindestens eine Reihe von Includes dazu! Ansonsten wäre die Meckerei des Compilers eher noch höflich zu nennen!

Es geht schon damit los, daß der Compiler UNMÖGLICH wissen kann, was ein

EveApi

ist. Schon bei diesem allerersten Wort müßte er meckern. Falls er das nicht tut, dann nur, weil er an der Stelle Ausweichemanöver fährt, wo er krampfhaft irgendwelche Standardannahmen einsetzt, um Dir entgegenzukommen. Aber das kann natürlich nichts werden...

0
Vargus 24.10.2012, 16:08
@WhiteGandalf

Ja gut, ich dachte nur dass das zu viel gewesen wäre.

using System;
using System.Text;
using EveAI.Live;
using EveAI.Live.Characters;

class Programm{
static void main(){
//code}}
0
WhiteGandalf 24.10.2012, 17:16
@Vargus

Nun ja... ZUGEWIESEN im formellen Sinne schon.

Aber: IST da TATSÄCHLICH ein Wert auf dem charSheet nach dessen Abfrage?

Ich könnte mir vorstellen, daß in der KeyId oder CharId, die Du ja auch noch irgendwie von außen reinbringst (oder in EveAI.Live und EveAI.Live.Characters definierst??), ein Tippfehler eingeschlichen ist.

Dann würde der charSheet null bleiben.

Prüfe das doch einfach mal! Mit ner kleinen Konsolenausgabe des Zeigers!

Ach übrigens: Danke für die Frage! Offenbar könnte EVE mal einen Blick wert sein, falls ich mal wieder irgendwann Freizeit überflüssig haben sollte... Ich kenne noch nicht so viele Online-Spiele, bei denen den Spielern Scripting explizit erlaubt ist und sogar unterstützt wird.

0
Vargus 25.10.2012, 08:34
@WhiteGandalf

Das habe ich bereits im Debugmodus getestet, charSheet ist tatsächlich null. Und gerade da ist ja mein Problem. Tippfehler sind keine enthalten.

Und EVE empfehle ich tatsächlich weiter, das beste Online-Spiel, dass die Welt zu bieten hat. Es ist verdammt(!) komplex und schwer zu verstehen, aber es macht riesen Spaß.

Aber trotzdem Danke für Deinen Hilfeversuch ;)

0

Was möchtest Du wissen?