Jump to content

BauerHeini

Members
  • Content Count

    77
  • Joined

  • Last visited

Everything posted by BauerHeini

  1. Hallo, kann mir jemand einen Tipp geben, wie ich mit "pairs" alle Objekte mit einem bestimmten Schlagwort ansprechen kann (wenn ja, natürlich wie) Gruss BauerHeini
  2. BauerHeini

    LUA Verzögerung

    Hallo Programmierer, kann mir jemand helfen? Ich möchte bei folgendem Script in die Schleife eine Verzögerung einbauen: while $("Flamme").variables["Scale"] >= 0 do $("Feuer"):invoke($("Flamme").variables["Scale"]) $("Flamme").variables["Scale"] = $("Flamme").variables["Scale"] - 0.1 end "Feuer" ist eine benutzerdefiniertes Funktion: $("Flamme").transformation.scaling = scale "Flamme" ist das von NEO erstellte "Feuer" zu dem ich eine Variable "Scale" hinzugefügt habe. Ich komme mit dem" deferredcall" nicht klar. Mit Timer hat es auch nicht geklappt.
  3. BauerHeini

    LUA Verzögerung

    Stimmt. Ereignismodul und Ereignis hatten denselben Namen. Vielen Dank noch einmal an Alle
  4. BauerHeini

    LUA Verzögerung

    Vielen Dank Andy, nach dem Umbenennen funktioniert es. Woran lag es?
  5. BauerHeini

    LUA Verzögerung

  6. BauerHeini

    LUA Verzögerung

    Wie beschrieben: es gibt ein Unterereignismodul, unter "Ereignisse" mit Namen "Feuer".
  7. BauerHeini

    LUA Verzögerung

    ...und, wie geht es. Habe versucht den Screenshot hier einzubringen. Kommt Fehlermeldung "Allowed file extensions are ..."
  8. BauerHeini

    LUA Verzögerung

    Unter "Ereignisse" gibt es noch ein Ereignismodul "Feuer", und dort befinden sich die Scripte. P.S. Entschuldige, ich konnte den Screenshot nicht in die Unterhaltung einfügen. Muss ich auch noch lernen.
  9. BauerHeini

    LUA Verzögerung

    Danke martin51, aber das hat nicht funktioniert.
  10. BauerHeini

    LUA Verzögerung

    Es geht fast. Der Timer heißt "Flamme": $("Feuer"):invoke($("Ereignisse").variables["z"]) $("Ereignisse").variables["z"] = $("Ereignisse").variables["z"] - 0.1 if $("Ereignisse").variables["z"] <= 0 then $("Feuer").timers["Flamme"]:stop() end Nur das Beenden hat noch einen Fehler: [16:40:37] Skriptfehler (4): Unknown method or property name timers
  11. BauerHeini

    LUA Verzögerung

    Danke Goetz, das werde ich einmal ausprobieren.
  12. BauerHeini

    LUA Verzögerung

    Wie würde man denn dann eine Flamme kontinuierlich kleiner bzw größer werden lassen?
  13. BauerHeini

    LUA Verzögerung

    Hallo Goetz, es ist ja nur eine Aktion, die mit ab- oder zunehmender Variablen ausgeführt wird. Ich möchte doch nur die Flamme kontinuierlich kleiner werden lassen. Das muss doch in einer Schleife gehen, oder?
  14. Ich wünsche mir, das man Eigenschaften (Lg/Rad, Winkel usw.) nicht nur mit dem 3D-Modelleditor auslesen und verändern kann, sonder auch per Aktion oder auch LUA-Funktion.
  15. BauerHeini

    Eigenschaften per Funktion auslesen/verändern

    Ich muss es noch mal wiederholen. Es kann doch nicht so schwer sein, Daten für die Programmierung zur Verfügung zu stellen, die jeder mit seinen Augen sehen kann, wie im 3D-Modelleditor und dort auch verändern kann. Was hast Du eigentlich dagegen, Timba? Bist Du an der Arbeit beteiligt?
  16. BauerHeini

    Eigenschaften per Funktion auslesen/verändern

    Entschuldige Neo, dass ich erst jetzt antworte. Ich hatte diese Feature-Wunsch hier eingestellt mit der Hoffnung, dass er eventuell angenommen wird und deshalb nicht auf eine Antwort gewartet. Aber jetzt zu der Frage, wofür die Informationen benötigt werden. 1. Ich habe bei Gleisen und auf Straßen eine Bremsspur eingerichtet, bei denen per Funktion, bei Betreten, die Verzögerung bis zum Ende der Spur auf ein bestimmtes Tempo berechnet wird. Hierzu benötige ich u.A. die Länge der Spur. Diese kann ich aus den Angaben "Lg/Rad", "Winkel" und "Maßstab" errechnen. Momentan muss ich diese Informationen als Variable bzw. Konstante zu jedem Objekt hinzufügen. Nachteil: großer Aufwand und bei Änderungen dieser Werte wird häufig vergessen, die Variablen mit zu ändern. 2. Bei einem Hausbrand habe ich die Flamme beim Löschen so animiert, dass ich mehrere abklingende Flammengrößen handisch erstellt habe, die dann mit zeitlicher Verzögerung ein- bzw. ausgeblendet werden. Dies liesse sich elegant lösen, wenn man entsprechende Werte auslesen und ändern könnte (wie man es ja auch händisch im 3D-Modelleditor machen kann). Viele Grüße BauerHeini
  17. Liebe Programmierer und MBS-Freunde, ich habe mir ein/e Gleis/Spur gebastelt, die mir mit einem Skript ein Fahrzeug auf eine bestimmte Geschwindigkeit bringen soll: Fahrzeug betritt ein Gleis/Straße mit Schlagwort "Signalgleis" local l --LgRad local sp = 0 --Speed if track.variables["Signal"].state == 2 then sp = track.variables["Signal"].variables["Tempo"] end if track.variables["Alpha"] ~= 0 then --[[Kurve--]] l = math.pi / 180 * track.variables["LgRad"] * track.variables["Alpha"] * $("Ereignisse").variables["Massstab"] else l = track.variables["LgRad"] * $("Ereignisse").variables["Massstab"] -- l = track.size.y end $("Bremsen"):invoke(0, vehicle, l, sp) ----------------------------------- benutzerdefiniertes Ereignis --[[Parameter: Delta = ev. Bremswegverlängerung Fahrzeug = auslösendes Fahrzeug Laenge = auslösende Spurlänge Zieltempo --]] local v = Fahrzeug.currentSpeed / 3600 * 1000 --Umrechnung in m/s local s = Laenge - Delta local a = (v ^ 2) / (2 * s) Fahrzeug.deceleration = a Fahrzeug.targetSpeed = Zieltempo Nun habe ich zwei Fragen. 1. Kann man die Variablen, die ich in den Gleisen/Strassen eingebunden habe, wie LgRad oder Alpha (Geometrie: Lg/Rad bzw Winkel) oder den Maßstab, per Programm auslesen? 2. Wie kann man eine LUA-Funktion erstellen und benutzen? Ich habe das LUA-Tutorial von Goetz gelesen und mir eine Funktion in einem benutzerdefiniertem Ereignis erstellt. Aber wie könnte ich eine Variable bestücken mit dem Wert aus der Funktion? Ich habe ja nur den Namen des benutzerdefinierten Ereignisses und nicht der Funktion. In freudiger Erwartung auf Antworten BauerHeinz
  18. BauerHeini

    LUA Funktionen und Objektdaten

    Hallo Timba, ich kann sie berechnen aus "Lg/Rad" und "Winkel". Dafür habe ich ja die Funktion "Laenge" erstellt. Nur hierzu müßte ich eben die Konstanten aus dem Modelleditor auslesen können. Das wäre jetzt mal eine Frage an den "Erbauer" des Programms Stefan Werner. Denn wenn die Daten im Modelleditor zu finden sind, dürfte es ja nicht allzu schwer sein sie auch per Funktion auszulesen.
  19. BauerHeini

    LUA Funktionen und Objektdaten

    Dankeschön. Das mit der Funktion funktioniert Jetzt fehlt nur noch die Lösung auf die Frage mit den Objektvariablen. Obwohl es ja keine Variablen sind, sondern konstante Werte, wie "Lg/Rad" oder "Winkel". Interessant für mich wäre auch "Maßstab" aus dem Modelleditor
  20. BauerHeini

    LUA Funktionen und Objektdaten

    Ok, was ich meine ist: 1. Meine Funktion habe ich als benutzerdefiniertes Ereignis mit Namen "Kreisbogen" angelegt: function Laenge(Alpha, Radius) local l = Alpha / 360 * 2 * math.pi * Radius return l end Die Testabfrage per Taster lautet: $("Beschriftung").text = Laenge(90, 10) Die Fehlermeldung lautet: [11:05:14] Ereignis-Protokollierung gestartet [11:05:18] Schalter wird betätigt -> Taster, 0 [11:05:18] Schalter wird betätigt [11:05:18] Skriptfehler (9): attempt to call a nil value (global 'Laenge') 2. Um die Länge eines Objekt auszulesen geht... $("Beschriftung").text = $("G01").variables["Lg/Rad"] auch nicht. "G01" ist ein Gleis.
  21. BauerHeini

    LUA Funktionen und Objektdaten

    Es geht darum, ein Fahrzeug an einem bestimmten Punkt zum Stehen zu bringen.
  22. Weiß jemand, wie man die Abmessungen eines Objektes in die Programmierung integrieren kann? local l = $("Gleis01").size[X] funktioniert nicht.
  23. BauerHeini

    Abmessungen von Objekten

    Viele Dank für Deine Hilfe, Goetz. Man lernt immer (auch im hohe Alter) dazu.
  24. BauerHeini

    Abmessungen von Objekten

    Ehrlich gesagt habe ich es nur hingenommen. In den LUA-Anleitungen steht, dass ein Tabellenfeld eckigen Klammer angesprochen wird: example_table[2] = "Constipation" print(example_table[2]) --> Constipation
  25. BauerHeini

    Abmessungen von Objekten

    Vielen Dank Goetz. Hat funktioniert
×