Posts by Benny (BH2)

    Hallo Pandi,

    Dein Problem ist nicht so wirklich genau beschrieben. Was willst erreichen, was genau hast Du probiert, und was genau klappt daran nicht?


    Eine einfache Lösung könnte folgendermaßen aussehen:

    Lege kurz vor die Weiche einen Kontaktpunkt für eben diese Weiche, und wähle als Effekt "Umschalten". Dadurch wird die Weiche von jedem Fahrzeug umgestellt, sodass die Fahrzeuge abwechselnd nach links und rechts fahren.

    Wenn dir das zu regelmäßig ist, kannst du im Kontaktpunkt bei "Jeder" eine 0 eintragen, was so viel wie "zufällig, der Kontaktpunkt schaltet mit einer Wahrscheinlichkeit von 50%" bedeutet. Dadurch schaltet die Weiche nicht bei jedem Fahrzeug um, sondern zufällig bei ca. der Hälfte der Fahrzeuge. Es wird dann also vorkommen, dass auch mal zwei oder mehr Fahrzeuge nacheinander in die gleiche Richtung fahren.


    Da eine T-Kreuzung normalerweise drei Weichen hat, musst du das oben Geschriebene dreimal wiederholen – einmal für jede Weiche.


    Natürlich ist das nicht die einzige Lösung, aber vermutlich eine der einfachsten. Es hängt aber natürlich auch immer davon ab, was für Ansprüche du an die Steuerung stellst.


    Viele Grüße

    Benny

    Und das, was auf der Festplatte unter "Gleisobjekte/Sonstige" liegt, findest du in EEP unter "Gleisobjekte Wasserwege".

    ("Gleisobjekte Gleise" aus EEP findest du auf der Festplatte unter "Gleisobjekte/Gleise")


    Viele Grüße

    Benny

    Nur als Hinweis:

    Mit Benny's Codeschnipsel kann man nun eigene Parameter übergeben, aber man muss auch den "Zugnamen" aufführen und zwar an 1. Stelle, ob man ihn benötigt oder nicht.

    Das stimmt so nicht. Wenn du den Zugnamen des auslösenden Zugs in der Funktion nicht benötigst, musst du ihn auch nicht übergeben (und wenn doch, ist er nicht auf die 1. Stelle festgelegt).


    LUA Source Code
    1. function AusfahrtDepot(depotID) ...

    und Aufruf im KP mit AusfahrtDepot(1) sollte also problemlos funktionieren.


    Zugname muss nur dann im Kontaktpunkt eingetragen werden, wenn du den Zugnamen in der Funktion wirklich brauchst - im Gegensatz (daher kommt vermutlich das Missverständnis) zur von EEP vorgesehenen Variante, dass nur der Funktionsname (ohne Klammern und ohne Parameter) eingetragen wird. In letzterem Fall wird der Zugname (und nur dieser) als Parameter an die Funktion übergeben, ohne dass er explizit im Kontaktpunkt eingetragen wurde.


    Viele Grüße

    Benny

    Hallo Dieter,

    wie oben geschrieben, finde ich meine "Lösung" auch nicht gut. Ich habe aber keine bessere.

    Wenn du eine bessere Empfehlung hast, immer her damit!


    Mein Konversationsspeicherplatz ist angeblich erst zu 80% belegt, für 30 Nachrichten sollte also noch Platz sein.


    Viele Grüße

    Benny

    Hallo Reinhold,

    danke für die Skripte. Hat ein bisschen gedauert, aber ich denke, ich habe das Problem gefunden: Die Variablen a_znSlot und a_pool sind als lokale Variablen definiert (mit dem Schlüsselwort local davor). Das hat wohl zur Folge, dass die Variablen außerhalb dieses Skripts nicht zur Verfügung stehen.


    Die einfachste Lösung ist wohl, das local vor den Variablen-Definitionen zu entfernen.

    Ich bin zwar kein Fan von globalen Variablen, aber wenn du sie global verwenden willst, geht es wohl nicht anders.


    Viele Grüße

    Benny

    Deine Code-Auszüge sind zu bruchstückhaft, deshalb muss ich wieder raten.

    Den gesamten Teil meines Scriptes habe ich unter den Teil von Perry kopiert.

    Da wird das Script ordentlich abgearbeitet aber nicht meiner Datei.

    Dann schreibe das require mit deiner Datei unter "den Teil von Perry". Ob du den Code dorthinkopierst, oder in eine Datei schreibst und dort einbindest, ist relativ egal. Wichtig ist nur die Reihenfolge, bzw. die Stelle an der der Code (bzw. das require) steht.


    Viele Grüße

    Benny

    Hallo eep_rei ,

    Der Begriff "Lua-Seite" sagt mir nichts. So wie du ihn verwendest, gehe ich aber mal davon aus, dass du eine zweite Lua-Datei mittels require einbinden willst.


    Beim Script neu laden bekomme ich folgende Fehlermeldung:

    bad argument #1 to 'insert' (table expected, got nil).

    Das bedeutet doch: ich finde die Tabelle nicht?

    Ganz genau.

    Da ich dein gesamtes Skript nicht kenne, kann ich nur vermuten: Der require-Befehl für deine zweite Lua-Datei kommt zu früh, bevor die Tabellen "a_znSlot" und "a_pool" definiert wurden.


    Eigentlich gibt es nichts besonderes zu beachten, um eine "Verbindung herzustellen". Wichtig ist halt nur die Reihenfolge: Lua arbeitet alles der Reihe nach ab, und kann auf Tabellen erst zugreifen, nachdem diese angelegt wurden.


    Vielleicht hilft dir meine Vermutung ja schon. Falls nicht, wären wohl weitere Informationen nötig - wenn nicht jemand anders dem Problem schon zuvor auf die Spur kommt.


    Viele Grüße

    Benny

    [...] 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)

    Wenn die freie Bewegung der Fenster aktiviert ist, war es schon immer so:

    • Gehst du aus dem 2D-Modus mit F4 direkt in den 3D-Vollbildmodus, bleiben die Fenster ausgeblendet.
    • Bist du bereits im 3D-Fenstermodus und wechselst erst dann in den Vollbildmodus, bleiben die Fenster eingeblendet.

    Viele Grüße

    Benny

    Each file has three timestamps: Created, Modified and Accessed (that's a feature of Windows, not EEP). It looks like you see the date when the file was created, not when it was modified. If you right-click the column headers, you can select which columns are displayed. In your case, you want to see the modification date instead of the creation date.


    Kind regards

    Benny

    Hast du das gleiche mal mit der Unterseite des Dachs probiert? Wenn die Rückseite ausgeblendet ist, wirft die Fläche auch nur in eine Richtung Schatten. Ich meine, der Schatten tritt nur auf der sichtbaren Seite auf (also nicht "das Sonnenlicht kommt nicht durch", sondern "ich kann die Sonne nicht sehen").

    Viele Grüße

    Benny

    Hm. Entweder habt ihr euch die Funktionsweise der Schleusensteuerung von macmue nicht richtig angeschaut, oder ich verstehe etwas falsch.

    Die Schleusensteuerung lebt (genau wie die Ampelsteuerung) davon, dass die Funktion mehrfach aufgerufen wird. Je nach aktuellem Zeitpunkt führt die Funktion dann die eine oder andere Aktion aus.

    Wenn man die Funktion jetzt nur einmal über einen Kontaktpunkt aufruft, wird nur einmal die Aktion für den ersten Zeitpunkt (hier: nichts) ausgeführt, danach passiert nichts mehr.


    Meiner Meinung nach sollte die EEPMain ungefähr so aussehen (alle Codebeispiele in diesem Beitrag sind aus dem Kopf geschrieben und ungetestet):

    LUA Source Code
    1. function EEPMain()
    2. Ampelsteuerung()
    3. Schleusensteuerung()
    4. return 1
    5. end

    Die beiden Funktionen Ampelsteuerung und Schleusensteuerung können dann mit dem Inhalt der jeweiligen früheren EEPMain befüllt werden.


    Wenn die Schleusensteuerung jetzt nicht ununterbrochen weiterlaufen soll, kann man eine neue Variable einführen:

    Dann muss man noch in der Schleusensteuerung selbst (in Zeile 50 von macmue s Skript oben) die Variable wieder zurücksetzen (SchleusensteuerungIstAktiv = false).

    Und natürlich StarteSchleuse an einer geeigneten Stelle in einem Kontaktpunkt aufrufen.


    Meine Lösung passt zwar nicht so ganz zum Thementitel ("Lua-Funktion nur einmal ausführen"), aber vielleicht immerhin zum eigentlichen Problem ("Lua-Funktion nicht dauernd ausführen").


    Viele Grüße

    Benny

    Natürlich brauchst du eine Kopplung (wie ruetzi gerade geschrieben hat). Was eep_gogo wohl meint, ist folgendes: Wenn du die 2160 als Maximum einträgst, musst du den Kopplungsfaktor nicht manuell eintragen, sondern kannst ihn vom Nos automatisch berechnen lassen.

    Damit vermeidest du den Fehler, der dir (vermutlich) passiert ist: Wenn du _Geschwindigkeit mit der Radachse koppelst, wäre ein Faktor von 6 richtig. Wenn du es andersrum einträgst (wie im Bild), brauchst du entsprechend einen Faktor von 1/6 ≈ 0,167.


    Und (wie ruetzi gerade geschrieben hat) sind die Systemachsen _vRadsatz und _hRadsatz eigentlich für was anderes gedacht (auch wenn es so funktioniert).


    Und der ini-Eintrag WheelRadius hat gar keinen Einfluss auf die Drehgeschwindigkeit der Räder. Der beeinflusst nur den Antrieb (in Kombination mit Motordrehzahl und Getriebeübersetzung).


    Viele Grüße

    Benny


    Nachtrag: Ich war wohl vieeel zu langsam. Vier neue Beiträge, während ich noch am Schreiben war :ad_1:

    Also auf dem Bild cc003.jpg kann ich am Schatten vom Brückengeländer einzelne Pixel zählen. Da sehe ich keine Skalierungs-Unschärfe, und das gesamte Bild hat ja 2560x1440px.

    Du sagst, dass die EEP-Bildschirmauflösung insgesamt verändert ist. Könntest du noch einen Screenshot posten, auf dem nicht nur die 3D-Ansicht, sondern auch die Bedienelemente von EEP zu sehen sind? (F12 funktioniert dafür natürlich nicht, aber mit Alt+Druck kannst du einen Screenshot vom aktiven Fenster in die Zwischenablage kopieren)


    Was ich auf deinen Bildern aber als Problem erkenne, sind die Bodentexturen, die komisch dargestellt werden. Einzige Lösungen, die mir dazu einfallen, wären ein Neustart von EEP oder vom gesamten Rechner und/oder ein Löschen/Umbenennen der dds-Dateien, die zur Anlage gehören.


    Viele Grüße

    Benny


    Nachtrag, nachdem ich den Vorher-Nachher-Vergleich gesehen habe: Das sieht aus, als würde die "Anisotrope Filterung" nicht mehr (richtig) angewendet werden. Schau mal in den EEP- und/oder Nvidea-Einstellungen, ob die noch aktiviert/"voll aufgedreht" ist.

    Kannst du nochmal Screenshots machen und hier (am besten in Originalauflösung) zeigen?
    Mir ist nämlich noch nicht so ganz klar, welche Auflösung sich bei dir verändert hat. Nur das 3D-Bild von EEP? Die gesamte Bildschirmauflösung, sobald du EEP startest? Oder noch was anderes?