LUA-Script in EEP einbinden

Achte bitte darauf, dass Du mit deinem Thema bzw. mit deiner Frage im richtigen Bereich bist.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Bilder/Fotos aus dem Internet sind nur als Link gestattet. Eigene Fotos, also Fotos aus dem realen Leben, sind erstens mit Eigenes Bild als Quellenangabe zu kennzeichnen und zweitens nur als Dateianhang im Beitrag zulässig. Bilder ohne Quellenangaben und Bilder dessen Quelle das Internet wie z. B. Google ist, werden gelöscht.
  • Hallo Kurt,

    bevor du bei den 'ersten Gehversuchen mit Lua' ins Stolpern kommst und den Spaß an EEP und Lua verlierst, empfehle ich dir - und das aus eigener Erfahrung - die zahlreichen Beiträge unter der Rubrik 'Hilfreiche Seiten' zu diesem Thema in Ruhe anzuschauen. Es braucht geraume Zeit bis man wie ein geübter Programmierer Scripte erstellen und deren Funktionieren dann auch genießen kann. Ein Programmierer sagte mal, nachdem er alle Fehler beseitigt hatte : "Kaum macht man alles richtig, schon geht's wie von selbst" .

    In diesem Sinne viel Erfolg ...

    Mit 'nem bähnlesmäßigen Gruß,
    Michael

    EEP 17.2_1,2

  • Ok... Danke erst mal allen für ihre Tipps!

    Tufftuff

    Ja, natürlich sind noch Fehler drin, sonnst hätte das Ergebnis sicher meinen Erwartungen entsprochen. Und ich werde auch noch herausbekommen, welche! Hilfreich wäre gewesen, wenn ich erfahren hätte, was ich außer den Klammern noch falsch gemacht hätte.

    @Goetz

    Ich beschäftige mich gerade mit dem "Lua rennt"-Tutorial. Dabei stelle ich fest, dass meine Versuche, die einzelnen Schritte nachzuvollziehen wohl ähnliche, aber mitunter nicht exakt die Ergebnisse bringt, die ich nach dem Tutorial erwartet hätte.

    Ist das unterschiedlichen EEP-Versionen und damit möglicherweise anderen Lua-Versionen geschuldet, oder an Fehlern von mir?

    Bilder

    >> Was wäre die Welt ohne Eisenbahn...? Wie einfach wäre die Welt ohne EEP...?<<

    :ma_1::bq_1::az_1:

    EEP12.1, EEP15.1; EEP16.3; ...und inzwischen EEP17 Computer: ACPI x64-basierter PC; OS: Microsoft Windows 10 Home; Motherboard Chipsatz: Intel Cannon Point HM370, Intel Coffee Lake-H; CPU Typ: HexaCore Intel Core i7-8750H, 4100 MHz (41 x 100); Speicher: DDR4 SDRAM 32 GB; Grafik: GeForce GTX 1050 Ti (4 GB)


  • Hallo Feldabahner

    EEP ruft immer die Funktion EEPMain auf. Die ist der Einstiegspunkt von EEP in das Luascript. Fehlt EEPMain führt das zu einer Fehlermeldung.

    Diese fehlt in Deinem Script.

    Am besten ist es, wenn Du mit dem Grundscript, das von EEP angelegt wird anfängst. Es enthält bereits eine EEPMain-Funktion.

    Deine Funktion druckmich sieht ganz gut aus. Die drei Zeilen bis "end" müssen außerhalb der EEPMain funktion stehen.

    Mit dem Aufruf dieser Funktion innerhalb der EEPMain-Funktion durch druckMich() wird diese Funktion dann 5 mal pro Sekunde ausgeführt.Alles, was außerhalb von EEPMain steht wird nur einmal ausgeführt, also z.B. eine Funktion definiert oder eine bereits definierte Funktion einmal ausgeführt.

    Der Aufruf von michgibtsNicht() führt zu einem schweren Fehler, da diese Funktion nirgens definiert ist.

    Gruß Holger

    Spoiler anzeigen

    Mein Hauptrechner Marke Eigenbau:

    Hardware: Mainboard ASUS Crosshair Hero VI, CPU-Typ AMD Ryzen 9 5950X 16-Core Processor, Speicher 64 GB DDR4-RAM, Grafikkarte ASUS DUAL Geforce RTX 12GB GDDR6-RAM, 2 SSD, 4 Festplatten Gesamtkapazität 30 TB

    Betriebssystem: Windows 11 Pro Version 22H2

    EEP-Software: EEP 6, EEP 14 bis EEP 17.2 Plugin 1, 2, Modellkatalog, Hugo, Höhengenerator, Tauschmanager

    Mein Youtube-Kanal

    Hier erhaltet ihr die aktuelle Demoversion Tauschmanager:af_1:

  • Hallo Feldabahner ,

    in Deiner Signatur steht, dass Du EEP 12.2 einsetzt.

    Da die älteste Version, die ich installiert habe die 14 ist und es sein könnte, dass EEP 12 noch anders reagiert hat, nur eine Vermutung und Bitte.

    Aber da alle Versionen bis EEP 16 das gleiche Ergebnis liefern, vermute ich, in EEP 12 ist das genauso.

    Am Anfang Deines Screen-Shots des Ereignis Fensters steht "Lua rennt". Das ist eine Zeile des standardmäßig von EEP 12 erzeugten Lua-Scriptes, wenn noch kein Script vorhanden ist.

    Diese Print-Zeile sollte sich eigentlich auch in Deinem bereitgestellten Script finden lassen, damit es zur Anzeige im Ereignis-Fenster passt. Tut sie aber nicht.

    Da mein Versuch mit Deinem Script nicht die Fehler bezüglich der EEPMain liefert, sondern nur den Fehler wegen der fehlenden Funktion michGibtsNicht() liefert, meine Bitte.

    Bitte stelle, vor allem am Anfang Deiner Tests, wenn die Scrips noch sehr klein sind, immer das komplette Script zur Verfügung, welches auch die Anzeigen und eventuellen Fehler im Ereignis Fenster verursacht haben.

    Das erleichtert uns die Hilfe.

    Davon abgesehen, ist natürlich, wie HStoni54 schrieb, die EEPMain-Funktion für den korrekten Ablauf der Lua-Scripte wichtig, und sollte auch vorhanden sein.

    Auch, wenn das Fehlen, zumindestens ab EEP 14, keinen Fehler verursacht.

    Ich vermute, beim ScreenShot des Ereignis Fensters, gab es die Funktion auch bei Dir, nur darin war halt ein Fehler enthalten, dessen Grund wir Dir nicht nennen können, weil die Funktion in dem bereitgestellten Script nun fehlt.

    Und noch eine Bitte.

    Bitte stelle den Quell-Code nicht als Screen-Shot in einer Grafik-Datei bereit. Daraus kann man den Text zum Testen nicht kopieren und die wenigsten möchten den Text nochmal eintippen.

    Verwende besser die entsprechende Quell-Code-Formatierung hier im Forum.

    Jürgen

    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert aber nur für Tests im Einsatz)

    keinerlei externe Zusatztools und manuell manipulierte Anlagendateien

    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

    4 Mal editiert, zuletzt von JuergenSchm (31. Mai 2020 um 05:25)

  • Nun, ich bin hier einem Tutorial gefolgt (Lua rennt - ein Einsteiger Tutorial (nur Tutorial)), welches Goetz schon vor einiger Zeit ins Netz gestellt hat. Die Fehler waren hier gewollt, nur waren die produzierten Fehler nicht die erwarteten...

    >> Was wäre die Welt ohne Eisenbahn...? Wie einfach wäre die Welt ohne EEP...?<<

    :ma_1::bq_1::az_1:

    EEP12.1, EEP15.1; EEP16.3; ...und inzwischen EEP17 Computer: ACPI x64-basierter PC; OS: Microsoft Windows 10 Home; Motherboard Chipsatz: Intel Cannon Point HM370, Intel Coffee Lake-H; CPU Typ: HexaCore Intel Core i7-8750H, 4100 MHz (41 x 100); Speicher: DDR4 SDRAM 32 GB; Grafik: GeForce GTX 1050 Ti (4 GB)


  • Guten Morgen Kurt ,

    in deinem abgebildeten Script fehlt die sehr wichtige EEPMain - Funktion.

    Sie könnte ab Zeile 6 in deinem Script stehen. Es sind die 3 wichtigsten Zeilen in einem EEP-Script, sonst läuft bei EEP garnichts - außer den Fehlermeldungen.

    Vor den Aufruf der Main-Funktion schreibe ich normalerweise alle Funktions-Definitionen für die aktuelle Anlage.
    Innerhalb der Main-Funktion müssen alles Funktions-Aufrufe stehen, die von EEP 5 mal pro Sek aufgerufen werden sollen.
    Nach der Main-Funktion folgen dann die Funktions-Aufrufe, die nur einmal nach dem Start der Anlage aufgerufen werden sollen. Die Funktionen müssen aber vorher fehlerfrei definiert worden sein, was ich normalerweise im oberen Abschnitt vor der Main-Funktion mache.
    Das Ereignis-Fenster laß ich immer geöffnet, weil ich dort dann direkt was "auf die Finger bekomm", wenn ich einen Fehler gemacht hab. Das Lesen und Verstehen der Fehlermeldungen ist dann nochmal eine weitere Lektion, die gelernt werden muß. Zu der Zeit, als ich Programmieren über die Schultern sah, gab es noch keine "Fehlermeldungen", da wurde zum Teil noch mit Lochstreifen gearbeitet. Damals blieb dann das Programm einfach stehen und die Fragezeichen dampften aus den Köpfen... lang, lang ist's her.
    Meinen Text hab ich jetzt nicht auf Rechtschreibfehler und Zeichensetzung hin überprüft. Der Vorteil ist, ein freundicher Leser meckert meine Fehler nicht an, sonder ignoriert sie einfach.
    Von einem Script-Interpreter darf man das nicht erwarten. Er ist dafür nicht programmiert und das würde auch niemand bezahlen wollen.
    Hol dir jetzt die wichtigsten Worte aus dem Text und dann weiter viel Erfolg ...

    Mit 'nem bähnlesmäßigen Gruß,
    Michael

    EEP 17.2_1,2

  • Wie gesagt, ich bin dem oben genannten Tutorial (für totale Anfänger) gefolgt und die Fehler waren besbsichtigt. Da ich das Tutorial noch nicht durchgearbeitet habe, ist mir noch nicht ganz klar, was damit beabsichtigt ist, aber sicher hat es seinen Sinn. Mich irritierte, dass die Fehlermeldungen bei mir andere waren, als nach dem Tutorial zu erwarten. Das muss ich noch mal überprüfen.

    >> Was wäre die Welt ohne Eisenbahn...? Wie einfach wäre die Welt ohne EEP...?<<

    :ma_1::bq_1::az_1:

    EEP12.1, EEP15.1; EEP16.3; ...und inzwischen EEP17 Computer: ACPI x64-basierter PC; OS: Microsoft Windows 10 Home; Motherboard Chipsatz: Intel Cannon Point HM370, Intel Coffee Lake-H; CPU Typ: HexaCore Intel Core i7-8750H, 4100 MHz (41 x 100); Speicher: DDR4 SDRAM 32 GB; Grafik: GeForce GTX 1050 Ti (4 GB)


  • [...] die Fehler waren besbsichtigt. Da ich das Tutorial noch nicht durchgearbeitet habe, ist mir noch nicht ganz klar, was damit beabsichtigt ist, aber sicher hat es seinen Sinn.

    Ich denke, der Sinn ist, dass du ein Verständnis entwickelst, was solche Fehlermeldungen bedeuten, bzw. wo sie herkommen.

    Warum die Fehlermeldung bei dir anders aussieht als in Götz' Tutorial (bei dir mit [string "EEP Script"]:9: davor), kann ich dir nicht genau sagen.

    Einen Fehler deinerseits kann ich nicht erkennen; vermutlich liegt es tatsächlich an der EEP-Version. Bei mir in EEP 16 sieht es genauso aus. Zu dem Zeitpunkt, als Götz das Tutorial geschrieben hat, gab es noch kein EEP12 (laut deiner Signatur und Icon in deinem Screenshot ist das die Version, die du verwendest).

    Viele Grüße

    Benny, der immer wieder erstaunt ist, wie viele Ratschläge völlig am beschriebenen Problem vorbei gehen (sich davon selbst aber auch nicht ausnehmen will)

  • Hallo Feldabahner ,

    die Fehlermeldungen in deinem Ereignisfenster beziehen sich nicht nur auf das gezeigte Skript. Als erste Zeile deines Lua-Scriptes sollte clearlog() stehen damit dich die vorhergehenden Ausgaben nicht verwirren. Dein gezeigtes Script gibt nur die letzten drei Meldungen aus:

    Lua verwirrt mich ist die Ausgabe der ersten Zeile : print("Lua verwirrt mich")

    Hier meldset sich die Funktion ist das Ergebnis des Funktionsaufrufs : druckMich()

    Die letzte Fehlermeldung besagt das der Funktionsaufruf : michGibtsNicht() ) : eine nicht definierte Funktion aufruft.

    MfG

    EEP 15.1 EEP 16
    MS Windows 10 Pro 64bit
    Prozessor: AMD FX-8370 Eight-Core Processor 4,0GHz // RAM: 32GB // SSD 256GB // Grafikkarte: GeForce GTX 950