Das Dojo - Bot Wiki

 Das Dojo - Bot Wiki

Auf dieser Seite wirst du alles notwendige erfahren, um bei unseren Spielen mitmachen zu können. Vorab: Der Dojo - Bot ist rund um die Uhr erreichbar, du musst dich an keinen Zeitplan halten.

Wie starte ich ein Spiel? [POST]

Um ein Spiel zu starten, benötigst du einen API - Key welchen du hier findest. Wurde dieser Befehl erfolgreich ausgeführt, wird das Spiel automatisch gestartet und man kann direkt Aktionen zum Bewegen des Avatars ausführen.

Falls bereits ein Spiel mit deinem Charakter läuft, musst du dieses zuerst beenden, bevor du ein neues erstellen kannst. Spiele werden mithilfe eines POST - Requests erzeugt.

https://game-dd.countit.at/api/game/{key}/create

 Problem?      Postman-Request

Wie beende ich ein Spiel? [POST]

Ein Spiel wird beendet, wenn du mit deinem API - Key folgenden Befehl als POST- Request ausführts:

https://game-dd.countit.at/api/game/{key}/close

 Problem?      Postman-Request

Status des laufenden Spiels abfragen [GET]

Um abfragen zu können, ob mit deinem API - Schlüssel bereits ein Spiel läuft, kannst du diesen Befehl verwenden. Du erhältst als Rückgabe wert das selbe, wie beim Erstellen und beim Schließen eines Spiels und eine Fehlermeldung falls kein Spiel vorhanden ist.

https://game-dd.countit.at/api/game/{key}/status

 Problem?      Postman-Request

Beim Erstellen und beim Beenden eines Spiels, werden jeweils die selben Daten zurück geliefert, die GameId welche dein Spiel eindeutig identifizierbar macht, Running um den Status deines Spiels zu sehen und der Name des geladenen Levels. Der zurück gegebene String ist im JSON Format.

{"gameid":"d2144a67-733a-4e06-8a6b-9ce877b99753","running":true,"level":"The Default Level"}

 Was ist JSON?

 Steuere deinen Avatar

Ein Avatar hat die Möglichkeit auf einem zweidimensionalen verschiedenste Aktionen auszuführen. Aktionen sowie ihre Wirkungen und REST Aufrufe sind hier gelistet. Versuche deine Aktionen nicht zu schnell hintereinander auszuführen da du nach jeder Aktion eine gewisse Zeit abwarten musst bis du diese wieder einsetzten kannst. Dein Avatar führt nur Befehle aus, welche du ihm gibst. Sendest du deinem Spieler keine Aktionen welche dieser ausführen soll, steht dieser durchgehend auf der selben Position und ist verletzbar.

Move [POST]

Du kannst deinen Avatar alle 250 Millisekunden um ein Feld in eine der vier Himmelsrichtungen bewegen. Das Feld Direction sollte eine Zahl zwischen 0 und 3 enthalten, 0 für Norden, 1 für Osten, 2 für Süden und 3 für Westen, diese Regelung der Richtungen ist bei allen Aktionen welche mit einer Direction arbeiten gleich.

https://game-dd.countit.at/api/player/{Key}/move/{direction}

 Problem?      Postman-Request

Hit [POST]

Diese Aktion wird benutzt um mit deinem Avatar zu schlagen, es kann jeweils nur in eine Himmelsrichtung (0 für Norden, 1 für Osten, 2 für Süden und 3 für Westen) geschlagen werden und dies nur einen Block weit. Danach musst du eine kurze Zeit warten bis du wieder angreifen kannst. Ein normaler Schlag welcher mit einem Abstand von einem Block erzielt wurde, fügt dem Gegner weniger Schaden zu wie wenn du auf dem selben Block wie ein Gegner stehst, hierbei ist es egal wieviele Gegner auf einem Fleck stehen, jeder bekommt gleich viel Schaden.

https://game-dd.countit.at/api/player/{Key}/hit/{direction}

 Problem?      Postman-Request

Radar [GET]

Benutzt du diese Aktion, erhältst du als Antwort auf deinen Aufruf, einen Integer welcher der Anzahl deiner Gegner in einem Umkreis von 6x6 Blöcken um dich herum entspricht.

https://game-dd.countit.at/api/player/{Key}/radar

 Problem?      Postman-Request

Peek [GET]

Peek benötigt wie Move und Hit, eine Direction (0 für Norden, 1 für Osten, 2 für Süden und 3 für Westen), also eine Richtung. Peek verwendet diese Richtung um zu überprüfen ob sich in der angegebenen Richtung ein Spieler in deinem Sichtfelde (welches eine Breite von einem Block und einer Länge von deinem Avatar bis zum Spielfeldrand entspricht)

https://game-dd.countit.at/api/player/{Key}/peek/{direction}

 Problem?      Postman-Request

Stats [GET]

Mit Stats hast du die Möglichkeit dir deine Kills und Deaths des aktiven Spiels anzusehen. Zusätzlich sind durch das neue Update einige neue Information hinzu gekommen. Der Rückgabewert weicht von dem Rückgabewert der anderen Funktionen ab, enthalten sind Informationen zum derzeitigem Level, allgemeine Stats sowie Informationen zu den Lebenspunkten eines Spielers.

progress - gibt an wie weit du ein Level bereits abgeschlossen hast in Prozent

remainingtime - gibt an wieviele Minuten noch übrig sind bevor das Spiel gestoppt wird

deathsleft - gibt an wie oft du noch sterben darfst bevor das Spiel gestoppt wird

https://game-dd.countit.at/api/player/{Key}/stats

Der Rückgabewert dieser Funktion wurde mit dem letzten Update verändert, hier ein Beispiel für den neuen Rückgabewert:

{"action":"stats","executed":true,"stats":{"kills":1,"deaths":1},"level":{"progress":6.6,"remainingtime":14.44,"deathsleft":999,"levelid":2,"name":"Bigger Map Level"},"health":{"currenthealth":10.0,"maxhealth":10.0}}

 Problem?      Postman-Request

Health [GET] [DEPRECATED]

Mithilfe von der Aktion Health hast du die Möglichkeit deine Lebenspunkte in Echtzeit abzufragen.

 Ab dem nächsten Update wird /health nicht mehr verfügbar sein! Verwende in Zukunft /stats.

https://game-dd.countit.at/api/player/{Key}/health

 Problem?      Postman-Request

Specialattack [POST]

Specialattack ist eine Aktion welche du viel seltener als einen normalen Schlag (Hit) einsetzen kannst, jedoch eine bestimmte Fähigkeit hat und dadurch mehr Schaden an deinen Gegner verursacht. Diese Aktion nimmt keine Direction als Parameter entgegen sondern führt den Angriff in allen Richtungen mit einem Wirkungskreis von 3 Blöcken gleichzeitig aus. Du kannst die Specialattack alle 5000 Millisekunden ausführen.

https://game-dd.countit.at/api/player/{Key}/specialattack

 Problem?      Postman-Request

Rückgabewert

Jede Aktion gibt im Prinzip immer einen gleich strukturierten JSON - String zurück, jedoch können sich die Datentypen der einzelnen Felder je nach Aktion unterscheiden, hier 2 Beispiele um dies zu verdeutlichen:

Die Move Aktion, ohne speziellen Rückgabewert:

{"action":"move","move":"true","executed":"true"}

Die Radar Aktion, mit einem Integer als Rückgabewert:

{"action":"radar","radar":2,"executed":"true"}

 Was ist JSON?      Postman-Request