World of Warcraft und Roster

  • Dies ist mein erstes "richtiges" Script.

    Es soll dazu dienen den Spielern meiner Gilde in World of Warcraft die Einrichtung der benötigten Dateien und Programme zur Benutzung des Rosters zu erleichtern.

    Es überprüft, ob WoW überhaupt existiert, richtet (falls nötig) das AddOn CharakterProfiler ein, installiert (falls noch nicht vorhanden) .NET Framework 3.5 und installiert (falls noch nicht vorhanden) den UniUploader, welcher die Daten zum Roster überträgt.

    Die Installationspfade werden über die Registry abgefragt.

    Ich wäre über ein kurzes FeedBack und Verbesserungsvorschläge dankbar.

    Grüße

    Legatos


    Spoiler anzeigen
    [autoit]

    ; Registyabfragen
    $wowinst = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft", "InstallPath")
    $netinst = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework", "InstallRoot")
    $windir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")

    [/autoit] [autoit][/autoit] [autoit]

    ;Überprüfung ob World of Warcraft überhaupt existiert
    If FileExists($wowinst) Then

    [/autoit] [autoit][/autoit] [autoit]

    ; Begrüßung^^
    MsgBox(8192, "Legends of Moon", "Willkommen bei den 'Legends of Moon'.", 5)
    MsgBox(8192, "Legends of Moon", "Es werden nun alle nötigen Eistellungen und Installationen für unseren Gilden-Roster vorgenommen.", 5)
    MsgBox(8192, "Legends of Moon", "Bitte unterbrich diesen Vorgang nur wenn eine unvorhergesehene Fehlermeldung erscheint!!!", 5)

    [/autoit] [autoit][/autoit] [autoit]

    ; Vorbereitung und Bereitstellung der Daten
    DirCreate("C:\MoonRoster")
    FileInstall("D:\MoonRoster\dotNetFx35setup.exe", "C:\MoonRoster\dotNetFx35setup.exe")
    FileInstall("D:\MoonRoster\UniUploader_2.6.8_Moons.exe", "C:\MoonRoster\UniUploader_2.6.8_Moons.exe")

    [/autoit] [autoit][/autoit] [autoit]

    ; Überprüfung und Einrichtung des CharacterProfilers
    If FileExists($wowinst & "\Interface\AddOns\CharacterProfiler") Then
    MsgBox(8192, "Legends of Moon", "Das AddOn 'CharacterProfiler' ist auf Deinem PC bereits integriert", 5)
    Else
    MsgBox(8192, "Legends of Moon", "Das AddOn 'CharacterProfiler' wird integriert:.", 5)
    DirCreate($wowinst & "\Interface\AddOns\CharacterProfiler")
    FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\CharacterProfiler.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.toc", $wowinst & "\Interface\AddOns\CharacterProfiler\CharacterProfiler.toc")
    FileInstall("D:\MoonRoster\CharacterProfiler\localization.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\localization.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.core.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\rpgo.core.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.lib.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\rpgo.lib.lua")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Überprüfung und Installation von .NET Framework
    If FileExists($netinst & "\v3.5") Then
    MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5 ist auf Deinem PC bereits installiert", 5)
    Else
    MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5 wird installiert. Dies wird für den UniUploader benötigt und kann einige Minuten in Anspruch nehmen.", 5)
    Run("C:\MoonRoster\dotNetFx35setup.exe")
    WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Willkommen")
    Send("+{TAB}")
    Send("{SPACE}")
    Send("{ENTER}")
    WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Setup ist abgeschlossen")
    Send("{ENTER}")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Überprüfung und Installation des UniUploaders
    If FileExists($windir & "\UniUploader") Then
    MsgBox(8192, "Legends of Moon", "Der UniUploader ist bereits installiert", 5)
    Else
    MsgBox(8192, "Legends of Moon", "Der UniUploader wird installiert:", 5)
    Run("C:\MoonRoster\UniUploader_2.6.8_Moons.exe")
    WinWaitActive("Installer Language", "Please select a language")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Willkommen beim Installations")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Lizenzabkommen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Zielverzeichnis auswählen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Startmenü-Ordner bestimmen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "UniUploader wurde auf Ihrem Computer installiert")
    Send("{ENTER}")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5, der UniUploader und das AddOn 'CharacterProfiler' wurden erfolgreich installiert und bereits konfiguriert.", 5)
    MsgBox(8192, "Legends of Moon", "Es müssen keine weiteren Einstellungen von Dir vorgenommen werden.", 5)
    MsgBox(8192, "Legends of Moon", "Viel Spaß bei der Benutzung unseres Gilden-Rosters wünscht Euch Legatos.", 5)

    [/autoit] [autoit][/autoit] [autoit]

    ;Löschen der nicht mehr benötigten Dateien
    DirRemove("C:\MoonRoster", 1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Else
    MsgBox(8192, "Legends of Moon", "Ohne eine vorherige Installation von World of Warcraft ist die Installation des UniUploaders ect. eigentlich nutzlos.^^", 10)
    EndIf
    Exit

    [/autoit]
  • Ich denke, diese Erkärungen sind die, die passen sollten:

    Zitat von http://de.wikipedia.org/wiki/Roster
    • ein englischer Begriff für Listen wie z. B. Dienstpläne und dergleichen
    • Eine Listung, meistens von Personen, die sich in einem Wettkampf gegenüberstehen.


    und direkt für WOW:

    Zitat von http://www.wowroster.net/MediaWiki/Roster

    WoWRoster is an automated,
    extensible, and multilingual character and guild profiler which
    displays and stores data gathered from WoW through the use of WoW AddOns (rpgo-CharacterProfiler , rpgo-GuildProfiler , and PvPLog)

    WoWRoster organizes all of the data collected via WoW AddOns, provides a suite of presentations for the gathered data, and houses a base for Roster Addons to access and manipulate roster data, displays Roster Addon links in the Roster Menu, and presents output to users.

    Legatos sieht schon mal nicht schlecht aus. Vielleicht kannst du nich ein FileChooseDir einabuen, wenn WOW nicht in der Registry gefunden wird. Es soll Leute geben, die ihre Installation auf eine zweite Partition kopieren und nach einer NeuInstallation von Windows einfach diese Kopie starten ;)
    Außerdem wäre es sicherer, alle Send-Befehler durch ControlClick bzw. ControlSend zu erstetzen.

    //Edit: keksi: Das ist jetzt aber alles schon fast 4 Monate her...

    2 Mal editiert, zuletzt von progandy (19. Juni 2009 um 19:58)