Beiträge von Thor


Abonniere unseren Kanal auf WhatsApp (klicke hier zum abonnieren).

    Hallo Maik Goltz


    also ich würde sagen ich konnte das erfolgreich so umsetzen, hatte aber ein Problem mit der Abarbeitung der weiteren Anweisungen im Script als ich meinen bisherigenCode für die Sander durch Deinen Code ersetzt habe. Alles was danach folgte, wurde scheinbar nicht mehr angefasst.

    Ich dachte natürlich an ein "END" zu viel oder so, der Editor Markup zeigte aber nichts derartiges, manuell überprüft fiel mir da auch nichts auf.


    Ich habe dann den Code an das Ende des Scripts verfrachtet, wo es nun funktioniert. Sieht nun so aus, das letzte End schliesst die Update function:


    So weit so gut - habe da noch eine Frage zu "internen" Funktionen oder ControlValues. Es gibt ja diverse Dampflok mit snychronisiertem Emitter für die Zylinderhähne. Ich frage mich die ganze Zeit wie das wohl erstellt ist? Für die Synchroniserung des Sound kann man vermutlich einen Standard Exhaust Proxy nehmen, aber für die Emitter? Muss man da selbst komplizierte Berechnungen mit Radumfang und zurückgelegte Wegstrecke anstellen (was ja wohl auch nicht tatsächlich auf Position des Kolbens Rücksicht nimmt), oder gibt es "core interne" Werte die man anzapfen kann? Z.B. für Position des Kolbens?


    Danke und Gruss


    Thorsten

    Hallo Maik Goltz


    sorry, habe noch keine Rückmeldung und Dank gegeben zu Deinem vorigen Beitrag - bin aus beruflichen Gründen nicht gross dazu gekommen mich weiter am Script zu versuchen. Hab aber noch recht viel mit den Nadelanimationen verbracht, schneller, langsamer, kleinerer und grösserer Ausschlag - bin jetzt mit dem Ergebnis absolut zufrieden.


    Wenn ich Deinen Code oben recht verstehe:


    1. Kann ich aus der Update(Time) Funktion sozusagen einen ControlValueChange veranlassen? Das war mir nicht so bekannt dass diese Funktionen untereinander "kommunizieren" können.

    2. Wird in Update(Time) ständig der Wert von "Schaltername" abgerufen, im OnControlValueChange passiert aber erst etwas wenn der Wert 1 (bzw. was ich definiere) ist? Ansonsten würde jeder Zwischenwert während der Bewegung wohl eine Änderung des ControlValue bewirken, was in diesem Teil weniger Auswirkung auf die Performance hat.


    Ich werde das einmal testen und mich dazu zurückmelden - mal sehen ob ich es hinbekomme.


    Gruss


    Thorsten

    Broflugo dieser Trigger ist gedacht für Freeroam (oder Quickdrive?), funktioniert aber auch in Standard Szenarien etc.

    Es kann auch manuell in eine der Scenario Dateien für den KI Zug eingetragen werden. Ich hatte damals bei Mike angefragt ob er es nicht in RWTools mit aufnehmen kann. Ein Eintrag dort übersteuert eine geplante Startzeit, und kann dadurch die Planungen des Dispatchers etwas durcheinander bringen.

    Hallo nochmals


    ich habe anstatt dem Wert "Simulationtime" es nun einmal mit dem Parameter "Time" versucht, das ist wie ich es verstehe die Deltazeit zwischen den Frames. Damit funktioniert die zitternde Bewegung der Zeiger, aber wie bei meinen vorherigen Versuchen deutlich unruhiger, der Zeiger fällt aber nicht auf 0 zurück wie bei der Nutzung von Simulationtime.

    Kann mir jemand da auf die Sprünge helfen, warum Simulationtime scheinbar immer wieder auf 0 zurückkehrt und wie sich dieser Wert errechnet? Die DevDocs geben da auch nicht wirklich sinnvolle Informationen. Dort steht nur "Integer of the simulation time in seconds", was ich so verstehe dass dieser Wert mit längerer Laufzeit des Szenarios doch eher immer steigen sollte. Ich würde da eher erwarten dass der Zeiger irgendwann auf dem höchsten Wert des Controls stehen bliebe.


    Viele Grüsse


    Thorsten


    Edit - ok wenn ich recht überlege kommt das wohl von der Sinusfunktion (math.sin)? Der Graph der SInusfunktion ist ja auf- und absteigend, würde erklären warum der Wert immer gegen Null oder evtl. darunter geht. Frage mich nur warum der Sinus von dem Time Parameter dies dann nicht tut?

    Hallo Maik Goltz, also ich habe mich einmal daran versucht, und war zumindest zum Teil erfolgreich.

    Die Animation ist in der Tat um Längen besser - toll. Aber die Anzeigen steigen nun, und fallen dann wieder auf 0 zurück für ca. 2- 3 Sekunden, sie pendeln nicht um einen Wert herum etwas auf und ab.

    Statt (math.sin(simulationTime) habe ich (math.sin(gsimulationTime) genommen, gsimulationTime ist ja die Variable die ich zuvor setze, oder?

    Nur mit den vier Zeilen, also ohne if Schleife habe ich das nicht zum Laufen bekommen - ich habe das Script ja auch nur erweitert und hatte dann mit dem Ersetzen des Codes wohl irgendwo eine End Anweisung zu viel / zu wenig - da müsste ich, wenn die vier Zeilen alleine genügen sollten, noch einmal über die Bücher.


    So sieht es jetzt aus:

    ---Stoker gauges

    gStoker = Call ("GetControlValue", "Stoking", 0) -> hab hier gStoker genommen, gsStoking hat aber genauso funktioniert - wird im Script aber schon an anderer Stelle verwendet.

    gSimulationTime = Call("GetSimulationTime");

    if gStoker >= 0.05 then

    Call("SetControlValue","StokerSteam Gauge",0,(math.sin(gSimulationTime)*gStoker*8.8)); -> Die Controlvalues gehen von 0-40, daher Werte erhöht

    Call("SetControlValue","StokerJetsPSI",0,(math.sin(gSimulationTime)*gStoker*25.0)); -> gSimulationTime statt SimulationTime

    else

    Call("SetControlValue", "StokerSteam Gauge", 0, 0);

    Call("SetControlValue", "StokerJetsPSI", 0, 0);

    end


    ---Feedwater gauge

    gFeedwater = Call ("GetControlValue", "ExhaustInjectorSteamOnOff", 0);

    gSimulationTime = Call("GetSimulationTime");

    if gFeedwater > 0.1 then

    Call("SetControlValue", "FeedwaterPressurePSI", 0,(math.sin(gSimulationTime)*gFeedwater*18.3));

    else

    Call("SetControlValue", "FeedwaterPressurePSI", 0, 0);

    end


    Auf jeden Fall schon mal Danke für Deine Hinweise! Ich versuche mal weiter, es gibt noch eine Anzeige für den Speisewasserdruck - mal sehen ob ich das hinbringe :)

    Edit : OK, habe die Anzeige für Speisewasserdruck nun hin bekommen, war ja fast nur copy & paste - bleibt aber ebenso eine Zeit auf 0, kann ja eher nur aus dem Wert gSimulationTime kommen, das der eine Zeit auf 0 bleibt? Wie setzt sich diese Simulationtime zusammen / wie verändert sich der Wert?Der sollte ja, wenn Du sagst der "eiert dann", immer etwas variabel sein.


    Viele Grüsse


    Thorsten

    Maik Goltz und questo besten Dank, das mit der Sinusfunktion hört sich sehr gut an, und auch der Tip mit ohne * ist sicher viel Wert - werde aber erst Morgen oder Am Wochenende dazu kommen das zu testen.

    Die Mausbedienung teste ich dann auch aus, wie gesagt die Werte der beiden virtuellen Sander verändern sich schon, habe dabei aber die Maustaste gedrückt ( ich nutze die Maus eher nie, denke da an eben an Mausfans :) )

    Merci Heiko Mistral für Deinen Input, der Ansatz war schon mal goldrichtig. Habe 4 Bereiche gesetzt, 0.05 - 0.2, 0.2 - 0.5, 0.5 - 0.75, 075 -1

    Es hat dann insofern funktioniert, aber erst nachdem der Wert über 0.75 ging. Beim Verringern standen die Zeiger fest, unter 0.05 gingen die Zeiger auf 0 zurück.

    Hab es dann so hingebracht, also zwischen jedem Bereich SetControlValue. Funktoniert wie gewünscht, wenn vielleicht auch etwas sperrig. Naja, bin erst am Anfang der Scriptkunst :)


    Hallo zusammen


    in diesem Thread hier C&O H8 2-6-6-6 Dampflok (Allegheny) erhältlich (Freeware / in Überarbeitung) habe ich ja mitgeteilt, dass ich mich mit diesem Modell auch einmal mit dem Thema LUA intensiver beschäftigen möchte - was ich auch tatsächlich gemacht habe. Sogar recht erfolgreich für meine Verhältnisse :)

    Da es sich ja um eine Mallet Dampflok handelt, gibt es z.B. Zylinderhähne und Sander in dem Blueprint doppelt, einmal als Front_xxx und einmal als Rear_xxx. Ziel war, dass sich z.B. der im Core enthaltene "Sander" einschaltet, wenn ich einen oder auch beide der Nicht Standard Sander (eben Front oder Rear) betätige. Das habe ich im Script in der Tat hinbekommen, aber nur wenn ich dies über die Tastatur ansteuere. Über die Maus verändert sich zwar auch der jeweilige ControValue des jeweiligen Sanders (das sehe ich mit dem Raildriver & Joystick Interface), aber der Core Sander wird nicht aktiviert. Obwohl bei beiden Bedienvarianten der Wert bis auf "1" steigt, interessiert sich das Script nicht dafür, wenn dies durch die Maus verursacht wurde. Hat einer Idee warum dies so ist und ob es eine Limitation im Core ist, oder ich im Script etwas nicht so perfekt gelöst habe?


    Weiter unten mein Code. für den Sander und Zylinderhähne habe ich das über "function OnControlValueChange" vorgenommen (im bestehenden Script ergänzt). Gibt es da eventuell Verbesserungsvorschläge, bei CylinderCock habe ich die Abfrage einmal mit "or" verknüpft, was genauso gut zu funktionieren scheint.


    Dann noch eine Frage zu folgendem, ich habe die diversen Manometer auch über die Function Update mit Random Values angesteuert, so dass die Nadeln ein wenig zittern. Ist schon mal ganz schick, ich hätte aber gerne noch die Möglichkeit, dass die Anzeigewerte sich mit zunehmendem Wert des ControlValues auch erhöhen. Im Moment zittert es eben nur um einen Wert herum, zwischen 19 und 21 eben.

    if Call ("*:GetControlValue", "Stoking", 0) >= 0.05 then

    SSV = math.random(19,21)


    Gibt es eine Möglichkeit wie >0.05 and <0.2 ist der Wert 19,21, zwischen 0.2 und 0.5 24,26 usw.?

    Habe dazu zwar etwas gefunden (https://stackoverflow.com/ques…-less-than-another-number), aber wenn ich dies eintrage funktioniert das ganze Script nicht mehr :(


    Danke für jeden Input und viele Grüsse


    Thorsten

    ben412 kann es sein dass die DSV gehalten werden muss, und ab und an nur gelöst werden muss? bei der französischen VACMA ist das ja der Fall, möglich dass es hier ähnlich ist. Hab die Lok zwar auch, kann es aber gerade nicht sicher sagen.

    ben412 Die Necklace Route V 3.04 gibt es hier, ich werde mit Moss noch einmal sprechen. um die aktuelle Version zu bekommen muss man ihm eine PM senden - dazu muss man im Railunion Forum registrieren und einen Beitrag verfassen (in Russisch), sobald dieser freigegeben ist, kann man diese PM senden. Ich frage an ob es da einen anderen Weg gibt. Die Bonusversion ist halt fein da man keine Assets zusammensuchen muss.


    V 3.04:

    http://game-driver.ru/load/tra…imulator_2018/33-1-0-4643

    Hallo zusammen


    ich bin zufällig beim stöbern auf railunion.net auf eine neue Version der 2TE10M bzw. der 3TE10M getroffen. Auch wenn sie sehr wie die Freeware 2TE10M von DedMozaj aussieht, so ist es doch eine Neuentwicklung mit einigen neuen Funktionen. Vor allem gibt es in dem Paket auch die solo fahrfähige Mittelsektion "V" - allerdings nicht für den Streckendienst, da sie kein Führerbremsventil aufweist - in gleicher Qualität wie die Endsektionen. Sie ist voll ausgestattet mit Sicherheitssystemen und einer sehr umfangreichen Temperatursimulation für die Motoren, vor allem sind die in der M Serie neu hinzugekommenen "Idle Switches" umgesetzt, die bei hoher Motortemperatur in Stufe 0 die Motoren auf der Drehzahl von Stufe 8 halten um die Kühlleistung zu erhöhen, da die Drehzahl der Ventilatoren von der Motordrehzahl abhängig ist. Zudem ist eine Kommunikation mit einer Schublok über das Funkgerät umgesetzt.

    Es gibt sie im Paket mit sehr schönen verschiedenen Chemietankwagen für gerade einmal 800 Rubel, das sind mit PayPal Gebühren ca. 13 €

    Ich bin sehr angetan von der Umsetzung, es gibt für die tolle Strecke "Necklace" von Moss (aktuelle Version gegen eine Spende von 500 Rubel = ca. 3,50 € erhätlich, man erhält dazu alle Assets und Rollmaterial bis auf die 3TE10M in einem Paket) einige schöne Szenarien für die Lok.

    Die Lok ist frei zum Download, läft allerdings ohne Registrierung nur ca. 30 Minuten - als KI kann sie ohne Registrierung laufen.


    Thema im railunion Forum (mit Google Übersetzer geht das prima dort zu lesen):

    http://www.railunion.net/forum52/topic15879-180.html


    Link zur Seite des DSB Team mit Bildern der Tanker und Informationen über die weiteren Projekte:

    https://vk.com/dsb_team


    Die AKtivierung hat prima funktioniert, einfaches Englisch wird verstanden, ich schreibe mit ihm aber über von Google Translator übersetzte Texte, was ziemlich gut funktioniert. Für die Aktivierung müsst ihr Andrey die beideb *.dbsi Dateien per Mail senden, dann bekommt ihr die notwendigen Schlüsseldateien zurückgesendet. Ich frage noch an, ob ich die Links auch hier posten kann, seine Mailadresse kann ich aber hier schon angeben:

    megaduh2011@gmail.com


    Viel Spass damit, es erfordert ein wenig Einarbeitung, vor allem wenn man das Handbuch Stück für Stück übersetzt - wer aber die DedMozaj Lok kennt wird keine Probleme haben, der Aufrüstvorgang ist eher kürzer und die Elemente sind auch in Englisch beschriftet.


    Bilder:


    t5Y5nq7j-Y8.jpg?size=1280x720&quality=96&sign=4942efaaf8eac22b319ce9f4a2298545


    nmjSXxF6f_I.jpg?size=1280x720&quality=96&sign=71ba5b6bf7977262086ca2d1f41e6279


    pYuOQ-CIMd8.jpg?size=1280x720&quality=96&sign=2ba6c8706fbc86b1c641baf999d2f42c

    ber10lin habe es auch so verstanden dass es um den von DTG mitgelieferten Flirt 3 geht - ist ja der von CT, nur das Handbuch haben sie nicht mitgegeben. Oder kommt es vielleicht mit der Installation doch mit? Hab jetzt nur im Steam Store das dort vorab einsehbare Handbuch geschaut.