vor einiger Zeit hatte ich angekündigt, ein "all-in-one" Modul für WoW mit Battle.net API Anbindung für Ilch 2 zu entwickeln. Alle Daten werden automatisch über die WoW-API von Blizzard eingelesen und auch gecached.
Seit dem hat sich einiges getan, das Modul ist schon relativ weit fortgeschritten.
Den Fortschritt möchte ich der Community nicht vorenthalten - hier die ersten Eindrücke. Es gibt noch einige Baustellen (vorallem Übersetzungen und Layout (orientiert sich natürlich an Bootstrap damit Themes einfach möglich sind)). Auf die (zumindest für WoW-Spieler) offensichtlichen Features gehe ich (noch) nicht ein, Erklärungen werden nach und nach ergänzt.
______________________
Momentan in Arbeit:
21.02.2017: Gilden-Import mit Ajax (aufgrund der langen Import-Dauer), Update der gespeicherten Charakter, automatische News, Refactoring
______________________
- Die Darstellung und Übersetzungen auf den Screenshots werden natürlich noch angepasst. Bisher liegt der Fokus auf dem Sammeln aller notwendigen Daten, nicht auf der Darstellung! Also, nicht erschrecken. -
Anregungen gerne gesehen! Einfach hier reinschreiben.
1.) Arsenal
1.1) Characteransicht
1.2) Raid-Audit (PvE)
Es werden verschiedene Dinge geprüft wie
- Fehlt ein Gegenstand
- Ist der Gegenstand von der korrekten Rüstungsklasse (Stoff, Leder, Schwere Rüstung etc.) bzw. ist das die Hauptrüstungsklasse des Charakters (manche nutzen falsche Items zum Pushen des Avg. Itemlevels)
- Stimmen die Stats auf dem Gegenstand mit den Hauptstats des Charakters überein?
- sind PvP-Gegenstände angelegt (gibt es glaube ich momentan gar nicht mehr wirklich, wie man an meinem Progress weiter unten sehen kann habe ich es in letzter Zeit etwas schleifen lassen ^^)
- woher die Items kommen (das Itemlevel sagt ja nicht mehr viel aus in Zeiten von Mythic Dungeons)
- Sockel
- Verzauberungen
- Upgrades
- Ist das Itemlevel des Gegenstands unterdurchschnittlich? (97% vom durchschnittlich angelegten Itemlevel (orange) bzw. 80% vom Avg Itemlevel (rot))
Der Progress der letzten 4 Raids wird übersichtlich dargestellt; "Gelber" Progress bedeutet der Charakter hat einen Boss weniger als 3x gelegt.
Vorbereitet für die wowhead Tooltips mit korrekter Darstellung von Upgrades, Sockeln, Verzauberung und Item-Set-Boni
1.3) Feed
... in Arbeit ...
1.4) PvP
... in Arbeit ...
1.5) Mounts
Nichts besonderes, wird noch schöner
1.6) Pets
Die Battle-Pets drehen sich beim überfahren mit der Maus. Die Grafik wird vom WoW Media-Server geladen. Blizzard hat keine sonderlich hohe restriktion bzgl. Nutzung der Medien, hoffen wir dass das auch in Zukunft so bleibt
1.7) Ruf
Nichts besonderes, wird noch schöner
1.8) Titel
Der aktuell ausgewählte Titel wird später auch ganz oben neben dem Charakter-Bild angezeigt.
1.9) Gilde
... in Arbeit ...
Dort wird später eine kurze Übersicht der Gilde zu sehen sein, ähnlich dem Mitgliederverzeichnis (weiter unten)
1.10) Realm
Ich denke mit Legion wird das evtl. wieder Interessant, da scheint es wieder ein Open World Event zu geben, möglicherweise gibt die API dann auch was her, so wie bei Tol Barad bzw. Tausendwinter (Online Timer). Die Zeit ist abhängig von der Zeitzone auf dem Realm bzw. die Zeitzone wird berücksichtigt.
2.) Gildenverzeichnis
Im Admin-Bereich kann die Gilde festgelegt werden. Das Verzeichnis wird entsprechend den Gildendaten angezeigt. Bisher nur eine Liste aller Charakter, mehr kommt später.
2.1) Verzeichnis
Zeigt später die Chars in der Reihenfolge der Gildenränge (mit Bezeichnung, im Backend einstellbar) an. Sortierung lässt sich vielleicht ändern, ein paar andere Angaben werden dort auch angezeigt, falls möglich auch das Wappen (die Daten für das Wappen liefert die API, brauche noch die passenden Medien dazu).
2.2) Statistiken
Grafische Aufbereitung einiger Kennzahlen, z.B. Level-, Klassen-, und Rollenverteilung.
Die Zahlen im Screenshot stimmen ebensowenig die die Diagrammdarstellung.
3.) Backend
Im Backend kann alles mögliche eingestellt werden.
3.1) Konfiguration
... in Arbeit ...
Da manche Funktionen zeitgesteuert ablaufen müssen (z.B. automatische News-Artikel) wird es ein Cronjob-Script geben, das periodisch aufgerufen werden muss (entweder man kann bei seinem Webspace-Provider Cronjobs anlegen oder man nutzt einen externen Cronjob-Dienst). Der Schlüssel hierfür wird z.B. unter "Konfiguration" festgelegt.
3.2) API Konfiguration
Seit kurzem benötigt man für jeglichen API-Zugriff einen kostenlosen API-Schlüssel. Der wird im Backend hinterlegt, ebenso wie die Region, Sprache und die Gilde.
3.3) Rang zu Gruppe
Mit dieser Funktion wird es möglich, anhand des Gildenrangs eines Charakters automatisch eine Ilch-Gruppe zuzuweisen. Ein Ilch-Member kann später seine Charakter angeben. Ein Admin muss diese Angabe bestätigen, d.h. dass dieser Charakter wirklich dem jeweiligen User gehört. Bei Beförderung oder Degradierung in WoW wird automatisch die Ilch-Gruppe angepasst. Falls ein Ilch-Member Mitglied mehrerer Gruppen sein kann erhält der Ilch-Member alle Gruppen aller Ränge aller seiner Charakter.
3.4) Verzeichnis
Da die API nicht die Bezeichnungen für die Gildenränge liefert kann die Bezeichnung hier eingetragen werden, wie sie im Spiel vom Gildenmeister festgelegt wurde.
3.5) Realm-Status
Es gibt eine Box, in der der Realm-Status zusammengefasst wird. Hier stellt man den / die Realms ein, die angezeigt werden sollen.
3.6) Rekrutierung
Es wird eine Box für die Rekrutierung geben, ggf. auch eine ganze Seite, das weiß ich noch nicht so genau. Hier kann festgelegt werden, welche Klassen / Rollen gesucht werden.
3.7) Artikel-Import
... in Arbeit ...
Das Modul wird selbstständig News schreiben können, das hatte ich an anderer Stelle schonmal angekündigt. Damit bleibt die Startseite immer aktuell. Angedacht sind die folgenden Typen:
- Maximalstufe erreicht: Das Script gleicht das Verzeichnis ab (quasi diff). Charakter, die die aktuelle Maximalstufe erreicht haben bekommen ein "GZ" in Form einer News.
- Neues Gildenmitglied: Das Script gleicht das Verzeichnis ab (quasi diff). Neue Mitglieder bekommen einen Willkommensgruß.
- Beförderung: Das Script gleicht das Verzeichnis ab (quasi diff). Frisch beförderte Charakter bekommen eine News, lässt sich dann mit einem "ab Rang ..." beschränken sodass nicht jede Newbie -> Twink-Beförderung eine News auslöst.
- Bestimmte Erfolge errungen: Achievement-IDs können festgelegt werden, eine entsprechende News wird automatisch erstellt. Denkbar sind z.B. zeitaufwändige Erfolge oder schwierige. Ob das realisiert wird weiß ich noch nicht, recht aufwändig und Nutzen wahrscheinlich gering. Mir fällt neben dem Draenor-Fliegen-Erfolg keiner ein der eine News wert wäre.
- Gilden-Progress: Wenn ein neuer Boss gelegt wurde gibt es eine News. Das wird aber recht aufwändig, man müsste z.B. 2-3 Spieler des Stammraids festlegen, diese müssen den Progress-Fortschritt dann zur selben Zeit errungen haben damit das als Gildenprogress zählt (nicht dass jemand Random fremdgegangen ist und noch eine News dafür erhält ;)). Denkbar wäre auch dass mind. 8 Gildenmitglieder den Progress zur selben Zeit erreicht haben müssen, dann geht alles automatisch. Problem: Ich muss alle Charakter der Gilde mit dem Progress von der API laden. Das ist relativ aufwändig und kostet viele API-Requests (die begrenzt sind).
Für alle Funktionen gilt: Der Titel, Kategorie und der Newstext kann frei definiert werden, es gibt danne entsprechende Platzhalter wie z.B. Charaktername, Level, alter Rang, neuer Rang etc., je nach Typ.
4.) Sonstige
4.1) Aktueller Token-Preis als Box
Danke an Fleyy, die Anregung wurde umgesetzt. Es gibt nun eine Box, die den aktuellen Token-Preis sowie das tief / hoch aus den letzten 24 Stunden und sogar ein Diagramm anzeigt. Die Formatierung ist noch nicht schön, das hängt aber auch vom verwendeten Theme ab. Soweit ich weiß kann man auch ganze Box-Views über das Theme überschreiben.
Die Daten stammen von wowtoken.info/
4.2) Gildenzusammenfassung als Box
Es werden verschiedene Kennzahlen und Kurzinformationen bereitgestellt.
- Name der Gilde
- Gildenmeister
- Anzahl Mitglieder
- Anzahl Mitglieder auf Maximalstufe
- Durchschnittliche Gegenstandsstufe der Top 10% Mitglieder
- Anzahl Charakter, die heute Online waren
- Anzahl Charakter, die die gesamte Woche online waren
- Aktivitäten heute (aus dem Aktivitäts-Feed aller Charakter)
- Aktivitäten gestern (aus dem Aktivitäts-Feed aller Charakter)
- Aktivitäten diese Woche (aus dem Aktivitäts-Feed aller Charakter)
5.) SKS-System
Sehr aufwändig, Erklärung: lotrocommunity.com/forum/topic/264-sks-eine-art-der-lootverteilung/
=> Wird erst zum Schluss realisiert, wahrscheinlich erst nach 1. Release des Moduls.
- pro neuem Content (T15, T16, T17 etc) neue Listen
- verschiedene Listen je Content (z.B. Tokens, Trinkets, Waffen, sonstiges)
- Tracking von entzauberten Gegenständen (hilft dabei die Kristalle zu zählen die es am Ende gibt, wir verteilen die immer an Randoms sofern wir welche dabei haben)
- Tracking von sonstigen Drops wie z.B. seinerzeit vereiste Kugeln oder wie die hießen usw.
Die Zuweisung eines Items hat dann das "verrücken" des Listenplatzes zur Folge: Bei der Vergabe klickt man im Webinterface den Charakter an, der das Item erhalten hat, gibt die Item-ID der erhaltenen Items ein und speichert. Die Listenplätze werden daraufhin neu berechnet. Außerdem hat man eine Historie, wer wann welchen Gegenstand erhalten hat. Nachteil ist, dass die Lösung nicht Ingame funktioniert (ich kann kein LUA sonst könnte man sicher ein Addon dafür programmieren, wie z.B. bei Askmrrobot oder Eqdkp, da gibts glaub ich auch ein Ingame Addon).
6.) Raidplaner
Danke an Fleyy für den Hinweis, natürlich ein nützliches Feature das die Ingame-Kalender-Anmeldung obsolet macht und mehr Kontrollmöglichkeiten hat.
- Raid anlegen (die Verfügbaren Raids kommen sogar von der API, da braucht man gar nix pflegen)
- Beschränkung der Slots auf eine bestimmte Anzahl Heals, DDs, Tanks bzw. eine Mindestzahl an Anmeldungen pro Slot (z.B. 2 Tanks, 3 Heals, 5 DDs) für Flex.
- Man kann sich nur verbindlich anmelden wenn noch ein Slot für die gewählte Rolle frei war. Es gibt zwar Dualspec, jedoch hat doch trotzdem jeder seine Hauptrolle. Wer zuerst kommt kann sich halt mit seiner Lieblingsrolle Anmelden, wer später kommt (und z.B. Heals schon voll sind) muss halt einen anderen Char wählen oder eine andere Rolle. Die Rollen eines Charakters habe ich ja über die API.
- Keine sinnlosen vorläufigen Anmeldungen (der Ingame-Kalender erlaubt vorläufige Anmeldungen, in manchen Fällen gibt es dann 20 vorläufige Anmeldungen und keiner ist da bzw. der Status wird im Ingame-Kalender dann auch nicht vor Raidbeginn geändert, die Raidleitung hängt also in der Luft).
- Man hat vorher seine Rolle festgelegt: Keine rumdiskutiererei wer was macht (und vorallem kein hin- und hergelogge mit den Chars).
- Es wurde ein Charakter-Audit durchgeführt: Wer z.B. unter einem bestimmten Itemlevel war oder unverzauberte Gegenstände anhatte konnte sich nicht anmelden, ebenso wenn zu viele PvP-Gegenstände angelegt waren (man konnte die max. zulässige Zahl beschränken auf z.B. 2).
- Der Raidleiter kann die Anmeldung dann bestätigen oder ablehnen, der User erhält eine E-Mail.
- Falls eine Mindestanzahl von Anmeldungen z.B. 2 Stunden vor festgelegtem Beginn unterschritten wurde wurde der Raid automatisch abgesagt und alle angemeldeten User benachrichtigt (das Problem haben wir leider oft).
- RSS-Feed bzw. VCal-Datei: Der Kalender kann im Handy importiert werden. Je nach verwendeter Software aktualisiert sich die Beschreibung (z.B. Anzahl Anmeldungen) automatisch.
X.) Geplant
- Box: Challenge Mode Leaderboard
- BBCodes für Gegnstände, Klassenfarben, Links zum Armory oder Wowhead, Item-Klassen-Farben etc.
- OAuth Login mit Battle.Net Zugangsdaten (die API dafür gibt es von Blizzard).
Aktueller WoW-Token-Preis (danke an Fleyy)erledigt, siehe weiter oben- Evtl: "Heute in Draenor" bzw. "Heute in Legion" mit Dailys, Events etc. (zurückgestellt bis Legion, danke an Fleyy)
Gildenzusammenfassung als Box: Anzahl der Charakter, Anzahl auf max. Level, durchschnittliches Itemlevel der Top 10%, Fraktion, Gildenmeister, Anzahl der Aktivitäten Heute, gestern, diese Woche, dieser Monat (aus dem Aktivitäts-Feed)erledigt, siehe weiter oben- Raidprogress als Box
- Wowprogress als Box (danke an Fleyy)
X.) Screenshot-Galerie
swindi.de/7KYVPON836X3BK6
So, das war es erstmal.
Wer Anregungen hat (gibt es überhaupt WoW Spieler die Ilch nutzen??) gerne hier rein posten.
Grüße,
Tobi
X.) Download
... in Arbeit ...
Es fehlt noch zu viel als dass man es bereits zum Download anbieten könnte.
Z.) Changelog
- 18.06.2016: Geplant: SKS hinzugefügt
- 18.06.2016: Token Preis realisiert (Screenshots anbei)
- 19.06.2016: Raid-Planer aufgenommen
- 19.06.2016: Rekrutierung fertiggestellt (Box erstellt, Screenshots anbei)
- 19.06.2016: Realm-Status fertiggestellt (Box und Admin-Bereich, Screenshots anbei)
- 19.06.2016: Geplant: Gildenzusammenfassung als Box
- 19.06.2016: Geplant: Raidprogress als Box
- 19.06.2016: Gildenzusammenfassung als Box fertiggestellt (Screenshot weiter oben)
- 23.06.2016: Wowprogress Box aufgenommen
- 21.07.2016: Wintergrasp und Tol'Barad wurden aus der Battle.Net API entfernt, daher aus dem Modul entfernt.
- 21.02.2016: Aktuellen Fortschritt aktualisiert
verwendete ilch Version: 2.0 (alpha)
Zuletzt modifiziert von BadRandolph am 21.02.2017 - 00:27:17