Möglichkeiten mit Lua beim Straßenverkehr

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 Peter,

    So funktioniert die Steuerung

    Du kannst entweder den Automatik-Modus verwenden oder die einzelnen Schaltungen mit "Ein" auswählen.

    • Im Automatik-Modus kümmert sich die Lua-Bibliothek für EEP um das schalten.
    • Wenn Du einzelne Schaltungen mit "Ein" aktivierst, dann hat diese ab sofort "Dauer-Grün". Alle anderen Schaltungen werden nicht mehr automatisch aktiv. Da es dann zu Staus kommt, musst Du die Schaltungen wechseln. Du kannst aber auch wieder auf den Automatik-Modus wechseln.

    Was passiert im Automatik-Modus?

    Ein Klick auf den Automatik-Modus macht Folgendes:

    • Es wird an EEP gesendet, dass der Automatik-Modus eingeschaltet werden soll.
    • Die Lua-Bibliothek für EEP berechnet dann, welche Schaltung als nächste aktiv werden soll. Das passiert anhand der wartenden Fahrzeuge oder der Zeitdauer in der eine Schaltung rot war.
    • Die Lua-Bibliothek für EEP schaltet dann alle Fahrspuren die nicht mehr in der nächsten Schaltung drin sind auf rot und im Anschluss die Fahrspuren der nächsten Schaltung auf grün.

    Was passiert im manuellen Modus bei "Ein"?

    Ein Klick auf "Ein" einer Schaltung macht Folgendes:

    • Es wird an EEP gesendet, dass der Automatik-Modus ausgeschaltet werden soll und dass die ausgewählte Schaltung auf grün geschaltet werden soll.
    • Die Lua-Bibliothek für EEP weiß dann, dass nur die ausgewählte Schaltung als nächste aktiv werden soll.
    • Die Lua-Bibliothek für EEP schaltet dann alle Fahrspuren die nicht mehr in der ausgewählten Schaltung drin sind auf rot und im Anschluss die Fahrspuren der gewählten Schaltung auf grün.

    Viele Grüße,
    Andreas Kreuz.

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

  • Hallo Andreas,

    erstmal Danke für die Erklärung. So hatte ich es mir auch gedacht. Das System mit der Stellung der Ampeln habe ich verstanden und funktioniert auch.

    Wenn die Automatik läuft, funktioniert da keine function für das Signal.

    Z.b.

    Code
    EEPRegisterSignal (11)    
    function EEPOnSignal_11( Signalbild )  
    print( "Signal 11 auf "..Signalbild.." gestellt" )
    end

    Ich hatte es mal versucht.

    Stelle ich die Ampel manuell, wird die function ausgeführt.

    Gruss

    Peter

    Betriebsystemname: Microsoft Windows 11 Pro

    Prozessor:Prozessor AMD Ryzen 7 7700X 8-Core Processor, 4501 MHz, 8 Kern(e), 16 logische(r) Prozessor(en)

    PC:RAM 32 GB, Name NVIDIA GeForce RTX 4070 Ti

    EEP 17 mit allen Plug ins und Patches

    Modelkonverter, Home-Nostruktor 16.0, Modellkatalog, Bodentextur Tool

  • Hallo Peter,

    jetzt ist mir klar warum das nicht funktioniert. Es war bisher so nicht angedacht, wir sehen aber mal ob wir das bei den nächsten Versionen integrieren werden.

    Mein Lösungsansatz funktioniert zwar, müsstest aber für jede Ampel der Kreuzungen jetzt EEPOnSignal_x() schreiben, weshalb ich erstmal auf Lösungsansätze verzichte.

    Sollte ich demnächst eine einfache Lösung finden stelle ich diese ein (wenn es nicht in den nächsten Versionen eingeführt wird).

    Viele Grüße,
    Damian Rutkowski

    Acer Aspire 5750G, Intel® Core™ i5-2430M 2.4GHz with Turbo Boost up to 3.0GHz, NVIDIA® GeForce® GT 540M, Up to 4095 MB TurboCache™, 8 GB DDR3 Memory, 8 GB DDR3 Memory
    EEP 6, EEP 16 mit allen Updates, Patches und Plug-Ins (stets aktuell gehalten)

    3 Mal editiert, zuletzt von Damian Rutkowski (9. Dezember 2018 um 20:06)

  • Hallo Damian

    Ich kann die ältere Version nicht finden. Dann warte ich bis zum Update.

    Peter

    Betriebsystemname: Microsoft Windows 11 Pro

    Prozessor:Prozessor AMD Ryzen 7 7700X 8-Core Processor, 4501 MHz, 8 Kern(e), 16 logische(r) Prozessor(en)

    PC:RAM 32 GB, Name NVIDIA GeForce RTX 4070 Ti

    EEP 17 mit allen Plug ins und Patches

    Modelkonverter, Home-Nostruktor 16.0, Modellkatalog, Bodentextur Tool

  • Hallo, ich bin absolut nicht bei euerem Thema.

    Stelle ich die Ampel manuell, wird die function ausgeführt.

    Aber zu obiger Bemerkung:

    Ist bei dem Ganzen berücksichtigt, dass, wenn man die EEPOnSignal_x() über Lua-Signalansteuerung

    aufrufen will, bei EEPSetSignal(SigID, SigBild, 1) dieser 3.Parameter gesetzt sein muss?

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

  • Aber zu obiger Bemerkung:

    Ist bei dem Ganzen berücksichtigt, dass, wenn man die EEPOnSignal_x() über Lua-Signalansteuerung

    aufrufen will, bei EEPSetSignal(SigID, SigBild, 1) dieser 3.Parameter gesetzt sein muss?

    Hallo eep_gogo,

    der dritte Parameter wird derzeit nicht in der Lua-Bibliothek verwendet.

    Ich lese die Doku so, dass dann EEPOnSignal_x() gesetzt sein muss - und das wollte ich nicht automatisch registrieren.

    Viele Grüße,

    Andreas_Kreuz.

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

  • Ich lese die Doku so, dass dann EEPOnSignal_x() gesetzt sein muss - und das wollte ich nicht automatisch registrieren.

    Nein. Die 1 als dritten Parameter kannst du immer mitgeben.

    EEPOnSignal_x() muss nur definiert werden, wenn zuvor EEPRegisterSignal(x) aufgerufen wurde. Oder anders gesagt: Man sollte ein Signal nur registrieren, wenn man auch eine entsprechende Callback-Funktion geschrieben hat. Das betrifft dich aber nicht wirklich. Du musst in der Bibliothek nur den dritten Parameter auf 1 setzen.

    Viele Grüße

    Benny

  • Allerdings ist es dann so das EEP meckert das er die Funktion nicht findet, der User muss also alle Signale/Ampeln die er in der Kreuzung einbezieht auch entsprechend EEPOnSignal_x() definiert haben. Ich bin gerade dabei das entsprechend anzupassen, und hoffe das es in den nächsten Version einfließen kann. :aa_1:

    Edit: Kann es sein das dass sich in EEP14.1 geändert hat das nicht mehr EEP meckert wenn die Funktion fehlt?

    Viele Grüße,
    Damian Rutkowski

    Acer Aspire 5750G, Intel® Core™ i5-2430M 2.4GHz with Turbo Boost up to 3.0GHz, NVIDIA® GeForce® GT 540M, Up to 4095 MB TurboCache™, 8 GB DDR3 Memory, 8 GB DDR3 Memory
    EEP 6, EEP 16 mit allen Updates, Patches und Plug-Ins (stets aktuell gehalten)

    Einmal editiert, zuletzt von Damian Rutkowski (9. Dezember 2018 um 21:48)

  • Allerdings ist es dann so das EEP meckert das er die Funktion nicht findet

    EEP meckert nur, wenn das Signal registriert ist und keine Callback-Funktion definiert wurde.

    Die 1 als dritter Parameter macht nichts anderes als das manuelle Schalten eines Signals. Der Aufruf geht in beiden Fällen ohne Fehler ins Leere, wenn das Signal nicht registriert wurde.

    Es gibt diese 1 als dritten Parameter nur deshalb, weil man Callbacks sonst nicht auf manuell geschaltete Signale beschränken könnte.

  • Auch ich möchte mich bei euch allen Bedanken.

    Ihr hattet recht, Ich habe wohl die Signale bisher immer Registriert und nachdem diese Fehler auftauchten habe ich vergessen die Funktion wieder rauszunehmen und habe dafür EEPOnSignal_x() in Kombination mit EEPSetSignal(x) verantwortlich gemacht.

    Da ich bereits schon ein Lösungsansatz hatte der auch funktionierte (nur eben vergas die Registrierung bei meinem Umbau rauszunehmen) möchte ich diese nicht vorenthalten:


    Hallo Peter,

    Du kannst dir erstmal so verhelfen indem du im Ordner LUA nach ak=>strasse Navigierst, und in der Datei AkAmpel.lua nachfolgende Zeile 192 von rot zu grün (ohne +) änderst:

    Diff: AkAmpel.lua
    function AkAmpel:schalteSignal(sigIndex)
    -    EEPSetSignal(self.signalId, sigIndex)
    +    EEPSetSignal(self.signalId, sigIndex, 1)
    end

    jetzt bekommst du mit deinem Code:

    Lua: Dein Lua-Code
    EEPRegisterSignal (110)
    function EEPOnSignal_110( Signalbild )  
        print( "Signal 110 auf "..Signalbild.." gestellt" )
    end

    Entsprechend z.B. die Ausgabe: Signal 110 auf 1 gestellt

    Ich hoffe es klappt! :aq_1:

    Viele Grüße,
    Damian Rutkowski

    Acer Aspire 5750G, Intel® Core™ i5-2430M 2.4GHz with Turbo Boost up to 3.0GHz, NVIDIA® GeForce® GT 540M, Up to 4095 MB TurboCache™, 8 GB DDR3 Memory, 8 GB DDR3 Memory
    EEP 6, EEP 16 mit allen Updates, Patches und Plug-Ins (stets aktuell gehalten)

    Einmal editiert, zuletzt von Damian Rutkowski (9. Dezember 2018 um 22:51)

  • Hallo Damian,

    danke erstmal.

    Heute ist es schon zu spät. Aber ich werde es morgen probieren und Euch dann berichten, ob es läuft oder nicht.

    Gruß

    Peter

    Betriebsystemname: Microsoft Windows 11 Pro

    Prozessor:Prozessor AMD Ryzen 7 7700X 8-Core Processor, 4501 MHz, 8 Kern(e), 16 logische(r) Prozessor(en)

    PC:RAM 32 GB, Name NVIDIA GeForce RTX 4070 Ti

    EEP 17 mit allen Plug ins und Patches

    Modelkonverter, Home-Nostruktor 16.0, Modellkatalog, Bodentextur Tool

  • Ich möchte mich noch (auch in Namen von Andreas_Kreuz ) für dein Feedback, und gleichzeitig für meine Verwirrung entschuldigen. Ich habe die Lösung bei mir nochmals getestet und es hat funktioniert, ich denke du kannst heute beruhigt schlafen gehen und morgen dann die kleine Änderung vornehmen und dich freuen das es dann endlich funktioniert.

    Gestatte mir die Frage: Wofür eigentlich ist dir das nötig? Ich denke nicht nur für die print()-Ausgabe?

    Viele Grüße,
    Damian Rutkowski

    Acer Aspire 5750G, Intel® Core™ i5-2430M 2.4GHz with Turbo Boost up to 3.0GHz, NVIDIA® GeForce® GT 540M, Up to 4095 MB TurboCache™, 8 GB DDR3 Memory, 8 GB DDR3 Memory
    EEP 6, EEP 16 mit allen Updates, Patches und Plug-Ins (stets aktuell gehalten)

  • Hallo Damian,

    ich habe es eben schnell probiert. Jetzt wird die function EEPOnSignal_11

    ausgeführt. Danke

    Peter

    Nachtrag.

    Es war erstmal reine Neugier. Aber vielleicht kann man es ja noch verwenden.

    Ich bin ja erstmal am Versuchen mit Euren Scripts.

    Ich will dann demnächst auch mal eine eigene Kreuzung erstellen. Bis jetzt habe ich eine von Eurer Kreuzung am testen..

    Gruß

    Peter

    Betriebsystemname: Microsoft Windows 11 Pro

    Prozessor:Prozessor AMD Ryzen 7 7700X 8-Core Processor, 4501 MHz, 8 Kern(e), 16 logische(r) Prozessor(en)

    PC:RAM 32 GB, Name NVIDIA GeForce RTX 4070 Ti

    EEP 17 mit allen Plug ins und Patches

    Modelkonverter, Home-Nostruktor 16.0, Modellkatalog, Bodentextur Tool

    Einmal editiert, zuletzt von wassermann50 (9. Dezember 2018 um 23:09)

  • Hallo zusammen,

    die Filterfunktion ist in Vorbereitung.

    Damit werden nur Zeilen angezeigt, in denen der eingetippte Text vorkommt.

    Weiterhin wird man dann die Spalten sortieren können.

    Viele Grüße,

    Andreas_Kreuz.

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

  • ... die Voraussetzung für EEP-Web findet Ihr oben in der Anleitung.

    Den Download findet Ihr unter:

    https://github.com/Andreas-Kreuz/…ases/tag/v0.8.1

    Um die Kameras einzubinden, verwendet im Lua-Skript nach dem Anlegen der Kreuzungen folgende Befehle:

    Code
    -- So hast Du Deine Kreuzungen angelegt
    kreuzung = AkKreuzung:neu(...)
    
    -- Füge irgendwann nach dieser Zeile eine oder mehrere statische Kameras hinzu:
    kreuzung:fuegeStatischeKameraHinzu('Name der Kamera hier')

    Ich freue mich wie immer auf Eure Rückmeldungen.

    Viele Grüße,

    Andreas Kreuz.

    P.S. Am meisten Spaß macht es wirklich auf einem zweiten Rechner, da EEP dann weiterläuft.

    P.P.S. Ich habe noch einen Fehler mit dem Hilfedialog für die Kamera-Einstellungen behoben --> Version 0.8.1

    Webseite: Lua-Bibliothek für EEP (mit Tutorials)

    Mein Rechner

    EEP: Version 17 - PC: AMD Ryzen 5800X, 32 GB RAM, NVidia Geforce GTX 1080 Ti, Windows 11

    Einmal editiert, zuletzt von Andreas_Kreuz (21. Dezember 2018 um 23:38) aus folgendem Grund: Update auf 0.8.1