Fahrstrassenschaltungen mit Lua

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
  • Anmerkung juemei.

    Abgetrennt von hier.


    Hallo Heinrich,

    ich möchte noch eine kleine Anmerkung zu der Funktion "anmelden()" geben,

    du kannst es dir ersparen, im Funktionsaufruf den Parameter "Zugname"

    einzugeben, wenn du die Funktion abänderst wie folgt:


    Weiterhin viel Spaß.


    Gruß Dieter

    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


    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"

    http://www.parry-36.jimdo.com 
    https://www.twitch.tv/parry_36/

    The post was edited 2 times, last by Parry36 ().

  • Hallo Dieter,

    ich vermute, du meinst in der neuen Zeile 3 die von meiner Code-Zeile gesetzte globale Variable Zugname (statt Zugnamen).

    Das wird vermutlich funktionieren (allerdings war es nicht vorgesehen, dass es so funktioniert).

    Das verwenden von globalen Variablen in Funktionen kann die Fehlersuche deutlich erschweren, weil man nicht weiß, wo der Wert überhaupt herkommt, der (vielleicht?) gerade drinsteht.

    Deshalb ist meine Empfehlung für Heinrich: Lass es so, wie es ist, und gebe den Zugnamen als Funktionsparameter im KP-Aufruf mit.

    Und für alle anderen auch: Übergebt den Zugnamen als Funktionsparameter, und verzichtet, soweit es geht, auf globale Variablen.


    Viele Grüße

    Benny

  • erstmal ein Dank an alle, die mich bei meinem Problem unterstützt haben.


    Parry36 Auf die Antwort von Benny werde ich deine Beispiel mal in einer anderen kleineren Analge ausprobieren.

    Benny da ich auf der Anlage schon einige FS habe, werde ich von einer Umänderung erstmal die Finger weglassen.


    ansonsten nochmals ein Dank an alle :be_1:

    gruß von der Nordsee

    Heinrich


    Intel(R) Core(TM) i7-4770 CPU@ 3.40 GHZ 3.40GHZ

    RAM 16,0 GB

    Grafikkarte : GeForce GTX 970

    System: Windows 10 Pro

    EEP 6 - 11 - 12 - 14

  • Benny ,


    danke für die Richtigstellung, habe es sofort korrigiert.

    Grundsätzlich hast du Recht, dass man mit globalen Variablen in Funktionen

    sehr vorsichtig umgehen soll, allerdings ist deine Variable "Zugname" bekannt

    wie ein bunter Hund.

    Jeder der Lua in EEP KP´s nutzt, muß auch dein Codeschnipsel nutzen.


    Gruß Dieter

    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


    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"

    http://www.parry-36.jimdo.com 
    https://www.twitch.tv/parry_36/

  • Nur dass mein Zugname eigentlich keine globale Variable sein sollte...

    Am liebsten würde ich das korrigieren (wenn ich denn wüsste, wie). Aber weil das einige Skripte "kaputt machen" würde, kann ich es eh nicht. Aber ich versuche zu verhindern, dass sich diese Verwendung noch weiter verbreitet.


    Viele Grüße

    Benny


    PS: Falls es dazu noch mehr zu sagen gibt, bitte ich einen Admin/Moderator, das (ab #7) abzutrennen. Mit Heinrichs ursprünglicher Frage hat das nichts mehr zu tun.

  • Falls es dazu noch mehr zu sagen gibt,

    Davon gehe ich aus. Ich z.B wollte noch folgendes anmerken ...



    Jeder der Lua in EEP KP´s nutzt, muß auch dein Codeschnipsel nutzen.

    Nichts gegen Benny und seine wirklich cleveren Module aber....

    Nein. Nicht jeder. Ich benutze sie nicht.


    :aq_1:Gruss Jürg

    Samsung Series 9 Laptop / Lenovo Z50 - 70 Laptop
    Intel i5 1.7 Ghz / Intel i7 2.0 Ghz
    4 Gb Speicher / 8 Gb Speicher
    Intel HD Graphics 4000 / NVIDIA Geforce 840M
    Windows 10 64 /Windows 10 64
    EEP15 / EEP14, EEP15
    AnlagenBau / AnlagenLaufLass

    ________________________________________________________________________

    Wer den Schaden hat braucht für den Schrott nicht zu sorgen (Alte Autofahrerregel)

  • Wenn ich es noch recht im Kopf habe,:as_1:

    braucht man Bennys Schnipsel um Parameter/Daten zu übergeben.


    z.B. Lua-Aufruf im KP - test(parameter)


    Code
    1. function test(testvariable)
    2. if testvariable== ...
    3. ...
    4. end

    wenn ich falsch liege, Bitte um Korrektur ... :ao_1:


    :aq_1:

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-14, HN13, MK, TM, "Schiefe Ebene 6 + 8", "Bahn2000"

  • Nein. Das ist glaube ich schon richtig, aber ...


    Nicht "Jeder der Lua in EEP KP´s nutzt" will auch Parameter übergeben.


    :aq_1:Gruss Jürg

    Samsung Series 9 Laptop / Lenovo Z50 - 70 Laptop
    Intel i5 1.7 Ghz / Intel i7 2.0 Ghz
    4 Gb Speicher / 8 Gb Speicher
    Intel HD Graphics 4000 / NVIDIA Geforce 840M
    Windows 10 64 /Windows 10 64
    EEP15 / EEP14, EEP15
    AnlagenBau / AnlagenLaufLass

    ________________________________________________________________________

    Wer den Schaden hat braucht für den Schrott nicht zu sorgen (Alte Autofahrerregel)

  • Benny hat mehrere geniale Schnipsel erstellt. Keine Frage.

    Ich verwende sie nur nicht. Das ist alles.


    Naja. Fast alles.

    Genauso wie Ideen externer Tools manchmal in EEP einfliessen sehe ich auch die Arbeit von Benny. Er bringt die Ideen die wichtig sind, um Lua in EEP zu erweitern.


    :aq_1:Gruss Jürg

    Samsung Series 9 Laptop / Lenovo Z50 - 70 Laptop
    Intel i5 1.7 Ghz / Intel i7 2.0 Ghz
    4 Gb Speicher / 8 Gb Speicher
    Intel HD Graphics 4000 / NVIDIA Geforce 840M
    Windows 10 64 /Windows 10 64
    EEP15 / EEP14, EEP15
    AnlagenBau / AnlagenLaufLass

    ________________________________________________________________________

    Wer den Schaden hat braucht für den Schrott nicht zu sorgen (Alte Autofahrerregel)

  • juemei ,

    so ganz kann ich nicht verstehen, dass du absolut ohne Parameterübergabe

    in Funktionen im KP auskommen willst.

    Es ist doch gerade das Besondere, einer Funktion mit Parametern verschiedene

    Aufgaben zu zuordnen, sonst mußt du doch für fast alles verschiedene Fuktionen

    schreiben.

    Meiner Meinung nach hätte das Trend schon längst ins Programm einbinden müssen.

    Aber Benny hat das ja prima gelöst, man kann garnicht genug danke sagen, sonst

    müssten wir für alles mögliche Containerfunktionen schreiben wie anno tobac.


    Gruß Dieter

    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


    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"

    http://www.parry-36.jimdo.com 
    https://www.twitch.tv/parry_36/

  • Moin Moin,


    ...ich bin hier mal wieder am verzweifeln, dachte das Thema passt dazu...

    ...So ich hab mal das Video vom Gerd geschaut und brav alles abgeschrieben, teils sogar kapiert was er da erzählen will.Er hat das gut erzählt... so nun hab ich ja Gleisbesetztmeldungen erzeugt und mit einer Weiche hab ich das auch ausprobiert, siehe da klappt, nach Rechtschreibkorrektur :bi_1:...

    na nun wollte ich schlau sein, da der andere Bahnhofsteil etwas anders ist, wollte ich das mit Fahrstraßen lösen "ein" und umschalten ja nach Gleisbesetzung....


    warum um schaltet es denn jetzt nicht, hab sogar eine eigen Funktion eröffnet, obwohl ich glaub das es auch mit einer geht....

    aber erstmal muss es schalten, kann mir da jemand zu Seite stehen, weingstens ein bischen....:aq_1:

  • ....so hier noch das Script :aa_1:

    ...ab Zeile 60 ca.

    EEP 2.43, 8 und 14

    The post was edited 1 time, last by Dalle76 ().

  • brav alles abgeschrieben, teils sogar kapiert

    Genau da liegt dein Problem, Dalle.

    Denn du musst alles verstehen und nur teils abschreiben. Nicht umgekehrt.


    Du hast zu viel aus der Funktion Weichen einfach in die Funktion FSTR kopiert. Es reicht nicht, nur am Ende andere Signalnummern einzugeben. Und so, wie du diese Nummern geändert hast, ist es zudem nicht sinnvoll.


    Es wäre wenig sinnvoll, dir jetzt ein funktionierendes Skript* zur Verfügung zu stellen. Weil du daraus nichts lernen würdest. Viel effektiver wäre es, wenn du erzählst was du bisher nicht verstanden hast. Damit man dir helfen kann, diese Verständnislücken aufzufüllen.


    *Es ist auch nicht möglich, weil uns wichtige Informationen zu deiner Anlage fehlen.

    you don't believe we're on the eve of destruction

    - Barry McGuire -

    The post was edited 1 time, last by Goetz ().

  • Moin


    Nichts für ungut, aber dieses Script wäre mir viel zu kompliziert um es nachvollziehen zu können.

    Ich für meinen Teil habe alle Videos von Parry36 angeschaut und schalte nun fast alles mit Fahrstrassen und Lua.


    Nun mal zu deinem Script.

    Du schreibst du wolltest Fahrstrassen schalten, dann muss es in der Funktion aber heißen...


    1. EEPSetSignal(168,2)
    2. else
    3. EEPSetSignal(117,2)

    Beim Zielpunkt der Fahrstrasse muss du der Nummer des Fahrstarssenziels immer 1 dazu zählen wenn du sie in Lua ansprechen oder abfragen willst.


    Gruß Joachim

    Win7 SP1 64bit, Intel Core i3-530 @2.93GHz, 12GB RAM, nVIDIA GeForce GT320

    EEP13.2 Expert Patch 2 Plugins 1+2 / Anlagenverbinder 6.0.2 zu „EEP 13.1- Expert

  • ...Hallo Joachim,

    ja ich hatte schon die Videos geschaut, aber ich kam nicht so ganz mit den Erklärungen klar, aber ich werd´s mal Schritt für Schritt mit machen, vielleicht kommen da ja noch erkenntnisse bei mir...

  • Ich kann nur empfehlen, nicht nur die Lehrvideos sich anzusehen, sondern

    ganz wichtig ist, die Demo-Anlagenversionen zu den Videos durchzuarbeiten

    und zu versuchen das dort gezeigte zu verstehen und in kleinen Schritten

    auf den eigenen Anlagen zu übertragen.
    Nur wenn man etwas verstanden hat und den Zusammenhang erkennt, sollte

    man an die nächste Version gehen.

    Der Erfolg ist so garantiert.


    Gruß Dieter

    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


    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"

    http://www.parry-36.jimdo.com 
    https://www.twitch.tv/parry_36/

  • Hallo Dieter,


    da stimme ich dir voll und ganz zu, man muss es verstehen was man selber dann schreibt. Deine Videos sind eine perfekte Grundlage dazu. Durch das Handbuch und deine Videos hab ich so nach und nach Lua verstanden und dafür bin ich dir sehr dankbar. :aa_1:


    Gruß Bodo

    PC: i7- 6700K CPU@ 4.00 GHz, Nvidia Geforce GTX 980 Ti 6 GB, RAM 16 GB, Win 10 home 64 bit Version 1809

    EEP 5+6, 14 +15 Patch 3

    Laptop: i7 - 7700HQ CPU @2,8 GHz, Nvidia Geforce GTX 1070 8 GB, RAM 16 GB, Win 10 home 64 bit Version 1809

    EEP 13+14

  • Hallo ihr beiden,

    dankbar bin ich auch nur bin ich immer wieder am verzweifeln, bei der Sacheund eigentlich sollte das die Aufgabe von Trend sein, solche Sachen wie:

    in deinem ersten Video, die Fahrstraße wird nicht mehr geschaltet, wenn Sie vorher noch durch eine andere gesperrt war, da muss man dann studieren um diesem Programm so eine Grundlegende Sache

    bei zubringen das der Zug danach weiterfahren darf...

    ohne Leute wie euch :aq_1::aq_1::aq_1:wäre dieses Programm garnix....

    Hochachtungsvoll....

  • eigentlich sollte das die Aufgabe von Trend sein

    Das kann Trend (bzw. EEP) dir leider nicht abnehmen.

    Denn es gibt zu viele Fälle, in denen man - je nach Vorlieben - unterschiedlich entscheiden möchte. Wenn beispielsweise an einer Einmündung zwei Züge warten und geregelt werden muss, welcher Zug warum die Freigabe bekommen soll.


    So, wie man in EEP die Anlagen komplett selbst gestaltet, so gestaltet man auch die Schaltungslogik selber. Das ist natürlich (in beiden Fällen) Arbeit, aber dafür ist die Freude umso größer, wenn am Ende alles den eigenen Vorstellungen und Wünschen entspricht.