Quest Datenbank

Crosaider-92

Rare-Mob
Mitglied seit
06.06.2007
Beiträge
171
Reaktionspunkte
0
Kommentare
26
Buffs erhalten
19
Hallo @ all

Ich möchte gerne ein Addon schreiben, welches so ähnlich wie QuestCompletelist ist. Es soll also die Quests vom Server abrufen und dann die noch nicht abgeschlossenen schön in einer Liste anzeigen. Es sollen allerdings nur die Quests angezeigt werden, welche momentan verfügbar sind, d.h. Folgequests, usw. sollen erst dann angezeigt werden, wenn der Quest über ihm abgeschlossen wurde. Dafür brauche ich doch eine eigene offline Datenbank oder irre ich mich da? Mein Problem wie soll ich an diese herankommen? Gibt es schon irgendwelche die ich benutzen kann?

Oder denke ich im moment in die falsche Richtung? Hoffe ihr könnt mir helfen.

Viele Grüße
Crosaider-92
 
Du denkst richtig. Du brauchst eine offline Datenbank. Alle Quest Add-ons haben eine Datenbank bei sich, aber ob du sie benutzen darfst, liegt am Autor vom Add-on. :-)
 
Okay. danke schonmal dafür
Dürfte ich theroteisch von alle Quests auf WoWHead oder Buffed die ID, den Namen, die X und Y Koordinate und den Start NPC / Item auslesen und verwenden? Oder woher kann ich meine Daten bekommen?
 
@floppydrive
Ich weiß das es oslche Addons gibt - es geht mir darum eins selber zu schreiben.

Ich habe jetzt meine offline Quest Datenbank. Aber jetzt weiß ich nicht wie ich sie mit den abgeschlossenen Quests vergleichen und irgendwo speichern soll. Kann mir jemand ein paar Stichworte sagen nach denen ich suchen kann? Ich weiß bis jetzt nur das ich die fertigen Quests mit GetQuestsCompleted bekomme. Aber wie vergleiche ich sie dann und speichere das Ergebniss?

Und noch eine Frage: Wie kann ich am besten das Questfenster nachbauen bzw. kann ich das vererben? Ich will auch so eine Liste für die Quests haben. Kenne aus der normalen Programmierung eine ListView - die habe ich aber für WoW nicht gefunden. Wie geht das am besten??
 
Zuletzt bearbeitet von einem Moderator:
So einfach wie ListView ist das hier nicht. ;-) Das eher was für fortgeschrittene WoW-Lua-Programmierer. Das ganze nennt sich hier FauxScrollFrame.

Vergleichen könntest du ganz einfach per for-Schleife...
 
Okay vielen dank

Aber wie geht das am besten mit dem Nachbauen vom Questframe? Kann ich mein Addon irgendwie von dem Fenster erben lassen?
 
Zuletzt bearbeitet von einem Moderator:
http://wow.go-hero.net/framexml/

Wenn du jetzt immer noch nicht weiter weisst, dann solltest du vielleicht mit etwas leichteren anfangen. :-)
 
Du kannst Shanty bei den Aussagen übrigens vertrauen, der baut Interfaces auch aus dem Kopf. ^^

Apropos,@Shanty: ich muss dich demnächst mal nerven, ob du was weißt bzgl. fehlerhafter WOW-LUA-Funktionen im 64-Bit-Client .. Stichwort: Moggen ^^
 
Zuletzt bearbeitet von einem Moderator:
Habe doch noch eine Frage - meine Datenbank ist so aufgebaut:

EasternQuests = {
[5145] = {
[26014] = {5145,1,54,72,"Captain Glovaal","The Brothers Digsong",""},
... usw.
}

Sie steht in einer eigenen LUA Datei welche auch über die toc Datei eingebunden wird. Ich kann aber leider nicht so auf sie zugreifen:

local counter = 0;
for v in pairs (EasternQuests) do
counter = counter + 1;
end
print(counter);

Was habe ich da falsch gemacht?? Er findet die Variable schon nicht -..-
 
Zuletzt bearbeitet von einem Moderator:
Wenn du wissen willst, wie viel Einträge eine Tabelle hat, macht man nur #EasternQuests oder table.getn(EasternQuests) (Beides das selbe Ergebnis)

Deine Tabelle muss in der Toc-Datei über der Abfrage geordnet sein.
 
Habs überprüft - der Fehler liegt wohl irgendwo in der Sytax von der Liste. Kann man Addons irgendwie debuggen um zu sehen wo diesere Fehler liegt??

Und warum gibt mir der obere Teil das richtige zurück und der untere Teil 0 obwohl im oberen Teil v=5042 ist

Code:
local counter = 0;
	for v in pairs (MaelstromQuests) do
		for w in pairs (MaelstromQuests[v]) do
			counter = counter + 1;
		end
	end
	print(counter);
	
print(table.getn(MaelstromQuests[5042]));
 
Zuletzt bearbeitet von einem Moderator:
Hi,

ich an deiner Stelle würde so ein Addon nicht schreiben. Das ist zu viel Aufwand und es gibt schon genügen Quest Helper Addons.

Wenn jeder so denken würde, dann hätten wir ja gar keine AddOns mehr. Motiviert ihn doch statt ihn davon abzuraten ...

@TE

Eigentlich ist print( ) so ziemlich der gängigste Befehl um etwas zu debuggen. Ich weiß nicht woran es liegt, aber der kleine Codeabschnitt reicht mir auch nicht wirklich um dir zu sagen, was da falsch sein könnte.
 
Wieso wieder so kompliziert?
Code:
local gesamt = 0;
for id, tabelle in next, MaelstromQuests do
        local eintraege = #MaelstromQuests[id];
        
        gesamt = gesamt + eintraege;
        
        print("Einträge: " + eintraege);
end

print("Gesamt: " + gesamt);
 
Zuletzt bearbeitet von einem Moderator:
War es nicht so, das 'getn','ipairs' und '#' nur bei Listen funktionieren, deren Schlüssel 1-n durchnummeriert sind ?
Für alle anderen hilft meiner Erinnerung nach wirklich nur eine pairs-Zählschleife.
 
Zurück