Advanced Script Library – Mappedia

Advanced Script Library

Aus Mappedia
Wechseln zu: Navigation, Suche

Die Advanced Script Library (kurz ASL) ist eine Zusammenstellung von in vJass geschriebenen Systemen, die seit ca. August 2008 vom Benutzer Baradé veröffentlicht wird. Neben zahlreichen allgemein benötigten Funktionen und Typen, bietet sie zudem einige speziellere Systeme, die sich hauptsächlich für Rollenspielkarten bzw. -modifikationen eignen. Ziel der Zusammenstellung ist es, dem Entwickler die Einarbeitung in zu viele verschiedene Systeme zu ersparen. Sie eignet sich daher eher für größere Projekte, da relativ viel Code importiert werden und einige globale Variablen definiert werden müssen.

Inhaltsverzeichnis

Ursprung

Ursprünglich wurde mit der Entwicklung der ASL begonnen, nachdem die Arbeiten am deutschen Mod-Projekt "Die Macht des Feuers" gegen Ende des Sommers 2007 eingestellt wurden. Grund für die Einstellung des Mod-Projekts war unter anderem die Beschränkung durch die recht einfach aufgebaute Skriptsprache JASS. Nachdem der Benutzer Baradé einige Systeme in vJass geschrieben hatte, beschloss er, diese zu einer Sammlung namens "ASL" zu veröffentlichen und zu pflegen. Der Name orientiert sich dabei an der ebenfalls umfangreichen Zusammenstellung von KI-Funktionen AMAI. Noch vor einer richtigen Zusammenstellung des ASL-Codes, wurden auch die Arbeiten an "Die Macht des Feuers" wieder aufgenommen, dessen Code nun auf der ASL basieren sollte.[1]

Entwicklung

Ältere Versionen bis 1.2 finden sich auf der SourceForge.net-Seite des inzwischen aufgeteilten Projekts "wc3sdk". Für jede Version existiert zusätzlich eine mittels vjassdoc generierte API-Referenz. Seit Juli 2011 ist das Projekt auf Gitorious.org umgezogen und wird daher nicht mehr mit SVN, sondern mit GIT entwickelt. Am 21. November 2011 wurde Version 1.3 angekündigt.[2] Viele Funktionen und Systemen wurden teilweise oder ganz von Seiten wie Wc3C.net oder HiveWorkshop.com übernommen. Der Code folgt einem strengen Schema. So werden Strukturen und Textmakros meist auf einzelne Dateien und zugehörige Bibliotheken aufgeteilt. Durch die Bibliotheken, können die Abhängigkeiten bestimmt werden, sodass die Verwendung der vJass-Anweisungen .execute() und .evaluate() minimal sind. Der Code ist mit Doxygen]-artigen Kommentaren versehen.

Verwendung

Für die Verwendung der ASL, wird der JassHelper, idealerweise Version 0.A.2.A, benötigt. Version 0.A.2.B wird aufgrund von bestehenden Fehlern nicht unterstützt.[3][4] Zunächst muss man in der "jasshelper.conf"-Datei das "src"-Verzeichnis der ASL als "lookup folder" eintragen, damit man alle Dateien fehlerfrei über ihren relativen Pfad importierten kann. Ab Version 1.3 wird die JassHelper-Option [forcemethodevaluate] vollständig unterstützt. Die Option [noimplicitthis] kann bereits seit der ersten Veröffentlichung verwendet werden. Wegen eines Fehlers in pjass, wird die Verwendung des JassParsers empfohlen.[5] Mit der Anweisung

//! import "Import Asl.j"

kann der gesamte Code der ASL importiert werden. Zuletzt muss noch eine Reihe von globalen Variablen definiert werden, die einige Optionen der ASL festlegen. Eine vollständige Liste findet sich in der README-Datei der ASL. Die ASL unterstützt sowohl RtC als auch jAPI.

Auslöser-Editor-Integration

Momentan befindet sich eine Integration für den Auslöser-Editor in Entwicklung. Dabei werden bestimmte Funktionen und Variablen im Auslöser-Editor zugänglich gemacht. Zudem bietet sie eine Übersetzung der bestehnden Auslöser-Funktionen ins Deutsche. Dazu müssen lediglich die drei Dateien "UI\TriggerData.txt", "UI\TriggerStrings.txt" und "UI\WorldEditStrings.txt" durch ihre jeweiligen Versionen der ASL aus den Verzeichnis "gui" und "gui_de" ersetzt werden.

Web-Links

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Warcraft-Mapping
Werkzeuge