Ampelscript und trafficLayerWindow

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


  • Hallo alle zusammen,


    gibt es irgendwo eine ausführliche Liste welche guiHandleEvent ID's bzw. api.gui.util.getById's möglich sind !?!


    Hauptsächlich geht es mir um das Ampel Straßen Werkzeug würde dort gerne Parameter hinzufügen so das man zwischen unterschiedlichen ampel.lua's wechseln kann.


    Im voraus wie immer ein herzliches Dankeschön8)

  • CommonAPI2 und dann in der UG Console:


    Komplette Übersicht:

    commonapi.ui.inspect(commonapi.ui._getRoot(), "dateiname.txt")


    oder


    commonapi.ui.inspect("ElementID", "dateiname.txt")


    Du erhält einen Dump mit der kompletten UI Struktur als Textdatei...

  • Danke eis_os ! Das hat mich schonmal ein Schritt weiter gebracht!


    Code
    local menu = api.gui.util.getById("menu.construction.road.upgrades"):getLayout()

    Ergebnis:


    So wie ich das gesehen habe kann ich nicht so weiteres nur die Einstellungen für das Ampel Tool ändern. Denke ich müsste wohl ein neuen Eintrag erstellen mit den gewünschten Parametern.


    Einfach wäre es gewesen wenn man "...road.upgrades.settings" angeben könnte leider geht das nicht.


    Wenn ich "menu.construction.road.settingsWindow" angebe werden die Parameter in den Einstellungen angezeigt, allerdings in allen Straßenmenü Konstruktionen.


    P.S.: Die einzige schlüssige Zuordnung zu "trafficLight" habe ich hier gefunden:


    Code
                                                                                                                                                                                typ = sol.UI::ImageView*, ptr = userdata: 0000023F8FC0C788, id = "menu.construction.road.upgrades.item.trafficLight_1950", name = "ImageView", layout = <nil>
    ------
    typ = sol.UI::ImageView*, ptr = userdata: 0000023F8FC0D748, id = "menu.construction.road.upgrades.item.trafficLight_1950", name = "ImageView", layout = <nil>

    unter "ConstructionList", "List", "List::Content","List::ListContent als layout und content

  • Vielleicht das Tab "Werkzeuge" suchen, click event drüberlegen und dann die UI ändern.

    -edit-

    Bzw. auf ein Klick bei "menu.construction.road.upgrades.item.trafficLight_1950" warten...

    -/edit-

    Ich muss auch für die CommonAPI2 auch so Verrenkungen machen und herauszufinden welche Linie überhaupt ausgewählt wurde.


    Was mich jetzt doch interessiert, was willst du da denn Einbauen? Eine UI zu haben ist ja das eine, das dann gescheit zu nutzen ist ja noch ne andere Sache...

  • Ich will einfach das über die Ampel Tool Einstellungen verschiedene traffic_light.lua's angewählt werden. Wenn das überhaupt gehen soll. Die Frage ist ob es dort irgendwo hardcoded schon ausgewählt wird oder erst wenn man den Ampel layer an der Kreuzung klickt.

  • Hallo erstmal und ein frohes neues Jahr 2022!


    Ich habe jetzt ein anderen Lösungsansatz erarbeitet, was schon deutlich vielversprechender ausschaut.


    Das dazugehörige Script:


    In diesem Fall ist source == "streetBuilder" nicht richtig aber versuche mit unterschiedlichen Button Componenten und "button.onClick" sind fehlgeschlagen.


    Edit: guiHandleEvent ist jetzt schonmal richtig !!


    Meine eigentliche Frage ist ob ich je nach ausgewähltem "ToggleButton" eine Variable z.B. lightType == 1 für useStandard in die res/config/traffic_light/traffic_light_c.lua senden kann und wie das aussehen müsste. Oder muß ich das Ampelscript mit in das game_script integrieren was ich stark vermute !?!


    Vielleicht kann mir da ja eis_os nochmal helfen:saint:


    Bis dahin alles Gute


    Euer majuen

    Viel am Modden deswegen zwischendurch mal ein Mitfahrvideo !!


    Besucht mich auf meinem YouTube-Kanal : http://www.youtube.com/c/majuen

    2 Mal editiert, zuletzt von majuen () aus folgendem Grund: guiHandleEvent korrigiert

  • majuen

    Hat den Titel des Themas von „guiHandleEvent Id's und api.gui.util.getById's“ zu „Ampelscript und trafficLayerWindow“ geändert.
  • Also mir wäre da keine Möglichkeit bekannt mehr Daten zu liefern zu dem Script*. Ich habe mir mittlerweile viele TPF2 Teile angesehen.

    Bei vielen Sachen liegt es halt am Unwillen von Urban Games. Es wäre auch schön extra ModDaten an ein Entity zu binden. Ich stoße da auf Taube Ohren und habe meine Bemühungen mittlerweile halt eingestellt. Die beste Lösung ist immer Urban Games direkt zu nerven. Schreibt Mails damit es sich beim Dino stapelt.


    * Ich habe die Code stelle wo TPF2 das Script aufruft, da was dran von Außen zu verändern ist sehr schwierig.

    Da die Daten zwischen Threads repliziert werden ICompVec Kopien, kann ich auch gar nicht mehr irgendwo an ein Entity anbauen. Beim nächsten Daten kopieren (Sync zwischen Threads) sind Zusatzdaten einfach weg.

BlueBrixx