Jump to content

Lua erlernen mit kleinen Beispielen


Empfohlene Beiträge

hallo Lua - Experten, und alle die Intresse haben Lua zum erlernen. da ich selber auch sehr gerne evtl mal Lua erlernen möchte und absolut keine Ahnung von Lua habe …( und vorausgesetzt ich bin nicht zu blöd dazu um es zu lernen :$), … komme ich heute mit einer kleinen demo anlage zu euch mit der bitte, mir hier dabei zu helfen … ich weiß, es ist noch wirklich sehr früh, jetzt schon damit anzufangen, weil doch erst die V5 im anlaufen ist, aber mich intressiert nun mal das MBS hier... nur 1x so als kurzen einstand, wäre ich euch sehr dankbar mir ein paar fragen in form mit ein paar Lua begriffen zu helfen... auf meiner demo anlage befinden sich 3 bzw 4 fragen …, die ihr mir mit Sicherheit sehr gerne erfüllen werdet (y)… ( wer hat da intresse von den Lua Experten, mir eine kleine Ev zu erstellen ... falls es mehrere Möglichkeiten gibt, werden hier alle sehr gerne in empfang genommen ) … falls hier jemand von den anderen Mitgliedern ist, um auch noch solche weitere hilfen in form kleiner demo anlagen hier einzufügen will, … der kann es sehr gerne hier mit einbringen :)… PS: von meiner seite werden auf jeden fall weitere demo anlagen mit fragen hier eintrudeln :D ... ich freue mich jetzt schon im voraus über eure Hilfeleistungen … vielen dank im voraus … gruß schlagerfuzzi ( die Nervensäge )

Lua lernen mit kleinen beispielen.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 34 Minuten schrieb schlagerfuzzi1:

mir eine kleine Ev zu erstellen ...

nützt dir überhaupt nichts, Wolfgang. Daraus lernst du nichts. Es ist viel lehrreicher, wenn du das selbst machst.

Dazu baust du zuerst eine gewöhnliche EV. Zum Beispiel für den Schalter.

1833276727_Schlagerfuzzi001.thumb.jpg.e8d3636965eaf9d49f186cbcf3e71c36.jpg

 

Wenn der Schalter das Signal auf Fahrt schalten soll, dann sieht das in der EV zum Beispiel so aus:

101560755_Schlagerfuzzi002.JPG.be8d0ccd0b954759bb8b874fa04ea4ea.JPG

 

Ein Klick auf das Symbol, welches ich im Bild markiert habe, wandelt diesen Teil deiner EV dann in ein Lua Skript um:

1785029291_Schlagerfuzzi003.thumb.JPG.d1b24faf41aed9dde8dc7486af85dc96.JPG

Und anders als bei einem Skript von mir oder jemand sonst weißt du bei deinem Skript schon genau, was es tut. Weil du das selbst in der EV festgelegt hast. Denn wenn man die Aktionen für ein Ereignis auf Lua umstellt, dann tut das Skript ganz genau das, was auch die EV vorher getan hat.

Der ganze grüne Text ist übrigens nur ein Kommentar. Ein Hinweistext. 
Das ganze Skript für "Schalter stellt Signal auf "Fahrt" ist also nur eine einzige Zeile Lua. Mehr nicht.

Es ist deshalb so wenig, weil ich so wenig in die EV gepackt hatte. Der Schalter schaltet das Signal Signal auf Fahrt -  egal, in welche Richtung man ihn umschaltet.

Wenn diese einfache Version verstanden ist, dann kannst du den nächsten Schritt versuchen und dir eine neue EV bauen, welche den Schalter zum Umschalten zwischen Fahrt und Halt benutzt. Und das wandelst du dann wieder in Lua um und schaust, was für ein Skript dabei entsteht. Und dasselbe machst du auch für Frage 2 und 3. Bau dir die EV dazu, wandle die Aktionen in Skripte um und schau dir die Ergebnisse an.

Fragen die du dir selbst nicht mit der EV beantworten kannst, wirst du auch mit Lua nicht beantworten können. Denn beides stellt an den logische Verstand dieselben Ansprüche. Und Lua ist abstrakter, wohingegen die EV gerade enorm an Lesbarkeit hinzugewonnen hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @schlagerfuzzi1

Warum möchtest du unbedingt gleich mit LUA beginnen, wäre es nicht besser erst einmal mit der neuen EV zu arbeiten? Ich selbst bin mit der Steuerung von V4 sehr gut zurechtgekommen (auch wenn selbst ich nicht alle Kniffs und Tricks kannte), nun heißt es aber auch für mich erst einmal aufs Neue die ganzen Möglichkeiten mit der EV zu erlernen. Dies wird für mich erst einmal der erste Schritt sein bevor ich mich an LUA heran getrauen werde, denn davor habe ich noch sehr viel Respekt. Vielleicht solltest du auch einen Schritt nach dem Anderem machen, nicht vergessen: LUA ist eine Skriptsprache die es unter anderem recht schwer zu lesen ist…

Gruß Frank

Jetzt war @Goetz schneller mit dem Antworten und dies auch noch besser als mein Text (y)

Bearbeitet von fzonk
Edit
Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo @Goetz, hallo @fzonk

du hast mir jetzt schon mal fürs 1. ein bisserl geholfen in dem du mir schon mal anhand deiner 3 Fotos das zumindest soweit zeigen konntest, was und wie ich soweit hinkomme... sicher ich muß noch einiges dazu lernen … ich werde das auch auf jeden fall ausprobieren, … und werde auf diversen anlagen mal versuchen mit zum einbauen … ( vielleicht komme ich ja damit eher und besser klar als mit variablen ) :D … ich werde dich auf jeden fall mal am laufenden halten … ( und ich weiß ja, wo und wie ich dich finden kann :D) … @fzonk, … ich bin mit der Ev schon einiges am lernen, übe ja immer wieder fleißig daran, ich weiß auch schon seit v3 bzw v4, dass ich mit gleis betreten bzw gleis verlassen einiges erreichen kann … ich sitze seit 4 jahren nur noch im MBS … für all meine weiteren Hobbys habe ich gar keine zeit mehr, weil mich das MBS voll in Anspruch nimmt :D ... ich freue mich auf eure weitere mithilfe und sage einstweilen danke … gruß schlagerfuzzi ( Wolfgang)

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @schlagerfuzzi1,

Hier hast du deine Anlage mit ein paar einfachen EV Beispielen zurück.

 

vor 13 Minuten schrieb schlagerfuzzi1:

vielleicht komme ich ja damit eher und besser klar als mit variablen

Nein, ganz bestimmt nicht.

Weil Variablen ein ganz wichtiger Bestandteil jeder Programmiersprache sind.

Aber mit der neuen EV hast du es vielleicht einfacher, Variablen zu verstehen.

 

vor 13 Minuten schrieb schlagerfuzzi1:

ich weiß auch schon seit v3 bzw v4, dass ich mit gleis betreten bzw gleis verlassen einiges erreichen kann …

Und das bleibt weiterhin der einzige Weg etwas zu erreichen. Auf der Anlage passieren bestimmte Ereignisse. Ständig und überall.
Mit der EV kann man sagen, was das MBS tun soll, wenn solch ein Ereignis (Zug betritt Gleis, Signal schaltet, Sack Reis fällt in China um …) passiert. Und mit Lua kann man das, was als Reaktion auf ein Ereignis geschehen soll, in Skriptform schreiben statt es aus Bausteinen zusammenzufügen.

Gewonnen ist mit Lua erst dann etwas, wenn man komplexe Bedingungen auswerten will. Und von solch komplexen Situationen bist du noch sehr weit entfernt. Weil du vorher lernen musst, wie du die einfachen Abläufe zuverlässig steuerst.

Schlagerfuzzis Fragen 01.mbp

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo @Goetz,

ich möchte dir jetzt mal danke sagen, dass du dir die mühe gemacht hast, und mir diese kleine demo zukommen lassen hast. (y) … ich werde mir diese wenn auch heute vielleicht nicht mehr aber spätestens morgen mal komplett und mit aller ruhe in meinen kopf mal rein hämmern … danke an euch beide … gruß schlagerfuzzi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Minuten schrieb schlagerfuzzi1:

in meinen kopf mal rein hämmern …

Auch, wenn es nur so aus Spaß gesagt ist:
In dieser Formulierung offenbart sich die Ursache für deine Lernschwierigkeiten.

Man kann Wissen nicht in den Kopf hämmern. Lernen ist nie und nimmer ein Kraftakt. Und dass man "sich etwas in den Kopf hämmern müsse" empfehlen stets diejenigen, die selbst nicht viel gelernt haben. Weil sie selbst nicht wissen, wie Lernen geht. Hör nicht auf solche Menschen. Vergiss das Hämmern. Vergiss das "Einprägen". Das ist kompletter Stuss. (Sorry!)

Lernen bedeutet, dass man die Dinge mit Neugier betrachtet. Dass man erforscht und experimentiert. Dass man klein anfängt und ein Element nach dem anderen so lange untersucht, bis man es wirklich versteht. Und das man überall nach Zusammenhängen sucht.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...