Da die AddOn Sektion ziemlich tod ist was LUA-Coding angebelangt. Wollte ich einen kleinen LUA Guide schreiben. Vielleicht lassen sich ja manche dafür begeistern
INHALTSVERZEICHNIS
1. Vorwort |
2. LUA - Was ist das?
|
3. LUA anwenden
|
4. WoW API |
5. Frames
|
6. TOC Datei
|
7. Selbststudium |
8. AddOns selber herstellen (fortgeschritten)
|
9. LUA Fehler erkennen
|
10. Regeln |
11. Hilfreiche Links (Anhang) |
1. Vorwort
Da der LUA Guide von Los ziemlich veraltet ist und auch nicht weitergeführt wird, wollt ich es besser machen. Ich schreibe in diesem Guide nur über mein Wissen. Das heißt: Dinge die ich nicht weiß bzw. noch nie benutzt habe werd ich nicht hier erwähnen! Und zwischendurch werdet ihr ein paar Spoiler finden, öffnet sie dort sind ein paar Tipps zum lesen
__________________________________________________ ____________
2. LUA - Was ist das?
2.1 Definition
Lua (auf portugiesisch: Mond) ist eine Scriptsprache. Lua wurde 1993 von der Computer Graphics Technology Group der Päpstlichen Katholischen Universität von Rio de Janeiro in Brasilien entwickelt. In Wow wird sie benutzt um die AddOns zu schreiben. Alles was sich in eurem Interface\\AddOns\\... befindet sind AddOns. Es ist eine sehr einfache
Scriptsprache, die man leicht verstehen kann. Natürlich sieht das fortgeschrittene Scripten ganz anders aus als bei Anfängern.
2.2 Vorraussetzungen
Ihr solltet nicht schnell aufgeben falls ihr nicht weiterkommt. Und wenn ihr diesen Satz liest und in 20 Minuten mit Freunden rausgeht, dann solltet ihr ab hier aufhören zu lesen. Nehmt euch Zeit und liest euch alles in Ruhe durch.
Englisch- und Mathekenntnisse sind auch vorrausgesetzt. Falls ihr nicht weißt was Width,Height oder SetPoint bedeutet, dann besucht lieber einen Englischkurs.
Mathematik braucht man nicht unbedingt, aber das Koordinatensystem sollte man in der Schule gelernt haben sollen. Der Groß- und Kleinschreibung sollte man auch mächtig sein.
2.3 Der richtige Editor
Auf jeden Fall ist ein guter Editor wichtig. Der 0815 Editor den ihr kriegt bei der Windows Installation ist nicht geeignet um zu scripten. Ich empfehle dringend Notepad++ zu benutzen. Er ist einfach zu bedienen und der Text ist farbig. Ich meine auch Notepad++ und NICHT Notepad!
Man kann auch Scite benutzen, aber da ich mich an den farbigen Text von Notepad++ gewöhnt habe, benutze ich den nicht. Scite punktet aber auf jeden Fall mit seiner Script Hilfe! Dennoch hält sich das mit der Script Hilfe in Grenzen. Ist also nichts besonderes.
Notepad++:
2.4 Andere Scriptsprachen in World of Warcraft?
Es existiert noch außer LUA in WoW XML. XML muss man nicht lernen, alles was man in XML niederschreibt ist zu 99% mit LUA genauso machbar. Ich werd auch nur ganz kurz über XML was schreiben, aber näher werde ich auch nicht darauf eingehen!
__________________________________________________ ______________
3. LUA anwenden
So nun kommen wir zum spannenden Teil. Es gibt verschiedene Scripts. Die wichtigsten sind hier aufgelistet! Lest euch alles Aufmerksam durch.
3.1 Kommentare
Ein Kommentar ist nichts besonderes. Es dient nur als Notiz für den Author oder dem Benutzer eines AddOns.
So könnte ein Kommentar aussehen im Editor.
3.2 local
Local wird euch dauernd begegnen in Scripts. Es sollte vor jeder Variable geschrieben werden.
mingxie ist nun lokalisiert und kann NUR in der LUA Datei benutzt werden. Das heißt: Es kann nicht in anderen LUA Dateien genutzt werden, so zicken sich dann die AddOns nicht mehr gegenseitig an.
Jedoch - local vergrößert nur die Datei und das Laden dauert länger, deswegen solltet ihr es nur dann benutzen, wenn ihr es auch wirklich benötigt.
3.3 Strings und (booleanische) Werte
Ein String ist nichts anderes als ein Text der zwischen "" oder '' steht.
Code:
local mingxieguide = "Lolig" -- Das ist ein String
Falls ihr 2 Strings gleichzeitig verwenden wollt so muss ein ".." stehen.
Code:
local a = "Lolig" -- Das ist ein String local b = "Lol" print(a..b)
+ (addieren)
- (subtrahieren)
* (multiplizieren)
/ (dividieren)
Booleanische Werte sind nichts anderes als true und false. Kann man aber auch als Ja und Nein gelten lassen.
Beispiel:
Code:
Frame:SetMovable(true)
3.4 Bedingungen
Eine Bedingung kann verschieden aussehen. Doch jede Bedingung fängt mit if an und hört wieder mit end auf! Ein Beispiel:
Code:
if login then print("Du hast dich eingeloggt) end
Es geht auch so:
if not ... then ... end
Wenn nicht ... dann ... ende
if ... then ... else ... end
Wenn ... dann ... andernfalls ... ende
Diesmal ein funktionierendes Beispiel:
Code:
if not IsAddOnLoaded("Grid") then return end
3.5 Funktionen
Eine Funktion hat viele schreibweisen. Wir konzentrieren uns aber auf die einfachste
Code:
[B]local function FunktionName()[/B]
Code:
local function Mingxie() print("Mingxie") end Mingxie() -- Funktion wird nun ausgeführt
Code:
local function Mingxie(irgendwas) print(irgendwas) end Mingxie("Lol")
Um eine Funktion mit Rückgabe zu erstellen, reicht ein einfaches return
(Ist von Los 1:1 kopiert)
Code:
local function ErsteTestFunction(zahl1) local zahl = zahl1 + 2 return zahl end print(ErsteTestFunction(5)) --> Würde nun "7" ausgeben
3.6 Tabellen
Um eine Tabelle zu erstellen tut man als erstes:
Code:
mingxie = { }
Code:
mingxie = { ["lol"] = lol, }
Code:
print(mingxie.lol)
3.7 Schleifen
Eine Schleife wird häufig benutzt um mehrere Sachen gleichzeitig auszuführen, ohne für jeden Code das selbe 5-Mal hinzuschreiben. Eine Schleife beginnt immer mit for i = 1, WERT_HIER do und endet mit einem end.
So könnt eine Schleife aussehen:
Code:
for i = 1, 5 do if i [b]==[/b] 1 then print("Erste Schleife") i = i + 1 -- Wir erhöhen sie auf 2 elseif i [b]==[/b] 2 then print("Zweite Schleife") i = i + 1 -- Wir erhöhen sie auf 3 ... ... end end
3.8 Farben
Natürlich kann man auch die Farben eines jeweiligen Objektes bestimmen. Es gibt Ausnahmen, wann man welche Farbmethode benutzt!
Frames (Objekt, dazu später noch mehr ...) färben:
Ein Frame wird normalerweise durch ein Backdrop (Hintergrund) sichtbar und gefärbt.
Code:
Frame:SetBackdrop(...) -- dazu später mehr Frame:SetBackdropColor(ROT, GRÜN, BLAU, [ALPHA]) Frame:SetBackdropBorderColor(ROT, GRÜN, BLAU, [ALPHA])
Code:
Frame:SetBackdrop(...) -- dazu später mehr Frame:SetBackdropColor(0.58, 0.87, 0.91, 0.6) Frame:SetBackdropBorderColor(0, 0, 0, 1)
...
...
1 = Weiß
Falls ihr ohne Dezimalstellen färbt, dann müsst ihr es so machen:
Code:
Frame:SetBackdrop(...) -- dazu später mehr Frame:SetBackdropColor(44/255, 78/255, 255/255, 0.6) Frame:SetBackdropBorderColor(32/255, 68/255, 23/255, 1)
Text (Fontstring):
Fontstrings (Schriftzüge, dazu aber später mehr) werden so gefärbt:
Code:
Frame.text:SetTextColor(ROT, GRÜN, BLAU, [ALPHA])
Texturen auf Objekten werden mit SetTexture(ROT, GRÜN, BLAU, [ALPHA]) oder SetVertexColor(ROT, GRÜN, BLAU, [ALPHA]) gefärbt.
Code:
Frame.texture:SetTexture(ROT, GRÜN, BLAU, [ALPHA]) Frame.texture:SetVertexColor(ROT, GRÜN, BLAU, [ALPHA])
Statusbars hingegen werden mit SetStatusBarColor(...) gefärbt.
Code:
Frame:SetStatusBarColor(ROT, GRÜN, BLAU, [ALPHA])
Texte hingegen die nicht mit SetTextColor(...) gefärbt werden können, werden mit |caarrggbb|r bearbeitet. Funktioniert auch mit Strings!
print("|cff888888Dieser Text wird grau|r")
local a = "|cff888888Dieser Text wird grau|r"
Die Farbtabellen werd ich unten auflisten.
3.9 Pfade
Ein Pfad ist unbedingt von Nöten falls ihr eure Texturen oder Schriften verwenden wollt in WoW.
So könnte ein Pfad aussehen:
Code:
"Interface\\AddOns\\MeinOrdner\\MeineSchrift.ttf"
Die Endung muss immer dabei stehen sonst erkennt Wow die Schrift nicht!
Ein Pfad kann auch in Verbindung mit Strings angewendet werden:
Code:
local mingxie = "Interface\\AddOns\\MeinOrdner\\MeineSchrift.ttf"
Und auch nur diese werden angenommen! .jpg und so weiter geht nicht.
Verschiedene Schreibweisen:
Code:
local mingxie = "Interface\\AddOns\\MeinOrdner\\MeineSchrift.ttf" local mingx = [[Interface\AddOns\MeinOrdner\MeineTextur.tga]] local mingz = [=[Interface\AddOns\MeinOrdner\MeineTexture2.blp]=]
__________________________________________________ ____________
4. WoW API
Eine ausführliche und gute Auflistung der WoW API findet ihr hier:
Siehe Anhang bitte...
Vergesst nicht die Groß- und Kleinschreibung, Kommas, die (geschweiften {}) Klammern ().
Die Seite ist auf Englisch!
__________________________________________________ ____________
5. Frames
5.1 Definition
Nun erstellen wir Frames anstatt den 08/15 "Hello World" Müll. Erstellt zunächst eine .LUA Datei die ihr mingxie bennent.
Was ist eigentlich ein Frame? Nun es ist einfach alles. Guckt auf euer Blizzard Interface etc. Alles was ihr sieht sind Frames.
Frames bedeutet laut dict.cc:
Rahmen
Gerüst
Spant
Doch ich nenne es einfach ein Objekt.
5.2 Frames anwenden
Ein Frame wird eingeleitet mit einer Variable
Code:
local mingxie
Code:
local mingxie = CreateFrame("Frame", "FRAME_NAME", PARENT)
CreateFrame("Frame", "FRAME_NAME", PARENT)
-- "Frame"
Die Eigentschaft unseres Frames ist "Frame" es gibt noch "Button", "Editbox" und "Statusbar", jedoch ist das nicht nötig als Anfänger.
-- "FRAME_NAME"
Hier kommt einfach nur ein Namen für das Frame. Zum Beispiel: "Mingxie". Jedoch benennt es nicht so: "Lolrolflicksdeh___imamkewl". Ein einfach und kurzer Name ist ein guter Name.
-- "PARENT"
Ist der Ursprung, sozusagen wo es verankert werden soll. Benutzt UIParent.
So könnte es aussehen:
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent)
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(WERT) mingxie:SetHeight(WERT)
SetWidth(WERT) -> Breite
SetHeight(WERT) -> Höhe
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(50) mingxie:SetHeight(70)
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(50) mingxie:SetHeight(70) mingxie:SetPoint(ANKERPUNKT1, PARENT, ANKERPUNKT2, X-Achse, Y-Achse)
ANKERPUNKT1:
"CENTER", "TOPLEFT", "TOPRIGHT", "BOTTOMLEFT", "BOTTOMRIGHT", "LEFT", "RIGHT"
Zur Vereinfachung ein Bild:
PARENT: Am besten nehmt ihr UIParent
ANKERPUNKT2: Siehe ANKERPUNKT1. Die Ankerpunkte können gleich sein (empfehle ich für Anfänger).
X-Achse: Wert eingeben.
Y-Achse: Wert eingeben.
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(50) mingxie:SetHeight(70) mingxie:SetPoint("CENTER", UIParent, "CENTER", 10, -10)
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(50) mingxie:SetHeight(70) mingxie:SetPoint("CENTER", UIParent, "CENTER", 10, -10) mingxie:SetBackdrop({ bgFile = Texturpfad, edgeFile = Texturpfad, edgeSize = WERT, }) mingxie:SetBackdropColor(ROT, GRÜN, BLAU, [ALPHA]) mingxie:SetBackdropBorderColor(ROT, GRÜN, BLAU, [ALPHA])
Ihr braucht Texturen für euren Hintergrund. Doch keine Angst - ihr könnt die von World of Warcraft benutzen. Ich erkläre aber fix die Begriffe:
bgFile: BackgroundFile = Hintergrundtextur
edgeFile: Rahmentextur
edgeSize = Rahmengröße (Der Wert: 1 eignet sich am besten)
Code:
local mingxie = CreateFrame("Frame", "Mingxie", UIParent) mingxie:SetWidth(50) mingxie:SetHeight(70) mingxie:SetPoint("CENTER", UIParent, "CENTER", 10, -10) mingxie:SetBackdrop({ bgFile = "Interface\\Buttons\\WHITE8x8", edgeFile = "Interface\\Buttons\\WHITE8x8", edgeSize = 1 }) mingxie:SetBackdropColor(0.27, 0.27, 0.27, 1) mingxie:SetBackdropBorderColor(0.21, 0.21, 0.21, 1)
5.3 Texte einfügen
Als nächstes fügen wir einen Text hinzu. Dies ist ganz einfach:
Zunächst erstellen wir wieder eine Variable am besten sollte die mit der vorherigen Variable anfangen.
Code:
mingxie.text = [b]Variable[/b]:CreateFontString("FRAME_NAME", "EBENE") -- local ist nicht nötig
Variable: Natürlich die Variable unseres Frames: mingxie.
"FRAME_NAME": Der Name des Fontstrings (Schriftzug) ist nicht nötig, also schreiben wir ein nil. nil ist nichts, sozusagen wir geben kein Namen für den Fontstring.
"EBENE": Die Ebene auf welche sie sich befinden soll. Soll sie überdeckt werden oder immer im Vodergrund stehen? Mehr Informationen über Layer findet ihr im Anhang.
So könnte unser Fontstring aussehen:
Code:
mingxie.text = mingxie:CreateFontString(nil, "ARTWORK") -- local ist nicht nötig
Code:
mingxie.text = mingxie:CreateFontString(nil, "ARTWORK") mingxie.text:SetFont(PFAD_DER_SCHRIFT, SCHRIFTGRÖßE, [KONTUR])
SCHRIFTGRÖßE = Ein Wert muss hier eingegeben werden. Für Pixelschriften solltet ihr 8/10 nehmen. Für normale wie diese, die ihr grad liest, eignet sich 12/14.
KONTUR = optional. Ein schwarzer Umriss wird geziert um die Schrift. Für normale Schriften nehmt ihr "OUTLINE" oder "THINOUTLINE, bei Schriftgröße über 20
solltet ihr "THICKOUTLINE" nehmen. Falls ihr Pixelfonts habt dann müsst ihr "OUTLINEMONOCHROME" nehmen.
Code:
mingxie.text = mingxie:CreateFontString(nil, "ARTWORK") mingxie.text:SetFont("Fonts\\ARIALN.ttf", 12, "OUTLINE")
Code:
mingxie.text = mingxie:CreateFontString(nil, "ARTWORK") mingxie.text:SetFont("Fonts\\ARIALN.ttf", 12, "OUTLINE") mingxie.text:SetPoint("CENTER", mingxie)
Zum Beispiel:
So würde es aussehen wenn ich alles ausfüllen würde
Code:
mingxie.text:SetPoint("CENTER", mingxie, "CENTER", 0, 0)
Zum Schluss fügen wir einen Text hinzu.
Code:
mingxie.text = mingxie:CreateFontString(nil, "ARTWORK") mingxie.text:SetFont("Fonts\\ARIALN.ttf", 12, "OUTLINE") mingxie.text:SetPoint("CENTER", mingxie) mingxie.text:SetText("Mingxie war hier")
5.4 Textur hinzuweisen
Eine Textur einzufügen ist ein Kinderspiel. Der Aufbau und Code ähnelt dem Fontstring.
Code:
mingxie.textur = mingxie:CreateTexture("NAME", "EBENE")
"NAME": Nicht nötig.
"EBENE": Siehe nach unter 5.3 Texte einfügen
Code:
mingxie.textur = mingxie:CreateTexture(nil, "ARTWORK")
Code:
mingxie.textur = mingxie:CreateTexture(nil, "ARTWORK") mingxie.textur:SetTexture(PFAD_DER_TEXTUR/ROT, GRÜN, BLAU, [ALPHA])
Code:
mingxie.textur = mingxie:CreateTexture(nil, "ARTWORK") mingxie.textur:SetTexture(PFAD_DER_TEXTUR) mingxie.textur:SetVertexColor(ROT, GRÜN, BLAU, [ALPHA])
Code:
mingxie.textur = mingxie:CreateTexture(nil, "ARTWORK") mingxie.textur:SetTexture("Interface\\Buttons\\WHITE8x8") mingxie.textur:SetVertexColor(0.27, 0.27, 0.27, 1) mingxie.textur:SetAllPoints(mingxie)
Ihr habt sicherlich bemerkt das ich diesmal SetAllPoints() benutzt habe. Sowie der Name schon verrät, verankere ich die ganze Texture auf das Frame.
So sieht es im Spiel aus:
Ja, kein großer Unterschied. Liegt auch daran das CreateTexture nur wenig/selten angewendet wird. Ist eben leicht ersetzbar.
Im Grunde genommen sieht das Frame noch sehr öde aus. Es war nur ein Beispiel um euch zu zeigen was ihr damit anstellen könnt. Fantasie ist hier halt gefragt.
__________________________________________________ ____________
6. TOC Datei
6.1 Definition
Jetzt mal hinter den Kulissen! Die .TOC (Table of Contents) Datei erkennt euren Ordner und lädt eure LUA Dateien. Das heißt ohne die .TOC Datei funktiniert kein AddOn!
Ihr sollte einen Ordner erstellen den ihr nach Wunsch bennent. Aber Achtung die .TOC Datei muss den gleichen Namen haben wie der Ordner sonst geht es nicht. Und stellt sicher, dass eure .LUA Datei im Ordner ist.
Der Aufbau ist recht simpel und erfordert keinerlei LUA Kenntnisse.
6.2 Aufbau
Als erstes erstellt ihr eine .TOC Datei. Nun füllt ihr sie aus:
Code:
## Interface: ## Title: ## Notes: ## Author: LUA_DATEI_NAME.lua
So könnte es aussehen:Quote:
## Interface: 40000
Richtet sich nach dem Patch. Die 4 steht immer am Anfang bis die neue Erweiterung von WoW rauskommt.
## Title: Mingxie
Der Titel eures AddOns
## Notes: LUA Guide by Mingxie
Eine kurze Notiz/Beschreibung zum AddOn.
## Author: Mingxie
Das erklärt sich ja wohl von allein.
6.3 Alternativen
Eine richtige Alternative zu der .TOC Datei gibt es nicht, wenn nur falls man LUA Dateien laden will, aber das ist als Anfänger nicht nötig und was ändern tut sich nichts.
So könnte alles aussehen, falls ihr alles befolgt habt im Guide:
__________________________________________________ ____________
7. Selbststudium
Auf dem weiteren Weg. Geht auf diverse Seiten wo man AddOns runterladen kann (Links im Anhang). Nehmt AddOns die nicht so groß sind. Deren Aufbau sollten leicht sein und verständlich.
Verändert sie nach euren Wünschen. Nach und nach wird euch alles leichter fallen. Ich helfe euch auch gern, falls ihr mal nicht weiterkommen solltet.
Hört aber nicht nach 3 Tagen auf und fängt nach einer Woche wieder an. Das nützt nichts.
Entweder beschäftigt ihr euch intensiv damit oder ihr lasst es.
LUA ist wirklich ganz einfach, das meiste ist nur Auswendig lernen und Englisch/Mathe mal hier und da.
Wenn ihr meint ihr seid fortgeschritten genug, dann holt euch Tukui (Link im Anhang). Tukui ist ein UI-Pack das auf LUA basiert. Es besitzt ein In Game Menü. Ich kann es nur empfehlen!
Ich selber benutze sogar Tukui. Natürlich editiert
__________________________________________________ ____________
8. AddOns selber herstellen
8.1 Inspiration suchen
Das wichtigste ist natürlich die Inspiration. Ohne Inspiration, keine AddOns. Schaut doch mal in den "Zeigt euer Interface" Thread nach oder sonst wo. Ihr werdet sicherlich eine Inspiration finden.
Euer AddOn muss nicht immer was neues sein. Man kann es ja schließlich besser machen als andere. Falls ihr wirklich ideenlos seid, dann spielt andere Videospiele. Es gibt sogar UI (User Interface = Benutzerinterface) Packs die das Diablo, Aion, ... Theme haben.
8.2 Blizzard UI
Meine meisten Inspirationen kommen vom Blizzard UI. Ich hab hier eine Skala einfügt plus Bild an was ihr euch so ranmachen könnt.
1 = Leicht
2 = Mittel
3 = Fortgeschritten
__________________________________________________ ____________
9. Fehler erkennen
9.1 LUA Fehler
Ihr habt eine Fehlermeldung bekommen? Kein Problem! Meistens sind es Tippfehler oder der Script ist falsch. Hier die meisten LUA Fehler die euch passieren können.
Falls ihr keine LUA Fehlermeldung an habt, dann könnt ihr die schnell anzeigen lassen.
Der Pfad eurer Schrift ist falsch. Überprüft nochmal ob der Pfad auch wirklich richtig ist!
Tippfehler bzw diese Variable existiert garnicht.
Ihr habt ein end vergessen
Klammer fehlt.
( ) <- Richtig
{ } <- Richtig
( } <- Falsch
9.2 Taint Fehler
Taints blockieren das Script eines AddOns. Treten aber selten auf. Die meisten Taints entstehen wenn man Aktionen wie bewegen, verstecken, ... während dem Kampf macht.
Im Chat steht dann auch eine Nachricht in gelb. Falls ihr die richtige Ursache herausfinden wollt dann geht unter
World of Warcraft/Logs/Taints.log
Dort sollte stehen was ihr falsch gemacht habt.
Lua Fehler sollten auf garkeinen Fall ignoriert oder abgeschaltet werden! Sie wird/kann eure FPS in den Keller sinken lassen!
__________________________________________________ ____________
10. Regeln
Es gibt auch sogar Regeln an denen man sich halten muss. Falls ihr das nicht tut dann wird sich Blizzard um euch kümmern.
__________________________________________________ ____________Quote:
Acht Punkte, die Programmierer ab sofort einhalten müssen
Wie Blizzard auf der offiziellen Seite bekannt gab, müssen Autoren von Add-ons seit dem 20.03.2009 folgende weitere Richtlinien befolgen:
1) Add-ons müssen kostenlos zu erwerben sein.
Alle Add-ons müssen frei zugänglich sein. Entwicklern ist es nicht erlaubt, "Premium" Versionen ihrer Add-ons zu erstellen und für zusätzliche Features oder einen bestimmten Service Geld zu verlangen. Der Zugang zu dem Add-on darf auf keine Art und Weise mit Kosten verbunden sein.
2) Der Add-on Quellcode muss komplett einsichtbar sein.
Der Programmiercode eines Add-ons darf in keiner Weise versteckt oder verschlüsselt sein und muss der Öffentlichkeit zugänglich sein.
3) Add-ons dürfen die Server von World of Warcraft oder andere Spieler nicht negativ beeinflussen.
Add-ons dürfen keine Funktionen enthalten die, im Ermessen von Blizzard Entertainment, einen negativen Einfluss auf die Performance der World of Warcraft Servern oder der Spieler haben. negatively impacts the performance of the World of Warcraft realms or otherwise negatively affects the game for other players. Dies betrifft beispielsweise die exzessiven Nutzung des Chatsystems, unnötige Zugriffe auf die Festplatte und die Verringerung der Bildraten
4) Add-ons dürfen keine Werbung enthalten.
Add-ons dürfen nich dazu verwendet werden um Güter oder Dienstleistungen zu bewerben.
5) Add-ons dürfen nicht um Spenden bitten.
Add-ons dürfen keine Aufforderungen zum Spenden enhalten. Wir wissen um den immensen Aufwand und Anstrengungen die in der Entwicklung eines Add-ons stecken können, aber solche Aufforderungen sollten auf die Webseite des Autoren oder auf eine allgemein Addonseite beschränkt blieben und nicht im Spiel erscheinen.
6) Add-ons dürfen kein aggresives oder fragwürdiges Material enthalten.
World of Warcraft wurde für Spieler ab 12 Jahren freigegeben. Blizzard Entertainment gestattet nicht, dass Ad-on Material gegen diese Wertung verstößt.
7) Add-ons müssen sich an die World of Warcraft ToU und EULA halten.
Alle Add-ons müssen den World of Warcraft Terms of Use und die World of Warcraft End User License Agreement entsprechen.
8) Blizzard Entertainment hat das Recht, die Add-on Funktionen anzupassen wenn es nötig ist.
Um die integrität von World of Warcraft zu gewährleisten und um sicherzustellen, dass bestmögliche Spielerlebniss für unsere Spieler geboten wird. behält sich Blizzard Entertainment das Recht vor, jede Add-on Funktion einzuschränken oder zu deaktivieren."
Von einigen Add-on-Autoren gibt es bereits Reaktionen, so scheint vor allem Punkt 5 die Gemüter der Entwickler zu erhitzen. Der Autor von Outfitter und GroupCalendar (mundocani) gab zum Beispiel bekannt, er wolle seine Add-ons nicht mehr weiter entwickeln.
11. Hilfreiche Links (Anhang)
Ich hab doch das Einverständnis von lowfyr bekommen (Vielen Dank!).
Hilfreiche Links:
Hier könnt ihr eure AddOns runterladen/hochladen
Eins der besten UI Packs: Tukui
RGB Tabelle
RGB Tabelle
Ähnlich wie Wikipedia extra für Lua (WoW)
Ähnlich wie Wikipedia extra für Lua (WoW)
Hier könnt ihr eure AddOns runterladen/hochladen
Hier könnt ihr eure AddOns runterladen/hochladen
Farbentabelle: (Für 3.9)
__________________________________________________ ____________
Ich hoffe der Guide hat euer Interesse geweckt oder geholfen
Falls ihr grammatikalische-, lexikalische-, inhaltliche- oder Rechtschreibfehler findet oder noch Sachen unklar sind, dann macht mich bitte darauf aufmerksam! Natürlich über eine private Nachricht
Credits:
Los - Inspiration und bisschen abgeguckt
Mit freundlichen Grüßen
Mingxie~