Jump to content

Problem mit Lua-Skript


Recommended Posts

Hallo an alle Lua-Experten

Ich habe beim Ausführen eines Lua-Skripts folgende Fehlernachricht und komme nicht auf die angebliche Unvollständigkeit. Kann mir bitte jemand helfen.
Nachstehend der Skript-Auszug.

image.thumb.jpeg.bed935462dbebde5c38ba664a3fc25cc.jpeg

Vielen Dank im Voraus

Freundliche Grüße
Walter

Link to comment
Share on other sites

Für interessierte  ...

vor 2 Stunden schrieb WalterW:

Scriptfehler(14): unfinished string near '") then'

Übersetzung:

  • Der Fehler wurde in Zeile 14 bemerkt
  • das Problem ist ein unbeendeter String
  • aufgefallen ist dieser Fehler an der Stelle, an der ") then steht.

Der eigentliche Fehler muss vor dem angeführten Stück Skript stehen.
Er kann auch in einer Zeile davor liegen.

Das angeführte Stück aus dem Skript beginnt mit einem ", aber es fehlt das zweite " welches den String ) then abschließen würde.
Wenn also das " vor dem ) then als Zeichen für einen Stringanfang gewertet wurde, dann muss das " davor als Ende eines Strings gelesen worden sein.
Lua geht die Anführungszeichen einfach nur der Reihe nach durch und liest sie abwechselnd als String Anfang, String Ende

Du weißt, dass das "" hinter dem doppelten = Zeichen einen Leerstring darstellen soll.
Hier ist die An / Aus Sequenz also aus dem Takt. Damit kannst du ab dieser Stelle rückwärts nach einem fehlenden " Zeichen suchen.
 

Viele Grüße
Götz

Link to comment
Share on other sites

Hallo Götz,

vielen Dank für deine ausführliche Erklärung.
Meine Absicht besteht in der Abfrage, ob das Signal (Auslöser) geschaltet hat und zwar nicht auf HALT, also den Status 0 UND ob die Signal-Variable "Zug vor Signal" existiert UND ob die Signal-Variable "Zug vor Signal" nicht leer ist. Ob du es glaubst oder nicht, lieber Götz, aber ab der angezeigten Fehlerzeile rückwärts ist kein Skript!
Ergo, kann auch so nicht nach der Ursache gesucht werden.

Zum herausfinden des Problems habe ich mir sehr viel Zeit genommen und Mühe investiert und alle Skript-Zeilen mit -- diesen zwei Strichen zu "Text" deklariert und beginnend mit der ersten Skript-Zeile, als aktive, getestet. Und schon kam der Fehler direkt. Was ich weiß, ist dass diese Skript-Routine bis vor Vers.8, glaube ich zu behaupten, funktioniert hat. Jetzt hatte ich eine Problem mit Vers. 8.

In der Anlage habe ich die Skriptversion mit dem fehlerhaften Ablauf und eine neue Skriptversion ohne Fehler, abgebildet.

Was ist hierbei nicht verstehe, ist für mich die Tatsache, das beide Versionen, im Prinzip, das gleiche Ziel haben, nur die funktionierende Version die Bedingungen in Einzelabfragen getrennt habe.

Wenn du Zeit und Muße hast, kannst du mir vielleicht eine Erklärung geben.

Unter dem jeweiligen Lua-Skript ist aus dem Ereignisprotokoll ein Auszug zu sehen.

Hier jetzt die Abbildung mit der fehlerhaften Skriptversion.

image.thumb.jpeg.fd1e872ac0ef65a5cc6a814594e2bb1b.jpeg

___________________________________________________________________________________________________________________________

Und hier die Abbildung mit der funktionieren Skriptversion.

image.thumb.jpeg.bfd375c4a6c46b416f162ab9cbbee71f.jpeg

___________________________________________________________________________________________________________________________

Freundliche Grüße
Walter

Link to comment
Share on other sites

vor 19 Minuten schrieb WalterW:

Meine Absicht besteht in der Abfrage, ob ...

Und meine Absicht war lediglich, dir aufzuzeigen wie du das fehlende " in der Zeile 14 hättest finden können.
Besser gesagt: dir zu erklären, wie man diesen Fehlermeldungen viel nützliche Informationen entnehmen kann.

Darüber hinaus hatte ich mir dein Skript noch gar nicht angeschaut. Und das möchte ich auch nicht tun, solange es nur als Screenshot vorliegt. Denn den Text kann ich nicht kopieren, in einen Editor laden, manipulieren und so weiter untersuchen oder Alternativvorschläge machen.

Ich bin nicht bereit, den ganzen Text abzutippen. Tut mir leid.

Viele Grüße
Götz

Link to comment
Share on other sites

Hallo Götz,

wie kann ich die das Skript zur Verfügung stellen ? Denn an einer Erklärung von dir bin ich sehr interessiert.
Das den ganzen Text nicht abschreiben willst, kann ich gut verstehen. Ich hin gerne bereit dir das zur Verfügung zu stellen, was du möchtest, nur sage mir bitte wie

Freundliche Grüße
Walter

Bitte entschuldige die Schreibfehler.

Edited by WalterW
Schreibfehler
Link to comment
Share on other sites

vor 3 Minuten schrieb WalterW:

wie kann ich die das Skript zur Verfügung stellen ?

in der Kopfzeile des Editors hier siehst du dasselbe Symbol, das du auch im Spiel für die Umwandlung der EV in ein Lua Skript benutzt:

<>

Link to comment
Share on other sites

Aber bevor du mir das Skript zur Verfügung stellst, schau dir die neue Fehlermeldung genau an.
Diesmal besagt sie, dass ein Wert, den du in Zeile 17 angegeben hast, nicht existiert.

signal hat keinen Inhalt (= a nil value)

Achte ganz penibel auf die Schreibweise!

Edited by Goetz
Link to comment
Share on other sites

Hallo Götz,

ich danke dir für den Hinweis ganz penibel ! Es hilft ja wirklich ganz penibel zu sein.
Mein Schreibfehler im Skript ist: Das Objekt heißt "Signal" und nicht "signal".   (Wie kann Lua auch so kleinlich sein ;))
Und wenn ich den Fehlertext genau genug gelesen hätte, dann steht dort auch "global signal".

Und wieder einmal hat Götz den richtigen Hinweis gehabt, damit man selber Erfahrung sammelt und hoffentlich in der Zukunft penibler ist.
Zumindest was mich betrifft.

P r o b l e m   g a n z   t o l l  g e l ö s t. Danke dafür

Freundliche Grüße
Walter

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...