Einfaches Script zur Textausgabe auf dem Bildschirm
Einleitung:
Erstmal Hallo an alle Mitleser. Ich würde gerne einen Thread starten, der mir und allen anderen auch das Scripten näher bringt. Es gibt sehr gute Mods für den LS13, jedoch fehlt mir des öfteren etwas Abwechslung in Form eines Wirtschaftskreislaufes oder ähnliches. Ziel soll es hier sein, nach und nach mehr ins Scripten einzusteigen und ein schrittweises lernen bzw. nachvollziehen zu ermöglichen. Es gibt natürlich Modder, welche ihre Scripte nicht veröffentlichen möchten und diese entsprechend "schützen". Das ist natürlich völlig in Ordnung. Es soll hier auch nicht um das Kopieren vorhandener Scripte gehen, sondern um die Befähigung selbst zu scripten. Wer also hier nicht teilnehmen möchte, muss dies auch nicht machen. Für alle anderen, einschließlich mir, hoffe ich, dass sich hier einige Dinge zusammentragen lassen. Weiterhin führen viele Wege nach Rom und so lässt sich auch beim Scripten ein Ziel auf verschiedensten Weisen erreichen. Probleme dürfen hier natürlich auch erörtert werden. Ich werde auch diesen Thread bei neuen Input auf dem Laufenden halten und diesen ersten Post aktualisieren. Erklärungen einzelner Codefragmente werden durch Kommentare kenntlich gemacht, welche am doppelten Minus " -- " erkannt werden können. Da auch ich nicht (oder wohl eher vor allem ich nicht) von Fehlern befreit bin, freue ich mich auf euer Feedback bezüglich Fehlern, aus denen lernt man ja bekanntlich dazu. | ||
Zum Anfang benötigt man natürlich eine eingebundene Datei zum scripten, weche in der modDesc.xml eingetragen sein muss, wie z.B.:
Code: Select all
Programme und wissenswertes: Zum scripten benutze ich LUAEdit, im Grunde ist das Program aber nicht so wichtig: http://luaedit.sourceforge.net/ Weiterhin ist diese Seite zu empfehlen, da sie Grundkenntnise bezüglich Syntax und Regeln vermittelt: http://lua.coders-online.net/Content/Show/8 Nicht zu vergessen die ScriptDoku: http://www.ls-mods.de/scriptDocumentati ... anguage=de Und hier die Scriptreferenz für vorhandene Funktionen der LS13 Engine: http://gdn.giants-software.com/document ... ipting.php Wichtig sind vor allem die Sichtbarkeitsregeln der Variablen: http://lua.coders-online.net/Content/Show/14 | ||
Wer noch Erklärungen zu den Codefragmenten beisteuern kann, darf dies gerne tun, mich und anderen wird das sicher freuen Code: Select all
Zunächst benötigt man eine TG (Transformgroup), welche die UserAttribute enthält, Name der TG ist egal. Innerhalb dieser TG befindet sich das Objekt welches rotiert wird. BEACHTE: Es wird nur das erste Objekt rotiert, weil wir den Index 0 im Script angeben. Die UserAttribute müssen exakt wie oben geschrieben werden (XRotSpeed, ZRotSpeed und HorizRotSpeed) Datentypen können hier sein: float (Kommazahl), String (Zeichenkette) oder sogar Integer (Ganzzahl). Aufgrund der Umdrehungsgeschwindigkeit (Grad pro Millisekunde) würde sich das Objekt rasend schnell drehen, würde man 1 eintragen. Es empfiehlt sich also eine Kommazahl oder einen String zu benutzen, um die Rotationsgeschwindigkeit feiner einstellen zu können. Diese TG benötigt außerdem den Scriptaufruf, damit unsere Funktionen "gestartet" werden. Benannt wird er "onCreate", Typ = "script callback" und eingetragen werden muss: "modOnCreate.RotationOnCreate", ohne Anführungszeichen. Diese Bezeichnung hatten wir oben im Script schon angegeben. Auch hier gilt das Beachten der exakten Schreibweise. Kenntlich gemacht ist dies mit den Sternchen *** Was kann man damit machen? Zum Beispiel: - Rotoren drehen lassen, an Windrädern oder ähnliches - Eine Drehscheibe für den Shop erstellen, auf der ein Auto steht - ... | ||
Script 2:
Mit diesem Script soll ein Text auf dem Bildschirm ausgegeben werden:
Code: Select all
| ||