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

Anzeige

Sponsoren