API/v1/event_details
Zur Navigation springen
Zur Suche springen
Fehlende Informationen: genaue Angaben über "rotation"
Gibt detaillierte Ortsinformationen (kein Status) über Events zurück.
Parameter[Bearbeiten]
- Optionale Parameter
lang
– Sprachenkürzel: de, en, es, fr (Standard: en)event_id
– eine Event-ID
Antwort[Bearbeiten]
Die Antwort besteht aus einem einzelnen Objekt events
, welches Objekte der event_id
zugeordnet enthält:
name
(string) – lokalisierter Namelevel
(number) – Stufe des Eventsmap_id
(number) – die Karte, auf welcher das Event stattfindetflags
(array) – eine Liste möglicher Flags:"group_event"
– für Gruppen-Events"map_wide"
– für kartenweite Events, momentan nur Besiegt die Karka-Königin, die die Siedlungen bedroht.
location
(object) – der Ort oder Bereich auf der Karte, an dem das Event stattfindettype
(string) – der Typ des Ortes, kannsphere
,cylinder
oderpoly
seincenter
(array) - die Koordinaten in X, Y und Z des Mittelpunktes bzw. Startpunktes im Falle vonpoly
radius
(number) - der Radius des Körpers (nur im Falle vonsphere
undcylinder
)rotation
(number) -z_range
(array) - enthält den niedrigsten und höchsten Z-Wert (nur im Falle vonpoly
)points
(array) - ein Array von X/Y-Koordinaten, welche der Verlauf der Polylinie wiedergeben (nur im Falle vonpoly
)
Beispiel[Bearbeiten]
{ "events": { "AFCF031A-F71D-4CEA-85E1-957179414B25": { "name": "Treibt die Kreaturen der Unterwelt zurück, indem Ihr Portale im Taminn-Vorgebirge zerstört.", "level": 14, "map_id": 15, "flags": [], "location": { "type": "sphere", "center": [28953.8, -20336.8, -2033.17], "radius": 2675.42, "rotation": 0 } } } }
Codebeispiel[Bearbeiten]
Da die Umrechnung der Koordinaten in X und Y vom Koordinatensystem der Karte ins Weltkoordinatensystem immer mal wieder Fragen aufwirft, hier ein Codebeispiel in Javascript (mehr dazu auch im offiziellen Forum):
function recalc_coords(continent_rect, map_rect, coords){ return [ Math.round(continent_rect[0][0]+(continent_rect[1][0]-continent_rect[0][0])*(coords[0]-map_rect[0][0])/(map_rect[1][0]-map_rect[0][0])), Math.round(continent_rect[0][1]+(continent_rect[1][1]-continent_rect[0][1])*(1-(coords[1]-map_rect[0][1])/(map_rect[1][1]-map_rect[0][1]))) ] }