Skriptprobleme am MAN Lion's City/G/GL

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
Ein communitybetriebenes Nachfolge-Forum wird hier verlinkt, sobald es gegründet und bereit ist.
  • Hallo zusammen,


    bei meinem Projekt Mainz bin ich an einer Stelle gelandet, an der ich mit den SD/GN-Skripts und meinen sehr beschränkten Fahigkeiten, sie zu ändern, nicht mehr weiterkomme.


    Zum einen geht es um ein Detail an der I.Box. Im IBIS2-Skript würde ich gerne einen neuen String erzeugen, der dauerhaft Datum und Zeit zur Anzeige auf einem Textfeld ausgibt, und zwar zweizeilig in der Form


    14:17:35
    23.11.2009


    Ich habe es mal probiert, heraus kam folgender Skriptauschnitt, vllt, ist der ja zumindest in Teilen nicht völlig falsch.

    ^^

    Wie genau bekomme ich es nun hin, dass alles auf einem Textfeld angezeigt wird? ("IBIS_Date_Time" steht schon in der stringvarlist.)


    Als Zweites würde ich gerne Kilometerstand, Tankstand, Fahrzeugdruck und Temperatur als Integerwert ausgegeben bekommen, um sie ebenfalls über Textfelder einzubinden.


    Danke schon im Voraus für Unterstützung!

    Mainzigartig mobil

    Einmal editiert, zuletzt von O 405 ()

  • Guten Abend,


    na, für "sehr beschränkte Fähigkeiten" sieht das doch ganz brauchbar aus!


    Das einzige, was mir auffällt, ist, dass du in der Vorlage zuerst die Uhrzeit, noch dazu mit Sekundenangabe angibst, danach aber im Script die Sekunden weglässt und zusätzlich erst das Datum und dann die Uhrzeit ausgibst.


    Das einzige, was ich nicht verstehe ist, warum du am Anfang irgendeinen String von links auf 10 Stellen justierst und im {else}-Abschnitt den Leerstring irgendwo hinzufügst.
    Ansonsten wäre es interessant zu wissen, was nicht funktioniert. Zudem fällt mir auf, dass sich im Code ein {else} und {endif} befinden, aber weder eine Bedingung noch ein {if} vorhanden ist. Ich vermute aber, dass du (L.L.elec_busbar_main) abfragst.


    Meine persönliche Meinung ist übrigens, dass Script-Code im Scripting-Abschnitt des Forums nicht in einen Spoiler sondern in einen Code-Tag gehören.


    Schönen Abend noch,


    Busfanat

    "per Anhalter durch die Galaxis" und OMSI haben etwas gemeinsam!
    Es gibt eine Antwort auf alle Fragen.
    Bei "per Anhalter durch die Galaxis" ist es die 42,
    bei OMSI ist es das OMSI-Wiki!

  • na, für "sehr beschränkte Fähigkeiten" sieht das doch ganz brauchbar aus!


    Es ist in erster Linie parallel zum string konstruiert, der schon im IBIS-2-Skript drin ist, aber im IBIS-Mode-Kreislauf hängt.

    ;)



    Zitat

    Das einzige, was ich nicht verstehe ist, warum du am Anfang irgendeinen
    String von links auf 10 Stellen justierst und im {else}-Abschnitt den
    Leerstring irgendwo hinzufügst.

    Tja, das ist eine gute Frage, siehe oben.

    :S


    Ich habe "IBIS_Date_Time" dann zu einem Textfeld in der model.cfg gemacht und eine Textur zugeordnet, auf der das normale IBIS-2 korrekt dargestellt wird. Zumindest dieses bleibt leer.

    Mainzigartig mobil

    Einmal editiert, zuletzt von O 405 ()

  • Guten Abend,


    probier's mal so:



    Is jetzt rein ausm Kopf gemacht und ungetestet. Dürfte aber nicht weit fehlen.


    Schönen Abend noch,


    Busfanat

    "per Anhalter durch die Galaxis" und OMSI haben etwas gemeinsam!
    Es gibt eine Antwort auf alle Fragen.
    Bei "per Anhalter durch die Galaxis" ist es die 42,
    bei OMSI ist es das OMSI-Wiki!

  • Hallo zusammen,


    nachdem ich die Steuerung der Farbdarstellung der Verspätung über das IBIS-Skript hinbekommen habe, sitze ich nun daran, dass bei offenen Türen Linie und Ziel angezeigt werden.
    Soweit klappt das jetzt auch:


    Ich würde nun aber gerne noch bei zwei- bzw. einstelligen Liniennummern die Nullen davor wegbekommen. Wie könnte ich das hinbekommen?


  • Wenn du es auf dem IBIS SCript von MR aufgebaut hast müsste folgende Scriptzeile funktioneren:


    Anstelle von:

    Code
    1. (L.$.IBIS_Complex_Line) $RemoveSpaces


    Code
    1. (L.L.IBIS_LinieKurs) $IntToStr 2 $cutEnd


    MfG Cedric



    Nachtrag: Was mir gerade noch einfällt: Verwendet der Wagen die Busfanat-Vollmatrix?
    Wenn ja könntest du auch einfach:

    Code
    1. (L.$.Matrix_Liniennummerstring)


    So habe ich es zumindest in meinem NG313 gemacht, bringt den Vorteil das Sachen wie das E in der Liniennummer gleich mit angezeigt werden.

    Achtung! Ausstieg auf der Fahrbahn!

  • Darf ich oben genannte Frage nochmal aufwerfen?

    :S

    Als Zweites würde ich gerne Kilometerstand, Tankstand, Fahrzeugdruck und Temperatur als Integerwert ausgegeben bekommen, um sie ebenfalls über Textfelder einzubinden.

    Ich habe mal folgendes probiert:


    Ist das Käse oder kann das sein? Ich bekomme zumindest im logfile nur einen Fehler in Zeile xy der model.cfg angezeigt...


  • Du hast versucht einen Zahlvariable in ein Textfeld zu schreiben. Das geht nicht, es muss immer eine Stringvariable sein.
    (L.L.kmcounter_km) braucht man übrigens nicht abrunden, lt. OMSI-Wiki sind das immer nur ganze Kilometer.
    In Zeile 7 war ein Fehler: Du hast versucht eine String-Operation mit einer Zahlvariable durchzuführen. Vorher muss das ganze in einen String konvertiert werden. (Mault OMSI einen bei sowas garnicht an?)
    Alles nur so als kleine Tipps.

    ;)


    Ist jetzt alles ungetestet, aber das sollte eig gehen.
    Grad nochmal schnell getestet: Läuft.

  • N'Abend zusammen,


    ich wäre dann nochmal auf Eure Hilfe angewiesen.

    :)


    Meine Frage wäre, ob jemand Erfahrung damit hat, einem Kippschalter zwei Funktionen je nach Kipprichtung zuzuweisen. In den Standardfahrzeugen habe ich bisher leider keine verwendbare Funktion gefunden. Soweit ich das am Bespiel des Blinkerhebels verstanden habe müsste sowas aber gescriptet werden, damit über ein [mouseevent] zwei Funktionen bedient werden können?


    Konkret geht es um folgenden Schalter. Prinzipiell wäre es noch nur nötig, die Möglichkeit, dass Sonnenrollo per Maus herunterzuziehen und über den "Bommel" wieder zu lösen auf den gemeinsamen Schalter bzw. dessen Kipprichtung zu übertragen?



    Grüße aus Aachen
    O 405

  • Den Taster mussst du auf jeden Fall in 2 o3d's aufteilen, um 2 versch. Mouseevents auslösen zu können.
    Dann für die untere Tasterhälfte eine Animationsvariable und für die obere.
    Dabei reicht es, wenn du eine Tasterhälfte mit [newanim]-Befehlen ausstattest & diese mit [meshident] ausstattest & die andere tasterhälfte mit [animparent] einfach anhängst. (Spart ein paar Zeilen)

    Achtung! Ausstieg auf der Fahrbahn!

  • Ist schön einfach und klappt wunderbar, danke dafür!

    :)


    Jetzt besteht nur noch folgendes Problem: Der Kippschalter verhält sich durch die Zuweisung der entsprechenden Funktion natürlich genau so wie das Rollo, d.h. man muss den Schlalter gedrückt halten und ziehen, damit sich das Rollo bewegt. Dementsprechend rotiert der Schalter auch langsam und verbeibt in der Position, in die er gezogen wurde.
    Die "Gegenrichtung" klappt natürlich schon richtig, da es hier ja standardmäßig nach dem Prinzip "Schalter drücken/Bommel ziehen -> Rollo bewegt sich aufwärts" funktioniert. An dieser Stelle sollte nur die Bewegungsgeschwindigkeit konstant und etwas geringer sein.


    Danke schon im Voraus für die Unterstützung.

  • Probiere mal folgendes:



    cp_rollo_down & cp_rollo_up wären damit die beiden Animationsvariablen welche in der model.cfg kommen.
    cp_rollo_pos ist logischerweise die aktuelle Position des Rollos.
    Die Werte in Zeile 2&11 musst du wahrscheinlich anpassen für die richtige Geschwindigkeit und evt das Vorzeichen wechseln, falls die Knöpfe die jeweils umgekehrte Funktion haben. (Ich weiß ja nicht wie rum deine Animationsachse verläuft

    :)

    )


    Mal wieder rein aus'm Kopf, sollte aber funktionieren.

    Achtung! Ausstieg auf der Fahrbahn!

  • Sehe ich es richtig, dass ich nur den Folgendes durch den Code oben ersetzen soll?



    Entsprechend werden natürlich auch die zugehörige varlist sowie die Variablen in der Modell-Datei angepasst.


    Aber was passiert mit folgendem Ausschnitt?



    Der beschert mir gerade noch reichlich Fehlermeldungen, sofern ich vorher überhaupt alles richtig gemacht haben sollte.


    P.S.: Nur als kleine Zusatzinfo die bisherigen Einträge in der Model.cfg

    Mainzigartig mobil

    Einmal editiert, zuletzt von O 405 ()

  • Ich lehn mich einfach mal aus dem Fenster und sage zur 1. Frage ja. (Sollte aber eig. gehen)


    Der Abschnitt {macro:rollo_frame} ist soweit ich das sehen kann nur für das zurücklaufen per Bommel zuständig, da das ja seperat sein muss beim manuellen Rollo. (Das manuelle Rollo fällt wieder runter wenn man es direkt am Rollo hochschiebt)


    Das ganze habe ich dann gleich dahingehend abgeändert, dass die untere Schalterhälfte Animationsmäßig alles vin der oberen mitmacht.
    model.cfg würde ich so machen:



    MfG Cedric

    Achtung! Ausstieg auf der Fahrbahn!

  • N'Abend,


    das Fahrzeug läd jetzt wieder fehlerfrei, man sollte natürlich bei veränderten Variablen auch die zugehörigen Sound-Trigger anpassen.

    :pinch:


    Ob die Animation auch funktioniert kann ich sagen, sobald ich das Rollo wiedergefunden habe.

    ?(

    Es scheint irgendwo in der Walachei zu verschwinden, sobald ich die Animation in der Model.cfg eintrage, falls es überhaupt noch da ist. Im Logfile steht zumindest nichts dazu. Das Rollo wird normal angezeigt, wenn nur die o3d ohne Animation in der Modelldatei steht. Ich gebe Bescheid, sobald ein Fahndungserfolg zu vermelden ist.

    :D


    Ergänzung:
    Ich hatte es auch mal testweise anhand eines anderen Objektes versucht (z.B. einer Dachluke), diese war mit dem Animationseintrag ebenfalls "unbekannt verzogen".

    Mainzigartig mobil

    Einmal editiert, zuletzt von O 405 ()