Beiträge von ma7t3

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!

    Also dein Logfile meldet auf jeden Fall einen Fehler bei einem Objekt. Das muss aber nicht zwingend verantwortlich für die weißen Gebäude verantwortlich sein:

    Code
    7906 16:31:55 -  -   Error:           In "Sceneryobjects\Walbrzych\Wiadukt.sco" there was an error in line 19!

    Vermutlich fehlen hier einfach Texturen oder diese können nicht geladen werden. Das wird idR. nicht von OMSI im Logfile angezeigt, ebenso erkennt Maptools das auch aller Wahrscheinlichkeit nicht.

    Du kannst in OMSI-Tools mit dem erweiterten Modus versuchen, die fehlenden Texturen zu finden.


    Sonst kann es auch sein, dass dein Arbeitsspeicher voll ist und OMSI deshalb einfach keine Textur mehr laden kann (Als 32-Bit-Anwendung kann OMSI normal nur 2 GB RAM verwenden, was manchmal nicht ausreicht). Da kann eine Installation des 4GB Patch Abhilfe schaffen.

    Hier sieht man es nochmal von oben.

    So eng, wie es auf dem Bild (aufgrund der Perspektive aussieht) ist es tatsächlich garnicht, man kommt schon rum.

    Trotzdem werde ich mich dazu (zugunsten der Sicherheit der Schüler) da nochmal ransetzen und es ein wenig entschärfen, damit man mit dem Bus hinten nicht ganz so stark ausschwenkt. ^^

    Du kannst den Trigger auch im Bus umbenennen.

    Also ein Eintrag im mouseevent ändern.

    Musst dann aber auch in der jeweiligen Script-Datei den {trigger:name}-Eintrag analog umbenennen. Aber dann sollte es gehen.


    Es sollte in OMSI aber auch ohne Probleme möglich sein, für mehrere Events in den Einstellungen die gleiche Tastenkombination festzulegen. :)

    Moin,

    wenn die Fahrzeuge eigene trigger verwenden, musst du diese manuell hinzufügen:


    Dazu musst du zunächst in der model.cfg deines Busses herausfinden, wie der Trigger überhaupt heißt. Hier ein Beispiel aus dem EN92:

    Hier haben wir z.B. den Türtaster von außen, den du theoretisch natürlich auch auf eine Tastatur-Tasten legen könntest.

    Für dich wichtig ist der [mouseevent]-Befehl, bzw. das, was darunter steht. Das ist der trigger-Name, also hier bus_doorfront0_external.


    Dann gehst du in OMSI 2 in deine Einstellungen auf den Reiter "Tastatur" und dort dann auf den Button "Fahrzeug-Event hinzufügen". Dann erscheint "Triggerliste wird geladen." Nicht wundern. Das kann - abhängig davon, wieviele Fahrzeuge du installiert hast - ziemlich lange dauern. Einfach OMSI in Ruhe lassen und warten.

    Irgendwann erscheint dann jedenfalls ein Fenster mit ganz vielen Triggern (von sämtlichen installierten Bussen. Da sollte auch dein trigger zu finden sein. Einfach auswählen und Bestätigen.

    Dann erscheint dieser in der normalen Liste bei den anderen Tastaturbelegungen und du kannst eine Taste festlegen. :)

    Ich würde mal behaupten, das Problem mit den unschönen Haltestellen auf dem Fahrplanzettel lässt sich nicht wirklich lösen.

    Der Fahrplanzettel ist immer eine 1:1-Repräsentaiton des Trips, jede Halte im Trip wird dort einfach entsprechend aufgelistet plus Startzeit des folgenden Trips.


    Ich kenne mich jetzt mit dem Pedepe-Zeug nicht so aus, aber, wenn ich das jetzt richtig verstanden habe, dass Pedepe immer mindestens drei Haltestellen pro Trip braucht, um diesen korrekt zu erkennen, wirst du vermutlich nicht darum herum kommen, auch drei Busstop-Würfel zu haben (wie auch immer die am Ende auf der Strecke verteilt sind), was allerdings auch immer dazu führen wird, dass diese auf dem Fahprlan mit angezeigt werden.

    Man könnte höchstens probieren, den Namen des "Dummy-Würfels" einfach leer zu lassen. Mit Glück taucht er dann im Fahrplan nicht auf, wenn doch (was ich jetzt eher mal vermuten würde) halt einfach als leere Zeile, das sähe jetzt für mein Empfinden nicht ganz so doof aus, wie eine Haltestelle doppelt oder wirklich sowas wie "Dummy" dort stehen zu haben.

    Danke für die Informationen, was es so alles gibt.


    Deine Idee mit dem PHP-Script finde ich echt garnicht mal so doof.

    Wäre eh die Frage, inwieweit das im Rahmen des möglichen wäre, eine Brücke für die Satellitenbilder, wie sie derzeit von gcMods existiert direkt als WebDisk quasi anzubieten. Ich kann natürlich jetzt nicht einschätzen, wieviel traffic das wirklich ist, aber andererseits ist die WebDisk ja über das Forum und die Filebase so oder so ziemlich gut besucht, von daher würde ich mal behaupten, dass das verhältnismäßig so wenig zusätzliche Serverauslastung wäre, dass das zu vernachlässigen wäre.

    Und Speicherplatz braucht man ja auch nicht so viel.


    Bleibt trotzdem die Problematik, dass das Bingmapsportal in der Form, wie es jetzt existiert und von diversen Mapbauern verwendet wird, bereits jetzt deprecated ist und, wie oben geschrieben, auf absehbare Zeit eingestellt wird.


    Ich hatte vor einigen Tagen mal die Seite vom Azure Server überflogen (weil ich mich damit ehrlich gesagt noch nie so richtig auseinandergesetzt habe).

    Auch Azure-Maps (der "offizielle" Nachfolger) für das Bingmapsportal scheint da prinzipiell in den Basisfunktionen dauerhaft kostenlos zu sein. Dennoch scheint die Registrierung und Einrichtung da wohl deutlich aufwendiger.

    Das war ja bisher einfach nur "mit Microsoft-Account einloggen, API-Key erzeugen und benutzen".

    Vielleicht kann Lµkas als beruflicher Software-Entwickler (war doch so, oder?) da mehr zu sagen, wie das mit Azure funktioniert. Ist ja prinzipiell eigentlich eher an Unternehmen/Organisationen und weniger Privatpersonen gerichtet.


    Google Maps gibt's natürlich auch noch, allerdings kriegt man bei Bing (und ich vermute mal, bei Azure genau so) meist qualitativ wesentlich bessere und aktuellere Bilder...

    Moin,


    wie wird denn deine Animation genau ausgeführt. Ist die quasi OMSI-automatisiert, dass du den Animationswert irgendwann auf "1" setzt und die tatsächliche Animation automatisch (z.B. durch die Angabe von maxspeed im [newanim]-Eintrag) "entsteht". oder steuerst du die manuell, dass du also die mit der Animation assoziierten Variable händisch in jedem Frame auf einen passenden Wert setzt?


    Das Problem, dass bei Objekten Animationen weiterlaufen, wenn OMSI pausiert ist, ist jedenfalls nichts grundsätzlich neues, bzw. sieht man öfter.

    Sogar die spandauer Schranken von Ruediger dürften sich weiter schließen/öffnen während das Spiel pausiert ist.


    Ich weiß allerdings nicht, ob die meisten Entwickler da einfach nur "pfuschen" und es halt vergessen bzw. nicht richtig ipmlementieren.


    Ich habe gerade mal spaßeshalber meinen Vanilla-OMSI-Ordner auf der externen Festplatte komplett nach (L.S.Pause) durchsuchen lassen und habe dabei festgestellt, das scheinbar kein einziges Script in der kompletten OMSI-Original-Installation, weder bei Fahrzeugen, noch Szenerieobjekten diese Variable verwendet:


    Das muss natürlich erstmal nichts heißen, andererseits könnte ich mir tatsächlich vorstellen, dass die Pause-Variable vielleicht einfach garnicht funktioniert oder tatsächlich, wie DerErzbusfahrer schon vermutet hat, nur von Plugins ausgelesen werden kann.


    Du könntest ja sonst mal testweise einfach im Frame-Abschnitt immer die Pause-Variable in eine eigene Variable übertragen ((L.S.Pause) (S.L.myVar))

    Das spiel dann mal pausieren und speichern und dann in der last.osn schauen, welchen Wert "myVar" tatsächlich hat.

    Moin zusammen, ich bin so frei, das nochmal aus dem Archiv wieder hervorzukramen, anlässlich des folgenden Punktes:

    Falscher Link im Wiki-Artikel


    Abgesehen davon, dass die Links scheinbar nicht stimmen, stört mich auch nach wie vor etwas, dass wir im Artikel auf URLs verweisen, die über die Domain von gcmods.de verlaufen.

    Die scheinen ja zu funktionieren und werden irgendwie auch von jedem verwendet, aber trotzdem ist das ja irgendwie nochmal ein (unnötiger) Umweg. Ich vermute, dass die URL von gcmods die Daten einfach nur an Bing bzw. Google weiterleitet und das Ergebnis zurücksendet, aber das müsste dennoch doch auch irgendwie "direkt" gehen?

    So ist man jedenfalls immer von gcmods abhängig und alle Links würden nicht mehr funktionieren, wenn die Seite mal down ist.


    Da der User mich da gerade nochmal indirekt wieder drauf aufmerksam gemacht hat, wollte ich mal in die Runde fragen, ob da jemand Erfahrung hat, wie sich die Daten auch direkt über Google/Bing abrufen lassen, ohne einen dritten Provider.

    Irgendwie muss es ja gehen, sonst hätte Marcel die Funktion ja nicht so implementiert. Und die "API" von gcmods ist mit Sicherheit erst später entstanden.


    Edit:

    Da sind eh scheinbar Änderungen notwendig ab Sommer nächsten Jahres.

    Moin, scheint mir den Screenshots zufolge so, als würde dir einfach eine Terrain-Textur fehlen, auch, wenn davon in der Logfile nix explizit steht.


    Hast du mal mit OMSI-Tools eine Überprüfung gemacht, der sollte dir auf jeden Fall auch fehlende Bodentexturen melden. Ob das bei Maptools der Fall ist, weiß ich ehrlich gesagt gerade nicht.

    Ansonsten kann es natürlich auch sein, dass die Textur aus anderen Gründen nicht geladen werden kann, z.B., weil sie defekt ist.

    Möglich wäre auch, weil den RAM voll ist, da kann der 4GB Patch, falls nicht vorhanden, Probleme lösen.


    Ansonsten kannst du dem Problem auch manuell auf den Grund gehen, indem du die global.cfg der Map öffnest, dort solltest du irgendwo einen Abschnitt finden, in dem sich mehrere, aufeinander folgende [groundtex]-Einträge befinden.

    Darunter befinden sich immer jeweils zwei (!) Texturpfade, einen für die Haupt- und einen für die Detail-Textur.

    Die Einträge könntest du sonst einfach ell mal durchgehen und schauen, ob sie alle existieren und auch korrekt sind (d.h., du kannst sie auch mit einem Grafikprogramm deiner Wahl öffnen).

    #006 - 07.08.2024 - Zuwachs im Team und neue Objekte

    Moin zusammen,

    mit dem heutigen Tag ist IREgio612 ein weiteres Teammitglied bei uns geworden. Er hat bereits in den letzten Tagen und Wochen eine Vielzahl von Objekten gebaut, die die teilweise komplett neues in OMSI möglich machen und die perfekt in die Szenerie unserer Map passen - insbesondere zu dem geplanten Ostsee-/Strand-Abschnitt, auf welchen BSAG_Tramspotter2912 bereits mit dem Mapbau zusteuert.

    Hier mal zwei Bilder von der bisherigen Arbeit. Wir freuen uns auf mehr!

    Moin,


    der Morphi-Citaro ist in erster Linie dadurch inperformant, dass er eben sehr komplexe-Sound-Scripte hat, das zwingt die FPS bei vielen Fahrzeugen in die Knie.

    Speicherprobleme werden jedoch meist eher vor allem durch hochauflösende Texturen und komplexe Models hervorgerufen. Dem kannst du natürlich entgegenwirken, indem du KI-Varianten mit kleineren Texturen und einfacheren Models verwendest. Wieviel das wirklich bringt, kann von Bus zu Bus verschieden sein.


    Eine große Rolle spielt allerdings natürlich auch einfach, wieviel verschiedene Busmodelle unterwegs sind.

    Wenn du es schaffst, dich auf 1-2 Typen zu beschränken, müssen nur diese geladen werden, was speichersparender ist, auch, wenn jetzt z.B. 10 verschiedene Fahrzeuge herumfahren, die aber alle vom gleichen Typ sind.

    Anders, wenn 10 Fahrzeuge, die alle verschieden Typen sind, unterwegs sind. :)


    Es ist immer die Frage, wieviel Realismus man will und wieviele FPS man dafür "bezahlen" kann und will. :D


    Ansonsten kann ich nur auf den Spandau-MAN verweisen, der ist tatsächlich als KI äußerst sparsam und funktioniert auch auf sehr großen Map, wie z.B. Ahlheim V4 selbst im Innenstadtbereich rund um den Hbf wunderbar.

    Der MAN Stadtbus soll als KI auch sehr gut funktionieren, kann ich aber selber nicht beurteilen, da ich das Addon nicht besitze. :)

    Moin,

    ich müsste mir das heute Abend mal genau anschauen.

    Grundsätzlich gilt aber natürlich, wenn ein anderer Eintrag nicht mehr gebraucht wird, kannst du den natürlich ersetzen bzw. einfach den vorhandenen anpassen.


    Wie ist das überhaupt zu verstehen bei dir? Wolltest du die weiße Beleuchtung durch die Blaue ersetzen oder ist die zusätzlich zur weißen als neuer "Lichtmodus" quasi?

    Genau, das ist möglich, du kannst einfach einen neuen Eintrag (am besten ganz am Ende hinter allen bestehenden) anlegen.

    Ich zitiere aus dem Wiki:

    Das ist eigentlich alles wichtige.

    Position und Farbwerte sollten eigentlich klar sein, genau so, wie die Reichweite.

    Die Variable muss halt in einer Varlist vorhanden sein und vom Script des Busses auf 1 oder 0 gesetzt werden, je nach dem, ob das Licht eben ein- oder ausgeschaltet werden soll.


    Damit die Lichtquelle andere Meshs auch korrekt anleuchtet, musst du noch unter jedes Mesh, dass von der Quelle beleuchtet werden soll, folgenden Befehl eintragen (bzw. anpassen, wenn er schon existiert:

    Code
    [illumination_interior]
    0
    2
    3
    -1

    Dort kannst du bis zu viert Lichtquellen definieren, die das Objekt anleuchten sollen, dabei werden einfach die Indexes der interiorlight-Befehle untereinander angegeben.

    "-1" bedeutet quasi "nicht" verwendet. Wenn dein Objekt also bspw. nur von einer Lichtquelle mit Index 3 angeleuchtet werden soll, würdest du in der ersten Zeile eine 3 eintragen und die restlichen drei Werte auf "-1" setzen.

    Im Beispiel oben wir das Objekt also von drei Quellen (Nr. 0, 2 und 3 angeleuchtet). Der vierte "Slot" ist noch frei.


    Du müsstest also einfach den Index deines neuen interiorlight-Eintrags bei allen Objekten, die angeleuchtet werden sollen, in einem freien Slot eintragen. :)


    Beachte aber, dass der Befehl immer nicht nur auf das aktuelle Mesh wirkt, sondern auch auf allen folgenden Meshs so übernommen wird, bis wieder ein neuer Eintrag folgt. :)


    Sonst passiert es schnell, dass plötzlich Objekte, die garnicht angeleuchtet werden sollen, hell erscheinen. Dann musst du einmal einen neuen illumination_interior-Befehl mit nur leeren Slots (4x "-1") eintragen.

    Das kann man - meiner Meinung nach - so pauschal nicht sagen.

    Natürlich gibt es sicherlich auch Dinge, die im "alten" Blender teilweise besser oder einfacher gehen (gerade der DirectX-Export natürlich).

    Aber im neuen Blender hat man eben auch extrem viele praktische Funktionen, die in den älteren Versionen so einfach noch nicht existierten, die ich ehrlich gesagt auch nicht mehr missen will. Insbesondere durch die neue Render-Engine und allgemein die Oberfläche und mehr Bake-Optionen ist es viel einfacher, beispielsweise auch Beleuchtung richtig schön direkt in Blender zu konfigurieren und somit direkt in Blender eine richtig saubere Lightmap zu erstellen (siehe Screenshots unten)

    Abgesehen davon - die o.g. Plugins funktionieren bei mir (Blender 4.0 derzeit) wunderbar ohne jegliche Probleme, von daher sehe ich für mich derzeit garkeinen Grund, eine ältere Version mit Oberfläche, die wie Windows XP aussieht zu verwenden 8o



    Hm, irgendwoher muss OMSI diese Information ja haben.


    Rein theoretisch könnte das noch über einen matl_change mit malt_allcolor laufen, das halte ich aber für äußerst unwarscheinlich...

    [...] im Prinzip kannst du da genau so vorgehen, wie bei Bussen mit Repaints.

    Kurz gesagt - ja :)


    Wenn du das Skript, was ma7t3 oben erklärt hat im {init}-Bereich einträgst, dann wird beim Laden des Busses eine zufällige der Texturen ausgewählt. Im {frame}-Bereich widerrum würde der Bus die Textur in jedem Frame des laufenden Spiels wechseln. Dabei kannst du z. B. einen Timer einbauen.


    Grundsätzlich korrekt, allerdings sollte man natürlich beachten: Jeder Bus hat ja schon quasi ein "normales" Repaint, was man ganz regulär bei der Busauswahl mit auswählt.

    Fügt man nun einfach neue Einträge hinzu, würde das dazu führen, dass alle Werbungen (z.B. in der Werbetafel im Bus oder wo auch immer) ebenfalls als reguläre Bus-Repaints angezeigt würden.

    Ein Timer würde dann auch alle regulären Repaints zufällig mit umschalten, was vermutlich nicht gewollt ist. ^^


    Allerdings habe ich kürzlich herausgefunden, dass OMSI scheinbar kein Problem damit hat, wenn ein Objekt (bei Bussen gehe ich mal auch davon aus) mehrere Repaints gleichzeitig besitzt, indem man einfach mehrere [CTC]-Befehle verwendet.


    Müsste man aber mal ausprobieren, wonach sich OMSI richtet, welches Repaint für die Auswahl im Bus-Menü verwendet wird, vielleicht einfach das erste?


    Hier nochmal der Ausschnitt, bei mir handelt es sich hier um ein Wartehäuschen mit Werbung, jedoch besitzt es zwei Werbeflächen, die unabhängig voneinander "geschaltet" werden sollen. Daher gibt es zwei seperate Repaint-Einträge, welche jedoch in diesem Fall auf den gleichen Ordner und somit auf eine gemeinsame "Repaintsammlung" zugreifen. Könnte man aber natürlich auch anders machen. Aber so können beide Werbeflächen unabhängig voneinander verschiedene Werbungen zeigen.

    (Objekt ist ursprünglich von IREgio612 - mit Erlaubnis von mir modifiziert)


    Hier im Script gibt es dann halt einfach zwei verschiedene Variablen für beide Repaints, die beide nacheinander mit verschiedenen Zufallswerten initialisiert werden.

    Code: Scriptdatei
    {init}
        16 random (S.L.WerbungIndex1)
        16 random (S.L.WerbungIndex2)
    {end}


    Ich hoffe, das hilft weiter. :)


    wie baue ich so nen Timer ein?

    Auch, wenn's schon etwas offtopic ist: Ein Timer im Script dient im Prinzip dazu, die ganze Zeit mitzuzählen, wie lange etwas dauert, um irgendetwas in einem bestimmten Interval (jedoch nicht in jedem Frame) auszuführen, wie bspw. den Wechsel einer Textur oder was auch immer. Dazu brauchst du eine "Zählvariable" hier "Timer" genannt, die du natürlich in einer Varlist zunächst definieren musst.

    Dein Script sieht dann ungefähr so aus:


    Damit ich es richtig verstehe:

    Es geht darum, dass Teile des Innenraumes noch in der falschen Farbe angeleuchtet werden und du keinen passenden Eintrag dafür findest?

    Je nach Bus kann es sein, dass es dafür tatsächlich keinen Eintrag gibt, weil der Ersteller des Busses die Beleuchtung in Blender konfiguriert und gebaked hat, sodass es eine Lightmap-Textur gibt.


    Wie hier z.B. im HafenCity-Volvo:

    ///


    In dem Fall wirst du natürlich keinen Eintrag finden, weil die Farbe der indirekten Beleuchtung einfach durch eine Textur bestimmt wird.

    Dann müsstest du schauen, dass du die Textur anpasst, sofern dir die Blender-Datei nicht vorliegt (wovon ich mal ausgehe) indem du sie z.B. einfärbst. :)