Beiträge von Tatra

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!

    So wie oben schon geschrieben. Der Spiegel besteht aus zwei Teilen:

    Teil 1 = die eingetragene Cameraposition in der BUs-Datei. Hier wird die Camera mit der Bildposition eingetraen.Die eingetragene Position kann nict geändert werden.

    Teil 2 = Der "Monitor" für die Cameraposition. DIe Zuordnung wird über die Spiegeltextur der Reihenfolge der Camera festgelegt.

    Wird nun der Monitor -die Spiegelfläche vom Sichtpunkt verschoben, dann verändert sich der Sichtwinkel in und aus dem Spiegel. Und damit ändert sich nicht nur, der Blickwinkel in den Spiegel womit der Sictwinkel geändert wird, sondern es kann sich auch die Position des Spiegels ändern Auch damit ändert sich der Sichtwinkel in den Spiegel.


    Also genau das was IREgio612 auch sieht.

    Tür zu - richtige Darstellung ...

    Tür auf - richtige Darstellung mit falschen Winkel zum Spiegel. Cameraposition bleibt aber an der alten Position (siehe oben) erhalten.


    Sollte schon reichen, wenn er den Spiegel (das Objekt Spiegel) neu ausrichtet (nicht die Camera-Einstellung) und den Spiegel ganz am Ende der modelcfg einträgt. (Renderreihenfolge).


    ... wie das genau Scriptmäßig abläuft weiß ich allerdings nicht ...

    gar nicht. Die Sicht zur Spiegelfläche wird nicht durch ein Script gesteuert. Der Spiegel wird mittels Objektanbindung an der Tür oder die Animationsgleichheit zur Tür bewegt. Der Spiegel ändert seine Position, die Sicht zum Spiegel auch. Aber die Camera-Position ändert sich nicht.

    Natürlich kann ich den Spiegel mit einer Animation versehen, wodurch sich auch der Sichtwinkel in den Spiegel verändert. Aber die Sichtposition der Camera ändert sich immer noch nicht.

    Also normalerweise müsste die Spiegelung ja etwas verschoben werden.

    Das geht leider gar nicht. Alle in der Bus-Datei eingetragenen Positionen (Fahrkarten, Fahrersichten u.s.w.) sind fest eingestellte Positionen und daher unveränderlich.

    Aber es gibt eine gewisse Veränderung vom Sichtpunkt aus. eh mal in die Passagiersicht und suche einen Platz, wo du in einen Aussenspiegel schauen kannst, Die Verönderte Position zum Sichtobjekt verändert sich auch. Aber die Position der Sictcamera (und nichts anderes ist der Spiegel) kann nicht geändert oder gar verschoben werden. Sie ist immer genau auf die eingetragene Position zum Hauptobjekt festgelegt. Also immer das Hauptobjekt, dass in der model.cfg der Busdatei eingetraen ist.

    Ist es das, was ihr sucht? :/


    1 (S.L.Refresh_Strings)

    genau, das ist der gesuchte Befehl.

    Diesen kann man in irgendeinem anderen Macro unten eintragen, dann haben es auch Rollband-Busse. Ursprünglich war dieser Befehl nur für die Matrix und Innenanzeige gedacht.Bei den SD 200 mit Rollband steht das auch in irgendeinem Macro drin. Daher haben diese Busse auch funktionsfähige Thermometer.


    Die Rollband-Busse des MB O305G lesen das Macro für die Matrix nicht aus. Daher ist es egal, was dort steht, Omsi ignoriert es komplett.

    Schau einfach in die Scriptdatei mit dem Präfix _main. Dort sind die Macros für die Matrix / Innenanzeige nicht eingetragen.

    reagieren möchte, reichen meine Rechte dafür nicht aus, um diese Aktion durchzuführen.

    ... diesen Fehler hatt ich in jeden beliebigen Thread, Forum, wenn ich noch einen Beitrag markiert hatte oder eine Zitat noch irgendwo gespeichert war. Das wird keine andere Gruppe reproduzieren können, die keine moderatven Rechte hat. Immer wenn noch irgendetwas mit einem moderatien Eingriff aktiviert war, scrollte die Seite nach oben, statt den Befehl auszuführen.

    Wenn du da noch was genaueres hättest,

    Nim dir irgendein Matrixscript aus den Standard-Bussen von M+R Software. in jedem Matrix-Script steht ein einsammer kleiner Befehl, der irgendetwas mit Refresh drin hat. Er ist innerhalb eines Macros im Matrix-Script. setze diesen Befehl einfach in das Macro des Thermometers oder sonstwo hin. also irgendwo in eine leere Zeile zwischen

    [Macro:Macroname] und dem folgenden [end].



    ... dass es hier nicht ging, war echt überraschend, ...

    Alles was du im Script machst, kannst du in der Laststn.osc im Map-Ordner nachlesen. Da steht ein Wert unter der jeweils gespeicherten Variable. So lassen sich schreibfehler im Script aufdecken. Ist kein Wert da, ist was falsch. Der Objekteinbau kommt erst später. Das heißt, man kann es zuerst machen oder auch später. Bei einem Einbau von neuem Content, gibt es zahlreiche Fehlerquellen. Die Logfile zeigt aber nicht alles an oder ist zu ungenau. Die Laststn.osc ist eine Prüfung, was Omsi errechnet ha oder ausgelesen hat.

    Du findest also dort, was Omsi für eine Temperatur ermittelt hat und was Omsi in einem Schreibfeld darstellen würde. Wenn dort sinnvolle Werte stehen, kommt die Sichtbarmachung im Bus.


    Dass es am Anfang leer ist und sich nur beim Neustart aktualisiert wird wohl mit dem Refresh... Dingsda zusammenhängen.

    Je nachdem, wie das Script erstellt wurde. Bei O305 habe ich nichts geändert. Bei O407, MAN ÜL und O407 habe ich das Script ein wenig umgestellt, damit es nur mit der Fahrzeugelektrik aktuallisiert /aktiviert wird.

    -die Temperatur aktualisiert sich ausschließlich bei einem Spielneustart, während des laufenden Spiels ist sie immer statisch auf der Temperatur, die beim Spielstart im Innenraum geherrscht hat.

    ... das legt die Vermutung nah, das du die EInbau-Anleitung nicht ganz befolgt hast, oder befolgen konntest.

    Beim Bus mit einer Matrix, sollte es immer aktuallisiert werden, da der Befehl dort eingetragen worden ist, sonst aktuallisiert sich die Matrix oder Innenanzeige (falls vorhanden) nicht. Bei Rollbandbusse, wird der Befehl nicht benötigt. Weiß gerade nicht genau wie der hieß .... irgendetwas mit Refresh ... oder weiß der Kuckuck.


    -nach dem Platzieren vom Bus ist das Thermometer leer

    Ich habe das Thermometer leider nicht mehr bei mir drin, da ich das analoge Thermometer besser finde. Hier könnte es sein, das die Position nicht passt. Wenn das Thermometer im Bus an der richtigen Position ist, dann die Position des TextTexture-Mesh in der model.cfg prüfen. Sollte diese nicht da sein, fehlt diese in der model.cfg oder die Schriftzuweisung ist fehlerhaft. Hier hilft es, die Temperaturabfrage in der lost.....Datei anzusehen. Hier erkennt man, ob der Fehler im Script liegt (fehlerhafte oder keine Berechnung) oder ob es ein Fehler der Anzeige ansich ist.

    Leider kann ich dir heute da auch nicht mehr helfen, weil ich nie eine X-Datei erstellt hatte, weil ich sowas nie brauchte. Ich kann direkt in o3d-Datei speichern.


    soweit, wie ich lesen kann, stimmen die Scripte mit dem O305 Solo überein und passen

    Nein, die stimmen nicht überein. Ich habe diverse Scriptabfragen aus dem O305 genutzt und nicht nochmal kopiert. Die liegen in vielen Scriptdateien drin. Bei O305 gibt es aber zwei Busse - einmal mit Matrix und mit Rollband. Man könnte natürlich alles in wenigen Scripten eintragen, aber mit mehreren Scripten, steigert es die Übersicht.

    Aber grundlegend gilt :

    • Ein Macro muß in einem vorhandenen Script eingetragen werden. Verwendete Scripte stehen in der Busdatei
    • Jedes Macro muß auch verifiziert werden. (steht also in einer Macroliste)
    • Die Macroliste muß auch in der Liste der verwendeten Scripte vorhanden sein.

    zudem gelten auch alle weiteren Grundlagen, die du zu kennen scheinst .... Befehle verifizieren ...

    Man kann also ganze Scripte eintragen, aber dennoch nur einige wenige Macros daraus verwenden. Macros die im Script stehen, aber nicht in der Macroliste, werden einfach nicht ausgelesen - ist also kein Fehler für Omsi. Somit steht die Temperaturabfrage im Script drin (für die Busse mit Thermometer), aber die Busse ohne Thermometer, sehen das Macro für die Temperatur nicht, wenn das Macro {M.V.Macroname} nicht eingetragen wurde. Beim O305 Stadtbus war das Macro eingetragen (aus dem MAN SD Bus), und wurde auch abgefragt. Es gab nur kein Thermometer im Bus.

    Beim Gelenkbus hat Rolf oder e2h1986 , die Macroabfrage wahrscheinlich rausgelassen. Wozu ein Macro ständig berechnen lassen, wenn es nicht gebraucht wird?


    Meine Dateien sind aber auch nur eine einfache Einbauanleitung für den jeweils bestimmten Bus. Eine Umsetzung auf andere Busse erfordert ein Umdenken und eine Prüfung der Scripte, was genutzt wird und was nicht. Daher nochmal zur Übersich:

    {Macro:Macroname} muß im Script_X stehen,

    (M.V.Macroname) muß in der Macroliste stehen, in einem Script Y das ausgelesen wird,

    Script/Script X

    &

    Script/ScriptY müssen in der Busdatei stehen (Zuordnungszahl anpassen).

    Ob die Temperatur ausgelesen wird, steht dann in der Laststn.osc im Map-Ordner. Fehlt dort der berechnete Wert aus dem Stack, liegt ein Problem im Script vor. Steht dort ein Wert, ist der Fehler in der fehlerhaften Anzeige im Bus (Objektfehler [Position] oder in der Abfrage der Anzeige [useTextTexture]).

    Hallo an alle.


    Aufgrund der Umstellung des Forums, kann es kurzzeitig zu Problemen mit Rechten der einzelnen Usergruppen geben und Threads werden kurzfristig verschoben. Bitte nicht gleich verzweifeln, es dauert etwas einen Bereich umzustellen und die einzelnen Rechte genau zu vergeben. Habt also bitte etwas Geduld, bis die neuen Themen eingerichtet sind und ich die einzelnen Gruppen-Rechte überprüfen und testen konnte.

    Forenanfragen, bezüglich fehlenden Rechten oder verschobenen Threads kann ich nicht beantworten, da ich die einzelnen Kategorien und Foren erstelle und einige Threads in ddie neuen Bereiche verschiebe.


    Bitte wartet ab und gebt mir etwas Zeit.

    :sleeping:

    Die Logfile kann man sich hier aber sparen. Solange es irgendwelche Schreibfehler in der model.cfg sind, wird der Bus unsichtbar bleiben. Welche Fehler es genau sind, findet der TE in der Logfile. Die Zeilen sind mit "ERROR" gekennzeichnet.

    Es gibt nur wenige Busse, wo die Sitze auch animiert sind, meist aber nur in der Sitzeinstellung. Eine Federung wurde nicht umgesetzt, da die Sitzverstellung keinen EInfluß auf die Sicht des Spielers hat. Auch Federungsbewegungen wurden nicht umgesetzt. Eine Umsetzung der Federungsbewegung ist in sofern unsinnig, weil auch diese Bewegungen keinen Einfluß auf die Sicht hat. Mir ist kein Bus bekannt, bei dem der Fahrersitz eine Federungsanimation hat.

    Zu den Autos ist esy soweit ich weiß nicht möglich, ...

    Kommt drauf an, ob man Kompromisse eingehen möchte ...



    Das ist ganz einfach umsetzbar. Man kopiert die Volvos, in einen zweiten Ordner.

    In der Model.cfg löscht man das Mesh für das Kennzeichen und trägt das reale Kennzeichen in die Textur ein. Somit ist auch die richtige Farbe festgelegt. Zudem muß man in der Model.cfg auch den Texturwechsel auskommentieren / löschen.


    Nachteil: Die Fahrzeuge fahren dann öfter auf der Map rum ....

    Hier müßte man dann noch eine eigene Fahrzeuggruppe erstellen und in die Ai-List eintragen. Somit fährt das Fahrzeug zwar immernoch öfter als einmal rum, aber sie treten wenigstens nicht in größeren Mengen auf.

    Mit den Rezesionen soll der User, den Content bewerten, so wie in ebay, die Produktbewertung. Nicht zu verwechseln mit der Transaktionsbewertung.

    Einige User mißbrauchen die Reaktionen auch damit, allein den User zu beurteilen, ohne den Content runtergeladen zu haben. Hat man ja auch teilweise in den Kommentaren gesehen.

    Gibt es da irgendeine Maßeinheit, Sekunden oder Millisekunden oder sowas?

    Das sollen wohl Millisekunden sein. Ganz sehe ich da nicht durch, da der Wert 300 die Animation in ca 40-45 Sekunden ausführt.


    Wie verbindet man dann eigentlich die Animation und die [newcurve]?

    Im Script. Von der model.cfg steht die Verbindung zum Trigger / Macro mit der Animationsvariable. Im Macro wird die Bewegung ansich gesteuert. Die Abfrage der Konstanten wird im Script durch die Abfrage der Constfile-Variable geregelt.

    • Braucht man zu einem [newanim] immer eine [newcurve]?

    Nein, braucht man nicht. Solange eine Animation, rein Manuell bedient wird (Beispielsweise Fahrertür oder Regler) sind Kostanten schonmal nutzlos, da hier das Verhalten vom Spieler direkt beienflusst wird - Mausgesten. Soll eine Animation kontinuierlich ablaufen, brauchst du auch keine Kostanten.

    Die Kostanten brauchst du allein nur dafür, wenn eine Animation nicht kontinuierlich ablaufen soll.

    Beispiel:

    Eine Tür soll erst langsam schließen und kurz vor dem Ende zuknallen. Hierfür sind die Konstanten notwendig. Man kann die Animation zwar auch kontinuierlich ablaufen lassen und dies mit Konstanten eintragen, ist aber absolut sinnlos. Für eine Änderung der Geschwindigkeit während der Animation sind die Kostanten notwendig, damit die Tür unterschiedliche Geschwindigkeiten ausführen kann.



    • Wie genau ist die [newcurve] bei den [pnt]-Einträgen aufgebaut? Im Wiki habe ich irgendwas davon gelesen, dass der x-Wert eingegeben wird und y ausgegeben wird? Muss man diese Ausgabe dann verarbeiten?

    Die Punkte unter der neuen Kurve haben nur zwei Punkte. Zum einen gibt es die genaue Position. Die richtet sich nach der Animation. Im Urzustand hat das Objekt den Zustand 0, also ist die Animation auch 0. Wenn die Animation startet, bewegt sich das Objekt von 0 zur Position 1. Die einzelnen Positionen richten sich also immer zwischen 0 und 1 aus. So kann man ein viertel des Weges abfragen (0.25), die häfte (0.5), dreiviertel (0.75), aber auch alle anderen Punkte zwischen 0 und 1.

    Im zweiten String kommt dann die Zeit oder Geschwindigkeit, die gebraucht wird, wie langsam oder shcnell das Objekt zwischen 2 eingetragenen Punkten brauchen soll.

    Im Übertriebenen Sinne, kann man eine Tür ganz langsam von 0 bis 0.1 laufen lassen, sehr schnell zwischen 0.1 und 0.1876491, dann wieder langsam zwischen 0.1876492 bis 0.25 und so weiter. Bis zu 7 Stellen hinter dem Komma nimmt Omsi an, alles dahinter wird nicht erkannt.

    Omsi nimmt den Mittelwert zwischen zwei Punkten und die Zeit, wie lange die Animation zwischen den Mittelpunkten ablaufen soll.


    Trägt man in der model.cfg unter der Animation den Eintrag Speed ein (nicht zwingend erforderlich) wird dies als Zeit genommen um die Animation von 0 bis 1 auszuführen, wobei die Animation immer kontinuierlich abläuft.

    Beispiel Schalter: Jeder Schalter führt eine Animation aus. Vom Ruhezustand 0 bis zu anderen Endposition 1 oder entgegegen gesetzt zu -1 oder zur Position 2. Im Script schreibt man aber von 0 zu 0.5 zu 1 oder von 0 zu 1 oder -1. Dabei führt jeder Schalter eine Animation aus. Steht Speed nicht da, wird Speed 0 genommen, der Schalter klickt sofort von einer zur anderen Position. trägst du nun Speed ein und einen Wert von 300, bewegt sich der Schalter langsam von einer Position zur anderen. Sinnvoll ist das Beispiel jetzt nicht. Sinnvoll wäre eine langsame Animation, zum Beispiel bei einem manuellen Thermometer. Selbst wenn man in Omsi von Frost auf Hitze umschaltet, dauert es wenige Sekunden, bis die Temperatur im Bus ansteigt. Das manuelle Thermometer läuft aber viel langsamer ab, aber auch kontinuierlich.


    Mit dem Eintrag Speed -1 wird eine Animation ausgesetzt und der wechsel zwischen dem Urzustand und dem Zustand 1 wechselt sofort.

    Da keine Vorschaubilder zur Map vorhanden sind, ist heir zu.

    Auf dem vorhandenen Bild sieht man nichts, was mit einer Map zu tun hat, sondern eher die ersten Übungen im Editor.

    Thread wird zeitnah gelöscht. Hier geht es um Projektvorstellungen und nicht um die Vorstellungen von Ideen.

    Hallo,

    Das wäre eigentlich meine Aufgabe. Aber ich habe derzeit Probleme mit den richtigen EInstelungen. Bei den letzten erstellten Kategorien, wurden die Flag-Einstellungen nicht gesetzt. Da muß ich nochmal schnüffeln, damit ich die setzen kann. Derzeit fehlt mir der Überblick, wo die noch eingestellt werden müssen.


    Daher kann ich dich nur um etwas Geduld bitten, zur Not eventuell später nochmal dran erinnern.