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/

scripts aus dem Chatfenster ausführen?

Baerwolf
Baerwolf
✭✭✭✭✭
Im Chatfenster kann man ja Script Befehle ausführen.

Kann man eigentlich auch eine textdatei ausführen, in der eben ein oder mehrere scriptbefehle stehen?
(Ähnlich wie in der Steinzeit die .bat Dateien unter DOS)

wenn ja: wo muss die Datei sich befinden und wie rufe ich sie aus dem Chat auf?
wenn nein: schade
PC/EU
  • DyingIsEasy
    DyingIsEasy
    ✭✭✭
    Ja, das gibt es und es trägt den ominösen Namen Addon.
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Wenn Du damit Befehle meinst, die mit „/script“ eingeleitet werden, dann führst Du damit letztlich LUA Code aus. Diese Textdatei, in der mehrere LUA Befehle aneinandergereiht werden, wäre schlicht ein Addon.

    Edit: zu spät.
    Edited by Arcon2825 on 6. Mai 2019 15:45
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • Baerwolf
    Baerwolf
    ✭✭✭✭✭
    aha, okay .. addon .. soweit wollte ich eigentlich gar nicht gehen, sondern nur etwas Tipparbeit sparen.
    Es gibt also keinen einfachen LUA Befehl, der Befehle aus einer Textdatei ausführt. Verstehe.
    PC/EU
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Du stellst Dir das mit den Addons vielleicht auch nur zu kompliziert vor, zumindest wenn es lediglich um sehr simple Befehlsketten geht.

    Im Grunde ist ein Addon ein LUA Script und eine zugehörige Beschreibungsdatei. Es muss ja nicht gleich ein Tamriel Trade Center werden ;)

    Auf diesem Weg habe ich mir in WoW auch schon kleine Addons selbst zusammengebastelt. Da dort ebenfalls LUA zum Einsatz kommt, sind meine bislang positiven Erfahrungen wohl auch auf ESO übertragbar.
    Edited by Arcon2825 on 7. Mai 2019 05:22
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • DyingIsEasy
    DyingIsEasy
    ✭✭✭
    Wenn du erstmal das Grundgerüst eines Addons hast ist das nichts anderes als eine Batch-Datei (die gibt es übrigens immer noch).
    Ich nenne das Addon jetzt einfach mal BaerwolfAddon.
    Dann erstellst du dir im Addon-Ordner einen neuen Ordner BaerwolfAddon.
    In den packst du eine BaerwolfAddon.txt mit folgendem Inhalt.
    ## Title: BaerwolfAdddon
    ## APIVersion: 100025
    
    BaerwolfAddon.lua
    

    Dann erstellst du dir noch eine BaerwolfAddon.lua in dem gleichen Ordner.
    local BaerwolfAddon = {}
    BaerwolfAddon.name = "BaerwolfAddon"
    
    local function mynewcommand(args)
    	d("mynewcommand")
    end
    
    local function OnAddonLoaded(_, addonName)
    	if addonName ~= BaerwolfAddon.name then 
    		return 
    	end
    	
    	EVENT_MANAGER:UnregisterForEvent(BaerwolfAddon.name, EVENT_ADD_ON_LOADED)
    	
    	SLASH_COMMANDS["/mynewcommand"] = mynewcommand
    	
    end
    
    EVENT_MANAGER:RegisterForEvent(BaerwolfAddon.name, EVENT_ADD_ON_LOADED, OnAddonLoaded)
    

    In der Funktion mynewcommand kannst du jetzt statt d("mynewcommand") das reinschreiben, was du in die .bat schreiben würdest oder was du mit /script ins Chat-Fenster eingeben würdest (nur halt ohne das /script davor).

    Und statt SLASH_COMMANDS["/mynewcommand"] legst du fest was du in das Chat-Fenster schreiben musst um den Befehl auszulösen (wichtig ist nur, dass es mit einem / anfängt).

  • mareikeb16_ESO
    mareikeb16_ESO
    ✭✭✭✭✭
    DyingIsEasy schrieb: »
    Wenn du erstmal das Grundgerüst eines Addons hast ist das nichts anderes als eine Batch-Datei (die gibt es übrigens immer noch).
    Ich nenne das Addon jetzt einfach mal BaerwolfAddon.
    Dann erstellst du dir im Addon-Ordner einen neuen Ordner BaerwolfAddon.
    In den packst du eine BaerwolfAddon.txt mit folgendem Inhalt.
    ## Title: BaerwolfAdddon
    ## APIVersion: 100025
    
    BaerwolfAddon.lua
    

    Dann erstellst du dir noch eine BaerwolfAddon.lua in dem gleichen Ordner.
    local BaerwolfAddon = {}
    BaerwolfAddon.name = "BaerwolfAddon"
    
    local function mynewcommand(args)
    	d("mynewcommand")
    end
    
    local function OnAddonLoaded(_, addonName)
    	if addonName ~= BaerwolfAddon.name then 
    		return 
    	end
    	
    	EVENT_MANAGER:UnregisterForEvent(BaerwolfAddon.name, EVENT_ADD_ON_LOADED)
    	
    	SLASH_COMMANDS["/mynewcommand"] = mynewcommand
    	
    end
    
    EVENT_MANAGER:RegisterForEvent(BaerwolfAddon.name, EVENT_ADD_ON_LOADED, OnAddonLoaded)
    

    In der Funktion mynewcommand kannst du jetzt statt d("mynewcommand") das reinschreiben, was du in die .bat schreiben würdest oder was du mit /script ins Chat-Fenster eingeben würdest (nur halt ohne das /script davor).

    Und statt SLASH_COMMANDS["/mynewcommand"] legst du fest was du in das Chat-Fenster schreiben musst um den Befehl auszulösen (wichtig ist nur, dass es mit einem / anfängt).


    Das finde ich alles sehr interessant! Gibt es eine Seite im Internet, die das erstellen von Addons etwas genauer erklärt? Wo vielleicht auch scripte aufgeführt werden? Ich hab keinen Plan, was man da theoretisch so alles machen könnte, hätt aber Lust das mal auszuprobieren.
  • DyingIsEasy
    DyingIsEasy
    ✭✭✭
    Das finde ich alles sehr interessant! Gibt es eine Seite im Internet, die das erstellen von Addons etwas genauer erklärt?

    https://wiki.esoui.com/Getting_Started
    Wo vielleicht auch scripte aufgeführt werden? Ich hab keinen Plan, was man da theoretisch so alles machen könnte, hätt aber Lust das mal auszuprobieren.

    Als Beispiel kannst du dir auch den Code von bestehenden Addons ansehen. Das gibt dir auch einen Überblick darüber, was möglich ist.
  • mareikeb16_ESO
    mareikeb16_ESO
    ✭✭✭✭✭
    DyingIsEasy schrieb: »
    Das finde ich alles sehr interessant! Gibt es eine Seite im Internet, die das erstellen von Addons etwas genauer erklärt?

    https://wiki.esoui.com/Getting_Started
    Wo vielleicht auch scripte aufgeführt werden? Ich hab keinen Plan, was man da theoretisch so alles machen könnte, hätt aber Lust das mal auszuprobieren.

    Als Beispiel kannst du dir auch den Code von bestehenden Addons ansehen. Das gibt dir auch einen Überblick darüber, was möglich ist.

    Vielen Dank, da werd ich mich mal umschauen. :)
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Leider ist meines Wissens die API von ZoS selbst nicht dokumentiert, daher wirst Du dazu am ehesten ebenfalls bei ESOUI fündig: https://wiki.esoui.com/API.

    Da für viele Methoden bzw. Funktionen jedoch keine genaue Dokumentation existiert, wie genau nun die Eingabe- bzw. Ausgabeparameter auszusehen haben, ist allerdings oft Experimentieren angesagt. Hier bietet es sich dann tatsächlich an, bereits bestehende Addons zu studieren.

    Meistens finden sich in einer schnellen Google Suche nach dem Methodennamen gleich ein paar Einträge, wo man sich direkt aus einem Github Repository oder ähnlichem einen Codeschnipsel ansehen kann.
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • Baerwolf
    Baerwolf
    ✭✭✭✭✭
    Hey, das hört sich ja prima an und danke für die ausführlichen Beiträge. Vielleicht fummel ich mir da so ein paar Befehle zusammen.

    "So viel zu tun, so wenig Zeit" sagt der Kistenträger in Belkhart...
    PC/EU
  • Baertram
    Baertram
    ✭✭✭✭✭
    Erstell dir nen Ordner MeinAddon und darin dann eine MeinAddon.txt
    Dazu eine MeinAddon.lua
    Oben in den LInks steht ja bereits geschrieben was in die txt Datei reni soll, wie z.B. ##Version ##AddOnVersion ##APIVersion ##Title ## Description.
    Und natürlich der Aufruf der Datei MeinAddon.lua im selben Verzeichnis.

    In dieser Datei kannst du recht simel das folgende ausprobieren.
    Erstelle dir eine global erreichbare Funktion, mit Namen z.B. MeineTestScripte.
    Und da drin schreibst du dir dann deine lua scripte allerdings ohne das /script vorne vor.

    Das sieht dann in etwa so aus:

    MeinAddon.lua

    function MeineTestScripte()
    --Dies ist ein Kommentar und wird nicht ausgeführt
    SetCVar("language.2", "en")
    end

    Wenn du dann im Spiel im Chat eingibst /script MeineTestScripte() dann wird alles in der function bis zum end ausgeführt.
    In diesem Fall wird nur die Spielsprache auf Englisch abgeändert in der Oberfläche und die Oberfläche wird direkt neu geladen.
    Ist das selbe wie im chat z.B. /script SetCVar("language.2", "en")
    Mit dem 2. Parameter "de" kannst du es wieder auf Deutsch zurück ändern.

    So in etwa kannst du dir ein kleines adon für dich bauen, welches deine scripte dann nacheinander ausführt.
    Sei aber vorsichtig mit dem Namen des addons und der function. Das solltes eindeutig sein, also sowas wie "HorstHuber_MeineFunktion" und nicht bloß "MeineFunktion" damit sich nicht verschiedene Variablen im Spiel durch eine identische Benennung anfeinden.
Anmelden oder Registrieren, um zu kommentieren.