Sandbox
Aus WARWiki
Inhaltsverzeichnis |
Willkommen im Sandkasten! Möchtest du etwas mit dem WikiCode spielen oder einfach mal ein paar Sachen testen? Dann bist du hier genau richtig. Hier kann getestet werden bis der Arzt kommt. Aber bitte verändere nicht die Test's anderer Benutzer!
Traxxz's TestArea
- Sig Development
- Traxxz Diskussion Artikel
Tutorial (Hauptüberschrift)
Fettschrift / Kursivschrift (Unterüberschrift)
Zeichen //normal
Zeichen //kursiv
Zeichen //fett
Zeichen //fett kursiv
Liste erstellen (Unterüberschrift2)
- Aufzählung1 //Liste mit * am Anfang
- Doppelpunkt für Einrücken
- Aufzählung2
Links (Inhaltsverzeichnis bei 4 Überschriften)
Links auf Artikel innerhalb des Wiki (kleine Überschrift)
Ostland //einfacher Link
Westland //Link mit anderem Text |
Links in's Web (kleine Überschrift)
http://www.google.de //einfacher Link
[1] //Nummerierung
Google //Leerstelle für alternativen Text
Woozis testzone
bissl spielen
ich teste ma kaos als internen link
lua highlighter test
MobHealth = {}
--diese Funktion wird aufgerufen wenn das Addon initialisiert wird function MobHealth.Initialize()
--erstelle ein Fenster mit dem Namen MobHealthMainText (muss wie in der XML heisen) und setze es auf sichtbar (true) CreateWindow("MobHealthMainText", true)
--aus Sicherheitsgründen das gleiche Fenster noch mal auf sichtbar stellen (true) WindowSetShowing("MobHealthMainText", true)
--entferne die Verankerung des Fensters WindowClearAnchors("MobHealthMainText")
--setze eine Verankerung an unserem Fenster --Die Variablen hier sind: Unser Fenster, der Ankerpunkt des Zielfensters, das Zielfenster, der Ankerpunkt unseres Fenster, --Abweichung von x und y --Also verankere die obere Seite unseres Fensters an die untere-rechte Ecke des Zielfensters TargetWindowStatusConLabel, --welches ein Teil des Standart Interface ist und der Schwierigkeitstext beim Zielfenster ist, --und versetze den Anker noch um -65 (also 65 nach links) und in der Höhe um nichts WindowAddAnchor("MobHealthMainText", "bottomright", "TargetWindowStatusConLabel", "top", -65, 0)
--Hier sagen wir, das sobald sich das Event PLAYER_TARGET_UPDATED ereignet rufe unsere Funktion MobHealth.MobHealthUpdate --diese Event wird immer ausgelöst, sobald man das Ziel ändert, aber auch wenn es Schaden nimmt, geheilt wird oder gebuffed wird RegisterEventHandler(SystemData.Events.PLAYER_TARGET_UPDATED, "MobHealth.MobHealthUpdate") end
--Die Funktion MobHealth.MobHealthUpdate, welche durch ein Event ausgelöst wird --Das Event übergibt auch 3 Variablen -> Klassifizierunng des Ziels, eine eindeutige ID jenes und den Typ des Ziels function MobHealth.MobHealthUpdate(targetClassification, targetId , targetType)
--wenn die Klassifirung selfhostiletarget ist, also unser feindliches Ziel das wird gerade anvisieren if(targetClassification == "selfhostiletarget") then
--setze eine lokale Variable auf einen Wert, den wir aus einem Datenobjekt in WAR auslesen
--in diesem Fall sind das Infos Über das Ziel -> unser aktuelles feindliches Ziel -> aktuelles Leben in Prozent --wenn dies ein neues Ziel ist, dann ist das der Wert 100.0000, also 100% local MobHealthRaw = TargetInfo.m_Units.selfhostiletarget.healthPercent
--eine neue Variable, die den Wert der oben definierten bekommt, jedoch mit der LUA Funktion abgerundet wird --hier wird aus den 100.0000 eine 100, was sich schöner darstellen lässt local MobHealth = math.floor(MobHealthRaw)
--hier kommen ein paar if-elseif-Verschachtelungen, die den Wert MobHealth überprüfen, also die Prozentzahl unseres Zieles
--es wird die Zahl geprüft und je nach dem was eintritt mittels LabelSetTextColor die Farbe des Labels geändert --LabelSetTextColor("nameDesFensters", AnteilRot, AnteilGrün, AnteilBlau) --in unserem Fall geht die Farbe bei 100% von Grün über Gelb, Orange und schließlich Rot bei 0% if(MobHealth >= 75) then LabelSetTextColor("MobHealthMainText", 0, 200,0) elseif(MobHealth >= 50) then LabelSetTextColor("MobHealthMainText", 255, 255,0) elseif(MobHealth >= 25) then LabelSetTextColor("MobHealthMainText", 255, 128,0) elseif(MobHealth >= 0) then LabelSetTextColor("MobHealthMainText", 255, 0,0) end
--sollte die targetId 0 sein, also wenn wir kein feinliches Ziel anvisieren
--dann setzte die Sichtbarkeit des Labels auf aus (false) wenn nicht auch an (true) (siehe oben) if(targetId == 0) then WindowSetShowing("MobHealthMainText", false) else WindowSetShowing("MobHealthMainText", true) end
--hier wird nun der Text unseres Lables auf die aktuelle Prozentzahl gesetzt, als das was wir schlussendlich im spiel sehen
--LabelSetText("NameDesFensters", L"text") --hier muss aufgepasst werden, das Variablen sicherheitshalber mit der Funktion towstring() auf einen W-String für --die Ausgabe gestellt wird --das L" %" ist dann im Spiel das %-Zeichen, hier _muss_ ein großes L vor die Anführungszeichen gestellt werden, --da es sonst zu Fehlern kommt. Ausgabe wäre hier 100 % LabelSetText("MobHealthMainText", towstring(MobHealth) .. L" %")
end end