Tag / Nacht Modus

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Also mein bisheriger Kenntnissstand:



    - Die Funktion wie ich sie zuvor vorgeschlagen hab mit einer art setTimeout(functionCallback, millisekunden) zu bekommen ist soweit unnötig.
    - Urban Games hat mir den Hinweis gegeben das das Event onUpdate der missionutil.lua bei jedem Frame des Games aufgerufen wird, fügt man also innerhalb einer Kampangen Mission eine Berechnung ein ist der Tag / Nacht wechsel wohl ohne Probleme machbar.
    - Sollte jemand eine Möglichkeit finden in einem normalen Mod innerhalb Freien Spiels Mission Scripte auszuführen so nur her mit der Lösung, ich konnte bisher keine finden, habe aber auch Urban Games noch einmal kontaktiert.


    Ich habe aufgrund des ganzen jetzt erstmal angefangen das ganze als ein Package im Form einer großen Kampange aufzubauen. D.H. statt eu und amerika gibt es dann auch die Kampange h4e Day and Night Package. Darin wiederrum stellt jede Mission eine andere Map da. Anhand der Mods die ich dem Savegame oder einer beliebigen mod.lua hinzufüge kann ich zusätzliche Fahrzeuge bei einzelnen Maps / Kampangen Missionen hinzufügen oder aber auch ausblenden usw. So wäre es sogar machbar z.B. als Map 1 Deutschland zu nehmen, dort dann Fahrzeuge aus Deutschland zu integrieren. Außerdem könnte man das ganze so auch hinbekommen das eine Kampangen Mission zwar Ziele hat, aber die Mission an sich auch nach den verschiedenen Aufgaben nicht endet. Und dadurch das man auch Mod hinzufügen kann ist sowas wie keine Kosten mod ebenfalls in der Kampange möglich.


    Wird etwas Zeit in Anspruch nehmen vorallem weil eine Riesige Kartenauswahl auch viele Missionen vorraussetzt und der Mod so durch die Menge an Maps / bzw. Savegames am ende in den Bereich der GB kommen könnte.

  • Sorry für Doppelpost aber das könnte auch für andere nützlich sein:


    - Laut Urban Games ist es technisch nicht möglich in einem mod (sprich mod.lua) in einem freien Spiel auf mission scripts zuzugreifen bzw. auf den brightness wert. Bedeutet also das etwas wie Tag / Nacht mit automatischen wechsel wenn überhaupt in der Kampange gehen würde.

  • Das wäre seitens UG sicherlich änderbar, ob das aber wirklich geändert wird ist eine andere Frage.



    Der Zustand ist folgenermaßen aktuell:


    - game.interface kein Zugriff aus einer Mod.lua, nur Zugriff von mission scripten.
    - game.config kein Zugriff aus einer Mission, aber durch Mod. (Heute vom Support erfahren! Es wurde mir aber gesagt das die Entwickler dazu noch einmal gefragt werden ob es Tricks gibt)


    d.H. derzeit ist GARKEIN Tag und Nacht Wechsel, welcher dynamisch durch den Mod erfolgen soll möglich! Ich hoffe aber das da noch etwas kommt. Legendlich der feste Zustand das dauerhaft Nacht oder Tag ist so wie nun durch den Night Mode auf Steam und in der Download Base ist derzeit umsetzbar.

  • Laut Urban Games ist es technisch nicht möglich in einem mod (sprich mod.lua) in einem freien Spiel auf mission scripts zuzugreifen

    Schade...
    Besonders schade, dass ich das jetzt erst lese. Ich versuche schon seit Tagen in ner Mod an die UI aus den Szenarios ran zu kommen :(


    Es ist aber nicht weiter problematisch, dass man an game.config nur in einer mod ran kommt, da man ja in Szenarios trotzdem mods verwenden kann (siehe urbangames_campaign_*_mission_*_1 Mods im mods Ordner von TpF.


    Die hinterlegten maps in den Kampagnen sind doch auch nur normale savegames oder?


    Dann müssten wir jetzt nur noch eine mod bauen, die nach dem erzeugen der map automatisch die Karte speichert und das savegame in einen szenario Ordner verschiebt. Das drum herum was man für die Szenarios benötigt muss da natürlich auch erstellt werden aber das dürfte auch kein Problem sein und schon können wir mit dieser Mod eine map erzeugen in der vollständiger Zugriff auf jegliche missions scripts zuzugreifen und hätten somit die volle modbarkeit.


    Das einzige was daran für den user verwirrend sein könnte ist, dass er die Map dann quasi doppelt erstellen muss: Einmal "normal" mit allen Mods die er haben möchte und der scenarioMaker mod und danach nochmal als Kampagne, damit alle Scripts verfügbar sind. Die Savegames kann man ja später dann ganz normal laden. Das geht ja bei den normalen Szenarios auch.


    Ich setz mich mal ran und probiere ein wenig aus :D

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

  • Das ist nett aber das brauchst du nicht, zwar ist die Idee so ganz schön aber auch daran habe ich bereits gesessen. Es bringt nichts wenn ich in ner kampange mods nutzen kann wenn ich keine Möglichkeit habe von der Kampange aus daten an den mod zu übermitteln (uhrzeit, zustand tag / nacht), diese möglichkeit gibt es nicht. Allerdings wollten sich die Entwickler äußern auf deren Antwort ich gerade warte. Mach dir keine Mühe, so gehts leider auch nicht vorran.


    Und ja ne Kampange ist im endeffekt savegame, info, script und das wars. Nur gibt es keinen weg irgendwie aus der Kampange hinaus etwas auf die Mod ebene zu übertragen..


    Edit: Das Problem also das Mission und Mod anders arbeiten. Ich kann aus einem Mod nicht auf Mission zugreifen und andersrum ebenso nicht, nur sind die codes die ich benötige um das umzusetzen teils in der Mission und teils in der Mod Engine, ein ewig nicht endener Kreis

    Einmal editiert, zuletzt von homieforever ()

  • Ok.
    Wenn ich das richtig verstanden habe ist das Problem für den Tag/Nacht Wechsel folgendes:
    Wenn du es als Mod bastelst, bekommst du das Spiel in den Nachtmodus, bekommst aber das onUpdate Event nicht mit.
    Wenn du im Szenario bist, kannst du zwar den Eventhandler für das Update Event erstellen, kommst aber nicht an die Config um die Helligkeit zu ändern?



    es gibt keine findbare Timeout funktion, die es ermöglichen würde eine funktion alle x sekunden auszuführen.

    Stimmt, sowas hat lua leider nicht... zumindest nicht direkt. Es gibt da ganz viele mehr oder weniger (meistens eher weniger) schöne Wege das hinzubekommen.
    Das Vorgehen ist dabei meistens:
    Einen weiteren Thread, in Lua heißen die Coroutine, starten, in diesem Thread in einer Endlosschleife etwas machen und diese nach jedem Durchlauf "warten" zu lassen, wobei genau hier das Problem liegt...
    Es gibt viele Möglichkeiten ein Lua Programm "warten" zu lassen und alle verwenden entweder nicht plattformunabhängige Systemaufrufe oder busy waiting oder irgendwelche libs, die auch wieder nicht Systemunabhängig funktionieren...

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

  • Noch eine erkenntniss soweit ich das sehe, man muss die brightness garnicht verändern es reicht wenn man die skybox dunkler macht. Außerdem hat die brightness keinen effekt wenn HDR aktiviert ist.


    Ich füge die tage nun noch neue Skyboxen hinzu dann werden wir mal sehen wie es nun im echten dunklen mit HDR aussieht (grad hdr ist ja das interessante, denn hier hat licht einen wirklichen strahl / leucht effekt).


    Ich hab mich nun etwas weiter im thema Modelle eingearbeitet um nach und nach einigen Objekten erst einmal licht zu verpassen, das werde ich vanilla so lösen:


    vanilla files mit dem mod lod balancing überschreiben, ich füge den Gebäuden so an sich erstmal gerade licht hinzu das geht relativ einfach, da aber soweit mir bekannt licht nicht hinter glas gerendet wird haben wir ein problem ^^ Ich würde halt auch gern gebäude innen beleuchtet sehen. Das lod balancing würde dann dafür sorgen das wenn der night mode aktiv ist (muss noch sehen wie ich das mache) die objekte licht haben. Ansich geht das ich kann über die mod lua auf die lods zugreifen und könnte dort soweit ich das sehe ich auch die einzelnen objekte sprich licht überschreiben. Beispielsweise wenn Night Mode nicht aktiv, alle lichter entfernen. Wenn Night Mode aktiv alle lichter vorhanden lassen und eben je nach objekt noch hinzufügen. Es wäre ja auch Modbar das ich per script Bahnhöfe mit licht erweiter. Jedenfalls sitz ich da mal etwas dran, gehen wird es. Nur eben kein dynamischer wechsel.. nur mod night mode hinzufügen und wieder entfernen je nach dem was man gerade im save haben möchte.


    und wenn das ganze eben ein Mod Modell ist mach ich die änderung im script.


    Und wie genau das dann verbunden wird weiß ich noch nicht genau.. jedenfalls werde ich sehen das ich die funktionen erweiter und das lod balancing gerade für night settings ausweite.. licht ist eine Interessante sache, interessant wäre auch ob jemand ne Laterne erstellen könnte nur ohne den bereich wo sonst glas und die lampe ist quasi nur stange und halterung der lampenfassung, dann könnte ich der laterne lichtobjekte verpassen, sicher nicht der schönste weg aber hey wir haben dann laternen die an sich leuchten grad in HDR.. ich muss mir nen neuen rechner kaufen ^^

    Einmal editiert, zuletzt von homieforever ()

  • Btw. noch eine weitere Erkenntnis zum Tag/Nacht Wechsel:
    Zumindest die brightness kann man nur beim initialisieren festlegen.
    Ich habe mir extra ne Lua lib kompiliert die "echte" threads bereitstellt und versucht den Wert laufend in der runFn zu Ändern.
    Das Ergebnis: Man kann den Wert lesen und auch fröhlich verändern aber es ändert bringt nichts. Der scheint beim Start des Spiels initialisiert zu werden und dann bist zum Ende des Spiels fest zu stehen.
    Vermutlich wird die engine mit der Config gefüttert, sobald die runFn durch ist.
    Wie das mit HDR ist weiß ich nicht.


    Aus dem Szenario Script heraus kommt man übrigens auch an diesen Wert ran verändern bringt aber auch dort nichts und die Dort bereitgestellte game Table scheint nur die "bekannten" Attribute aus der mod game Table zu übernehmen. Wenn man an die game Table vom Mod irgendwelche weiteren Attribute anhängt, werden die nicht mit rüber ins game Objekt vom Script kopiert.
    Eine Kommunikation zwischen den Beiden ist also höchstens über Umwege Möglich. Allerdings fällt mir jetzt auch kein Fall ein bei dem es sinnvoll wäre zwischen dem Script vom Mod und dem Szenario Script zu kommunizieren, denn selbst wenn wir bei einem bestimmten Event den brightnes Wert in der game.config vom mod ändern können, bringt es nichts.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

  • Hab da trotzdem eine Idee zwar wäre es nicht dynamisch aber man könnte sich das mit dem hdr zu nutze machen wenn ich ne skybox für Nacht hdr mache aber normal tga nicht àndere könnte der Nutzer selber zwischen tag und Nacht wechseln indem er zwischen hdr an und aus wechselt. Sollen wir das erstmal so machen und ausnutzen? Glaube das müsste gehen

  • der Wechsel von Tag zu Nacht erfolgt dann mit ein und ausschalten von hdr ( das findest oben rechts in den Einstellungen unter Video bzw Anzeige. Wenn hdr an ist, wird Nacht sein, wenn Hdr aus ist wird tag sein..


    Nur so Rum Machts auch Sinn da hdr erst Licht zum scheinen bringt

  • Ja keine sorge kenne das leider zu genùge^^


    Hab Antwort von UG erhalten: Laut Entwicklerteam ist das so wie wir es wollen nicht modbar. Allerdings besteht die Hoffnung das zu bekommen der supporter meinte er würde die Entwickler daran erinnern beim nächsten patch das jemand nen mod dazu machen will. Also Hoffnung bleibt...


    Somit ist die gefundene Alternative und Schendung von HDR Option beschlossen :D

BlueBrixx