Das Kapitel „Gold Road“ (inklusive des Schriftlehre-Systems) und Update 42 können jetzt auf dem öffentlichen Testserver getestet werden! Hier könnt ihr die aktuellen Patchnotizen lesen: https://forums.elderscrollsonline.com/en/discussion/656454/
Wartungsarbeiten in der Woche vom 15. April:
• [ABGESCHLOSSEN] Wartungsarbeiten im ESO Store und dem Kontosystem – 16. April, 14:00 – 17. April, 00:00 MESZ

Brauche Hilfe bei der Erstellung eines AddOns

DeMarv
DeMarv
✭✭
Guten Morgen,
ich suchte gestern leider vergeblich nach einem AddOn mit dem ich mir eine eigene AOE anzeigen lassen kann die von meinem Char ausgeht mit einem Variablen Radius.
Leider habe ich nichts passendes gefunden.
Also habe ich mir ein kleines Tutorial durchgelesen welches die ersten Schritte für das Programmieren eines eigenen AddOn's zeigt: Hier

Meine Vorkenntnisse bezüglich des Porgrammieren sind Hauptsächlich C, c++ & Assembler. Mit C habe ich vor kurzem ein Programm geschrieben das mir die Determinante einer x großen Matrix berechnet. Mit Assembler und c++ habe ich mehr die Erfahrung mit Micro Controllern gesammelt. Daher hatte ich gehofft das LUA nicht all zu schwer wird.

Doch nachdem ich das Tutorial durchgelesen habe und ich mir mein eigenes Bild machen wollte kam ich schon bei einer der ersten Schritte nicht weiter. Als ich mein Ordner erstellt hatte bei den anderen AddOns und dann sowohl die .txt mit den darin benötigten Daten und eine leere .lua erstellt hatte habe ich meine Ui neu geladen aber mein neues AddOn wird nicht in der Liste angezeigt.
Hier meine txt
## Title: Marv's Arrays
## APIVersion: 100026
## Author: DeMarv

MarvAddon.lua

Kann mir jemand sagen was ich schon alles Falsch gemacht habe. Ich bitte um sachliche und möglichst hilfreiche Kommentare. Danke im Voraus.
Edited by DeMarv on 14. März 2019 07:32
  • Instant
    Instant
    ✭✭✭✭✭
    An dem Inhalt deiner txt gibt es nichts auszusetzen.
    Allerdings ist zu beachten, dass der Ordner des Addons und die txt den gleichen Namen haben müssen.
    Also wenn es im Ordner MarvAddon ist, dann muss auch die txt MarvAddon.txt heißen.
    Peace is a lie, there is only passion.
  • DeMarv
    DeMarv
    ✭✭
    Instant schrieb: »
    An dem Inhalt deiner txt gibt es nichts auszusetzen.
    Allerdings ist zu beachten, dass der Ordner des Addons und die txt den gleichen Namen haben müssen.
    Also wenn es im Ordner MarvAddon ist, dann muss auch die txt MarvAddon.txt heißen.

    Vielen dank. Dass war schon dass Problem. Jetzt kann es ja weiter gehen.
  • Baertram
    Baertram
    ✭✭✭✭✭
    Vorab schonmal: Es gibt glaube ich keinerlei API Möglichkeit die AOE Buffs etc. zu erkennen, auch nicht um sich herum.
    Ich glaube du bekommst wenn überhaupt nur die abilityId welche du ausgelöst hast und musst dann selber wissen (oder eine Liste damit aufbauien im addon..) welche AOEs sind und welche nicht.,
    Da gab es im addon Srendar glaube ich schon einmal eine existierende Liste, oder ähnliches. Aber die wird auch nicht mehr up2date sein.
  • DeMarv
    DeMarv
    ✭✭
    Baertram schrieb: »
    Vorab schonmal: Es gibt glaube ich keinerlei API Möglichkeit die AOE Buffs etc. zu erkennen, auch nicht um sich herum.
    Ich glaube du bekommst wenn überhaupt nur die abilityId welche du ausgelöst hast und musst dann selber wissen (oder eine Liste damit aufbauien im addon..) welche AOEs sind und welche nicht.,
    Da gab es im addon Srendar glaube ich schon einmal eine existierende Liste, oder ähnliches. Aber die wird auch nicht mehr up2date sein.

    Guten Abend nochmal,
    ich habe mir dann vorhin einiges durchgelesen und dann auf der wiki Seite die Liste der Event's und der Funktionen angesehen und musste feststellen das wie du schon sagst so gut wie keine Möglichkeit der Darstellung vorhanden ist.
    Da ich auch noch kaum Ahnung von der Materie habe ist das alles noch recht schwer für mich.

    In den Einstellung von ESO kann man unter Gameplay glaube ich die Farbe von den AOE's ändern und sich dort auch eine kleine Preview anschauen. Daher hätte ich nun gedacht das es darüber eine mögliche Funktion gibt die mann dann noch in Größe und Farbe verändern kann.

    Kennt jemand zufällig ein recht Anfänger freundliches Tutorium was sich mehr mit den verschiedenen Möglichkeiten von Event's und API befasst?
  • Schmetterfrosch
    Schmetterfrosch
    ✭✭✭✭✭
    ich habe mir anfangs unter esoui addons herunter geladen, die die gewünschte Funktion enthalten und versucht diese zu verstehen.

    bufftracker zum Beispiel
    Das Leben ist doch nur ein Rollenspiel
  • Baertram
    Baertram
    ✭✭✭✭✭
    Ja, schau dir mal was generelle Tutorial von sirinsidator hier an:
    https://wiki.esoui.com/SimpleNotebookTutorial/part1

    Es hat mehrere aufeinander folgende Teile welche auch Events betreffen.
    Zur API gibt es nur zu sagen, dass es hier die API txt Dateien mit den Funktionen, Events, etc. gibt, welche du ingame verwenden kannst:
    https://wiki.esoui.com/APIVersion

    Da ist es oft ein "trial&error" wenn du etwas lernst.
    Du kannst auch weitere Tutorials im ESOUI Wiki finden oder dort nach API Funktionen etc. suchen.

    Der lua Sourcecode vom Spiel ist hier zum Durchsuchen parat. Das hilft mir meistens wenn ich etwas testen möchte.
    Unter esoui/ingame sind die entsprechenden Ordner mit den dazu pasenden ingame Inhalten (Crafting, inventory, etc.):
    https://github.com/esoui/esoui/tree/master/esoui
  • Baertram
    Baertram
    ✭✭✭✭✭
    Achso, die roten/grünen Markierungen auf dem Boden, welche du in den Einstellungen einrichten kannst, sind eben keine durch AddOns veränderbaren Funktionen. Das sind 3d gerenderte Inhalte welche AddOns nicht können.

    Schade, sosnt hätte man (mit einigen API Funktionen zur Positionsbestimmung) doch recht zahlreiche Möglichkeiten fehlende Markierungen und Hilfe per addon zu erstellen (Gruppen Markierungen z.B. oder Feind Markierungen).
  • DeMarv
    DeMarv
    ✭✭
    Mhm das ist leider sehr schade. Ich bedanke mich dennoch herzlich für die netten Kommentare. Wäre schön wenn man z.B. für HelRa hm sich seine eigene AOE unter die Füße legen könnte mit der Tange von der versteinerung um so noch Effizienter zu spielen und nicht immer schätzen muss.
  • Baertram
    Baertram
    ✭✭✭✭✭
    Das wäre vermutlich den Entwicklern/Spiele Designern dann wieder zu "einfach". Dann bist du nach 3 Versuchen durch und spielst das Spiel nicht ewig weiter bis alles klappt :p
  • DeMarv
    DeMarv
    ✭✭
    Nur eine Frage noch, wäre es denn möglich eine Abstandsmessung zwischen Spielern durch zu führen? Und dann damit eine Anzeige zu machen die dann sagt ob sich z.B. alle Spieler außerhalb des tödlichen Bereichs befinden bzw. sich Spieler zu nah befinden? Das selbe dann in etwa z.B. mit einem Counter für das Horn der zählt wie viele Spieler sich in dem 20m Radius befinden?
  • Instant
    Instant
    ✭✭✭✭✭
    DeMarv schrieb: »
    Nur eine Frage noch, wäre es denn möglich eine Abstandsmessung zwischen Spielern durch zu führen? Und dann damit eine Anzeige zu machen die dann sagt ob sich z.B. alle Spieler außerhalb des tödlichen Bereichs befinden bzw. sich Spieler zu nah befinden? Das selbe dann in etwa z.B. mit einem Counter für das Horn der zählt wie viele Spieler sich in dem 20m Radius befinden?

    Man kann mit der folgenden Funktion die Map-Koordinaten erhalten. Die müsste man dann noch in Welt-Distanz umrechnen. Irgendein Addon zeigt auch im Gruppen-Fenster die Entfernung in Metern zu allen Spielern an.
    GetMapPlayerPosition(string unitTag)
    Returns: number normalizedX, number normalizedZ, number heading, boolean isShownInCurrentMap
    

    Für die 28m beim Horn ist es einfacher, da du hier sogar ein Event hast.
    EVENT_GROUP_SUPPORT_RANGE_UPDATE (number eventCode, string unitTag, boolean status)
    

    Peace is a lie, there is only passion.
  • DeMarv
    DeMarv
    ✭✭
    Instant schrieb: »
    DeMarv schrieb: »
    Nur eine Frage noch, wäre es denn möglich eine Abstandsmessung zwischen Spielern durch zu führen? Und dann damit eine Anzeige zu machen die dann sagt ob sich z.B. alle Spieler außerhalb des tödlichen Bereichs befinden bzw. sich Spieler zu nah befinden? Das selbe dann in etwa z.B. mit einem Counter für das Horn der zählt wie viele Spieler sich in dem 20m Radius befinden?

    Man kann mit der folgenden Funktion die Map-Koordinaten erhalten. Die müsste man dann noch in Welt-Distanz umrechnen. Irgendein Addon zeigt auch im Gruppen-Fenster die Entfernung in Metern zu allen Spielern an.
    GetMapPlayerPosition(string unitTag)
    Returns: number normalizedX, number normalizedZ, number heading, boolean isShownInCurrentMap
    

    Für die 28m beim Horn ist es einfacher, da du hier sogar ein Event hast.
    EVENT_GROUP_SUPPORT_RANGE_UPDATE (number eventCode, string unitTag, boolean status)
    

    Sauber vielen Dank werde ich morgen mal etwas mit Experimentieren.
  • Instant
    Instant
    ✭✭✭✭✭
    @DeMarv

    Der Hinweis mit GetMapPlayerPosition war vielleicht doch nicht so gut.
    Du solltest dir mal https://www.esoui.com/downloads/info1664-Lib3D-v3.html angucken.
    Da werden die Koordinatensysteme erklärt und nach überfliegen des Codes denke ich, dass
    GetUnitWorldPosition(string unitTag)
    Returns: number zoneId, number worldX, number worldY, number worldZ
    

    sogar das richtige sein könnte. Aber guck es dir besser selber mal an.
    Peace is a lie, there is only passion.
  • Baertram
    Baertram
    ✭✭✭✭✭
    Jep, Lib§d ist denke ich dabei hilfreich und die anderen existierenden AddOns welche GruppenMitglieder und Entfernungen schon umrechnen.
    Aber ZOs hat nicht jede Karte "standardisiert" bei den Koordinaten. Es gibt da immer wieder Probleme, dass in Dungeons oder auch in manchen Gebieten die x,y und z Koordinaten durcheinander sind oder so unterschiedliche, dass die Bibliotheken dafür "Extra code" benötigen etc.
    Daher macht es Sinn diese zu verwenden, da sie die Teile bereits beachten.
    Bevor du das Rad neu erfindest.

    Hilfreiche AddOns könnten sein:
    https://www.esoui.com/downloads/info1135-ProvisionsTeamFormationTeammateRadar.html (zeigt Team Mitglieder auf kleiner Karte an)
    https://www.esoui.com/downloads/info955-CirconiansWaypointIt.html (zeigt Pfeil in Richtuing zu Wegpunkt + Entfernung dorthin an)
    https://www.esoui.com/downloads/info2032-GroupCircle.html
    https://www.esoui.com/downloads/info922-ExterminatusGroupLeader.html (zeigt Pfeil zum Gruppen Anführer an -> ggf. Kombinirbar mit WaypointIt Entfernungsmessung?)



    Ansonsten schau im gitter dev chat vorbei unter https://gitter.im/esoui/esoui und stell dort Fragen, Wir helfen gerne. Allerdings "English" :-)
    Edited by Baertram on 15. März 2019 12:23
Anmelden oder Registrieren, um zu kommentieren.