Neue Kategorie auf meiner Homepage: Lua-Skripte

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.
  • Der erste große Hype um Plugin 2 zu EEP 10, das jetzt die Verwendung der Programmiersprache Lua zur Steuerung der EEP-Anlagen ermöglicht, scheint so langsam wieder abzuklingen. Ich war in der Zeit auch nicht untätig, sondern habe zwei komplette "Module" entwickelt, die ihr in eure Anlagen einbinden und leicht konfigurieren könnt.
    Das eigentliche Schreiben des Programmcodes ging noch relativ schnell, aber das Erstellen einer vernünftigen Präsentation und Dokumentation hat doch einiges an Zeit gekostet, aber die habe ich mir genommen.

    Auf meiner Homepage gibt es ab sofort eine neuen Menü-Eintrag "Lua-Skripte", wo ihr alle neuen Sachen findet:

    • Zum einen eine Sammlung von kleinen Code-Schnipseln, die ich immer erweitern werde, wenn ich was neues brauchbares habe
    • Das Modul "Schattenbahnhofssteuerung" (mittlerweile fast schon ein Klassiker für Lua-Skripte). Vorteil (aus meiner Sicht) ist die sehr leichte Konfigurierbarkeit. Bei "ideal" aufgebauten Schattenbahnhöfen kann die Konfiguration extrem einfach sein, aber auch nicht ideal aufgebaute Schattenbahnhöfe werden mit nur ein bisschen mehr Konfigurationsaufwand genauso unterstützt.
    • Das Modul "TaskMemorizer". Dieses Modul übernimmt eine klassische Aufgabe der bisherigen Schaltkreise: Das ständige Abfragen, ob eine bestimmte Aufgabe erledigt werden muss. Das eigentliche "Merken" der anstehenden Aufgaben übernehmen hier Zustandssignale, die auch das Speichern und Neuladen der Anlage "überleben". Ein mögliches Einsatzgebiet von vielen: Ein eingleisiger Streckenabschnitt, wo sich Züge anmelden und Durchfahrt beantragen können.

    Aber bevor ich jetzt alles doppelt schreibe, lest euch am besten auf meiner Homepage durch, wie das ganze funktioniert.


    Achja, nochwas: Programmiersprachen waren bisher schon immer ziemlich englisch-lastig, und werden es auch zukünftig sein. Da nehme ich meine Skripte auch nicht aus.
    Da es aber unter uns EEPlern wohl doch auch einige Leute gibt, die des englischen noch nicht so ganz mächtig sind, habe ich versucht, alle englischsprachigen Begriffe im Tooltip zu übersetzen. Eine genauere Erklärung dazu gibt es auf der Übersichtseite von den Lua-Skripten.
    Da das aber natürlich auch nicht ganz von selbst geschieht, würde mich interessieren, ob sich der Aufwand überhaupt lohnt. Wenn es eh niemandem was bringt, kann ich mir die Arbeit auch sparen.
    Darum die Frage: Wer kann von sich sagen, dass ihm diese Form der Übersetzung geholfen hat?


    Fragen, Vorschläge und Fehlermeldungen aller Art dürft ihr hier natürlich gerne auch stellen. Beeilt euch aber :ae_1: , weil ich von Dienstag bis Samstag (vermutlich ziemlich internetlos) in Hamburg bin. In der Zeit kann ich hier also höchstwahrscheinlich nicht antworten.


    Und für alle, die ihn oben übersehen haben und auch unten in meiner Signatur nicht finden, hier nochmal der Link zu meiner Homepage.

    Viele Grüße
    Benny

  • Hallo Benny,

    erste Durchsicht führt zu fünf Daumen - riecht sehr salzig, eben nach me(h)er. [LUA sind runde Klammern egal!] :bm_1:

    Gruß Uwe

    Spoiler anzeigen

    [Intel i7 8700K auf ASUS Prime Z370-P| 64 GB RAM DDR4-3200 | GeForce RTX 4070 12GB | 1TB SSD M.2 |OS: Win11 - SW: EEP6.1 & 11|15|17]

    Meine WebSite

    Mein Wahlspruch: Laßt uns an dem Alten, so es gut ist halten, und auf diesem Grund, Neues bauen jede Stund !

    Hilfsweise: Es ist nie zu spät für eine glückliche Kindheit!
    Meine Projekte: <Betriebswerk "Dampf"> | <Bf Hameln> | <MONTAN-Industrie> | <Zeche Z>|<KAROW (Meckl)>|

  • Hallo Benny,

    Spitze. :be_1: Ich bin wirklich baff, was alles so möglich ist. Habe zwar erst mal alles nur überflogen,
    testen muss ich noch. Weiter so, auch mit der Übersetzung, die benötigen bestimmt viele, auch
    wenn sie sich hier nicht outen (melden).

  • Hallo,

    Kann mich juergen18 nur anschließen.Habe heute meine erste Schattenbahnhofssteuerung erfolgreich abgeschlossen. Und dann das.

    Einfach nur :thumbup:

    LG volvic6000

    EEP 17.3 Expert

    MAINBOARD ASUS ROG STRIX B550 F GAMING (WI-FI) / AMD RYZEN 5 3600X

    ASUS RTX 2060 STRIX 6GB OC EVO / RAM 48 GB DDR4 2066

    Windows 11 Pro/64 Bit (21H2)

  • Ich sag einfach nur "WOW" und besten Dank.
    Hab ich jetzt erstmal Lernstoff um meine Zeit rum zu kriegen. :)
    Also nochmals besten Dank.
    Ach ja und brauchen kann man das allemal.

    Gruß aus dem schönen Lochhofen in Bayern

    Martin

    Für die, die es interessieren könnte

    NB:

    Dell G7 17 - 7700

    Intel(R) Core(TM) i5 CPU der 10. Generation Windows 11 Pro

    20 GB RAM; NVIDIA(R) GeForce(R) GTX 1660 Ti 6 GB GDDR6

    PC:

    i7 3770 8-Thread CPU, 3.9 GHz | Windows 11 Pro

    32GB RAM| Geforce RTX 3050 8 GB DDR6

    EEP Versionen:

    EEP15.1, Pl.: 1

    EEP16.4; Pl. 1, 2,3 und 4,

    EEP17.2; Pl.: 1, 2

    HomeNos 16; 17; MK., ME; ZE; TM,

    MA1-Tools, NR1-Tools

    Das Leben ist einfach, aber wir bestehen darauf, es kompliziert zu machen

    Konfuzius

  • Guten Abend Benny,

    besten Dank für deine Arbeit (und die sicher folgenden Fortsetzungen).

    Ich bin zwar noch beim Lehrgang von Goetz, bin mir aber sicher, dass ich deine Schnipsel und Programme nutzen werde.

    Herzliche Grüße
    Edgar

  • Benny,

    genau das habe ich erwartet, wenn die Scriptsprache Lua
    in EEP eingeführt wird.
    Es werden sich bald eine Menge Code Beispiele finden, die die
    Mehrheit der EEPler auf ihren Anlagen einsetzen können.

    Meinen herzlichen Dank für deine Arbeit und auch die der
    anderen. :)

    Eine Übersetzung der Sprachbegriffe sind meines erachtens nicht
    erforderlich, wir müssen uns doch eh im Laufe der Zeit mit den
    englischen Begriffen vertraut machen, je eher desto besser.

    Gruß Parry36

    1.MSI 17,3" Intel® i7-8750H 16GB SSD + HDD GeForce® GTX 1060 »GV72 8RE-013DE (00179E-013)

    2. PC:Win10/64, i7-7700K, 4.2 GHz, GPU GTX 1070/8 GB, 16 GB RAM(DDR4), SSD 960 Evo 500GB, Ilyama PL2490
    EEP 6.1 - EEP 15 E, HomeNos 15

    Ich wünsche mir eine freizügige Script-Sprache und eine leistungsfähige Grafik Engine für EEP.
    Ein Leben ohne EEP ist möglich, aber sinnlos, so ganz sicher bin ich mir nicht mehr.

    "mal was ganz Einfaches" "rundum sorglos Paket"

    Parrys YouTube Videos
    https://www.twitch.tv/parry_36/

  • Einfach Spitze!Da ich einer der User ohne Englischkenntnisse bin,und das mit 60 wohl auch nicht mehr erlerne,finde ich Dein Angagement ganz PRIMA.Denn auch die Programmiersprache ist ist für mich völliges Neuland.Das habe ich als Maurer auch bis Heute nicht gebraucht.Deswegen grosses Danke,und bitte weiter so.Gruss Harzer :aq_1:

    Rechner:Acer Predator i7-3,9GHz,Geforce GTX 1070,16GB-Ram Win.10 EEP 4-17.1

    Laptop Acer Nitro 5 i5-3,5GHz GeforceRTX EEP17

  • Hallo Benny,

    du schlägst ja ganz schöne Pflöcke ein. Respekt. :be_1:

    Kannst du mir/uns auch noch sagen, was der Parameter "verbose" bei der Definition "function Schattenbahnhof:new(o,verbose)" bedeutet?

    Klaus

  • Ich weiß nicht, was es bei Benny bedeutet:

    Aber im allgemeinen, englischen Sprachgebrauch bedeutet verbose: wortreich

    Mit verbose ist meistens gemeint, dass etwas ausführlich gesagt wird.

  • Kannst du mir/uns auch noch sagen, was der Parameter "verbose" bei der Definition "function Schattenbahnhof:new(o,verbose)" bedeutet?

    Was das Wort verbose an sich bedeutet, hat Goetz ja schon erklärt.
    Hier hatte ich angedacht, während des "Umbauens" und Erzeugens der Schattenbahnhofs-Tabelle ausführliche Meldungen auszugeben, wenn gewünscht.
    Hab ich letztlich aber doch nicht gemacht, somit ist dieser Parameter vollkommen nutzlos (wird auch nirgendwo sonst verwendet). Hab ich einfach vergessen, wieder rauszunehmen.

    Beim nächsten Update (wenn es eins gibt), fliegt der vermutlich raus. Extra dafür ein Update lohnt aber wohl nicht :ao_1:

    Viele Grüße
    Benny

  • @Goetz und Benny (BH2)

    Danke für die Erklärung, wobei ich weniger an die allgemeinen Wortbedeutung sondern an die Bedeutung im Programm gedacht hatte.

    Klaus

  • Hallo Benny
    Dein CodeSchnipsel EEP...Elem funktioniert nicht, bzw. kommt auf Fehler. Und zwar hier

    Zitat

    if signalRes>0 then return signalRes
    else

    , weil return unmittelbar vor dem "end" stehen muss. Sowohl mein Lua-Interpreter als aud das Script im EEP kommen hier auf Fehler.
    Gruss
    Hans

    Mainboard: ASUSTeK COMPUTER INC. Z87-EXPERT (SOCKET 1150)
    CPU:Intel Core i7 4770 @ 3.40GHz Haswell 22nm Technologie
    Memory:16.0GB Dual Kanal DDR3 @ 799MHz (9-9-9-27)

    Grafik: Nvidia GeForce GTX d1060 6 GB
    BIOS:American Megatrends Inc, Version 1405
    OS: Windows 11 Pro/64bit
    EEP 8.x, EEP 9.x, EEP 10.2, EEP 11.3, EEP 12.1 , EEP 13, EEP 14, EEP 15, EEP 16.3 Patch2,EEP 17.2 Patch1 Plugins:1

  • weil return unmittelbar vor dem "end" stehen muss.


    Das tut es in diesem Fall auch (im Sinne von Lua)

    Denn wenn die vorausgehende if Bedingung erfüllt ist, dann wird der Teil hinter else nicht ausgeführt und es folgt sofort das end.

  • Hallo Hans,
    bist du sicher, dass du den Codeschnipsel komplett kopiert hast?
    Ich habe es gerade nochmal getestet, bei mir funktionieren die Funktionen in EEP so wie sie sollen.

    Es stimmt, dass das return immer am Ende einer Funktion bzw. eines Blocks stehen muss.
    Aber das else ist in diesem Fall auch das Ende des if-Blocks (und gleichzeitig Anfang des else-Blocks).

    Wie gesagt, bei mir funktioniert der Code; schau am besten nochmal, ob du nicht irgendetwas falsch kopiert oder geändert hast...

    Viele Grüße
    Benny

  • Hallo Benny
    Ja, ich habe es ganz genau kopiert - gerade noch einmal. Dann in EEP versucht und auch in SCiTE. Wenn Du mir >hfrei-schweiz[at]besonet.ch< Deine private Mailadr. schickst, kann ich Dir die beiden Screenshots mit den Fehlermeldungen senden.
    Gruss
    Hans

    -------
    E-Mail-Adresse wegen SPAM-Gefahr für den User entschärft - u-bahn66

    Mainboard: ASUSTeK COMPUTER INC. Z87-EXPERT (SOCKET 1150)
    CPU:Intel Core i7 4770 @ 3.40GHz Haswell 22nm Technologie
    Memory:16.0GB Dual Kanal DDR3 @ 799MHz (9-9-9-27)

    Grafik: Nvidia GeForce GTX d1060 6 GB
    BIOS:American Megatrends Inc, Version 1405
    OS: Windows 11 Pro/64bit
    EEP 8.x, EEP 9.x, EEP 10.2, EEP 11.3, EEP 12.1 , EEP 13, EEP 14, EEP 15, EEP 16.3 Patch2,EEP 17.2 Patch1 Plugins:1

    Einmal editiert, zuletzt von u-bahn66 (20. August 2014 um 06:47)