Beiträge von jjb

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!

    Hier ein kleiner Einblick in den Entwicklungsfortschritt


    OMSI Script Debugger

    Script-Schlüsselwörter

    Entry-/Exitpoints, Trigger, Macros

    Stack-Operationen

    Logische Operationen

    Vergleichsoperationen

    Mathematische Operationen

    String-Operationen

    Variablenzugriff

    System-Makros

    Bedingungen und Schleifen

    Konstanten und Funktionen

    Simulationsmodus:

    Sound-Trigger

    Systemvariablen


    OMSI Script Console

    OMSI Script Console - Beitrag


    OMSI Script Creator 0/0 0 %

    - noch keine Features umgesetzt -


    Legende

    fertig (größtenteils Fehlerlos) (4)

    fast fertig (Fehlerbehebung folgt) (3)

    einfache Features fertig (2)

    in Arbeit (1)

    unfertig (0)

    Erweiterung des Script-Debuggers

    • Nun kann das Programm auch Stringvariablen einlesen, zusammenfügen und vergleichen:
    Code: testscript-string.osc
    {frame}
        "Tutti " "Frutti" $+ (S.$.Var1)
        1 2 + (S.L.Var1)
        (L.L.Var1)
        "Tutti Frutti" (L.$.Var1) $=
        {if}
            %stackdump%
        {endif}
    {end}

    Da "Tutti " "Frutti" zusammen gleich "Tutti Frutti" ist, erscheint das Stackdump-Fenster:

    (Stackdump-Fenster zeigt den Floatstack an:

    - 1, 2 von 1 2 +

    - 3 ist davon die Summe

    - 3 wurde durch (L.L.Var1) geladen

    - 1, also TRUE, ist das Ergebnis des Vergleiches =)


    • Falls die Stringvariable nicht gesetzt wird, ...
    Code: testscript-string2.osc
    {frame}
        "Tutti Frutti" (L.$.Var1) $=
        {if}
            %stackdump%
        {endif}
    {end}

    ... erscheint das Variablen-Fenster, welches ich heute auch verbessert habe:

    Gebe ich nicht 'Tutti Frutti' ein, öffnet sich auch nicht das Stackdump-Fenster.

    • Auch habe ich ein wenig an den Systemvariablen gearbeitet:

    • Außerdem habe ich das Programm gelehrt, Registerwerte zu speichern und einzulesen:
    Code: registertest.osc
    {frame}
        10 s0 s1
        l0 l1 =
        {if}
            %stackdump%
        {endif}
    {end}

    Hier ist l0 l1 = 1, also richtig und das Stackdump-Fenster öffnet sich.

    • Was wäre euch persönlich als eins der ersten Features wichtig?

    Scripts können nun ausgeführt werden!

    Man nehme ein einfaches (und in diesem Fall sinnloses) Script:

    Und führe es aus. Da die Variable 'Wetter' nicht gesetzt wurde, erscheint das Variablenfenster:

    Und da der Endpoint auskommentiert wurde:

    Und nun die Variablen nach der Ausführung:

    ('Wetter' ist 1, 'Regentropfen' wurde deshalb nicht gesetzt)

    ('Wetter' ist 2, 'Regentropfen' ist deshalb 1)


    Na, was haltet ihr davon? Das hat mich eine Woche Vorplanung gekostet und 2,3 Std. Entwicklung ...

    Der Parser funktioniert nun!

    Aus dem:

    Code
    {init}
        1 (S.L.verschiebung)
    {end}
    
    {frame} 
        (L.L.verschiebung) (L.S.Timegap) 0.35 * - (S.L.verschiebung) 0 <
        {if}
            (L.L.verschiebung) 1 + (S.L.verschiebung)
        {endif}
    {end}

    Wird das:

    ... somit kann jede Anweisung nacheinander ausgeführt werden. Jetzt fehlt (nur) noch das Ausführen von einfachen Scripts, damit der Script-Debugger für die einfachen Scripts fertig ist.

    Mir ist dieses Problem bekannt und langsam bringe ich PowerShell an seine Grenzen, vor allem wenn es sich um 3D handelt: Deshalb bin ich gerade am Lernen von C#, aber ich bin noch nicht so weit, um schnell ein komplexes Programm, wie dieses mit C# zu entwickeln.

    Vielen Dank für euer Interesse!

    Es wäre durchaus sinnvoll, wenn du deine Programme so entwickelst, dass diese nicht als Virus erkannt werden. Das ist einfach nicht sauber programmiert und auch kein guter Stil.

    Die Programme sind "sauber" programmiert, aber durch einige Hacker, die versucht haben, mit dem Compiler, den ich benutze, bösartige Programme zu schreiben, werden meine Programme nicht als sicher angesehen. Meinerseits kann ich da leider nichts tun ...

    Zum neuesten Beitrag springen (13.10.2023)
    Various OMSI Tools



    Hallo,

    ich wollte Euch mein geplantes Programm, noch in der Alpha-Phase, vorstellen, den OMSI Script Creator:


    Features:

    • Script-Generator: Generiere Dein Script durch einfaches Drücken von Buttons
    • Script-Debugger: Finde alle Fehler, ohne das Starten von OMSI
    • Script-Konsole: Probiere verschiedene Befehle aus und beobachte, wie sich Stacks und Variablen verändern

    • Wie findet Ihr das Programm und findet Ihr es hilfreich?
    • Welche Ideen habt ihr? Könnte man etwas verbessern?

    Ich freue mich auf Eure Beiträge!

    Kurze Anleitung zum Erstellen von Modes für den OMSI Font Generator

    • Lege eine einfache Textdatei (im Notepad/Editor) an und speichere sie unter dem Pfad: %userprofile%/documents/OMSI Font Generator/configurations/. Der Dateiname kann frei gewählt werden - er ist der Anzeigename dieses Modes. Die Dateiendung sollte jedoch .ofgmode lauten, jedoch nicht .org.ofgmode lauten!

    • Kopiere den folgenden Code in die Datei:
    Code: mymodename.ofgmode
    #mode file for ofg, '#' indicates a comment, set each key = value
    #mymodename
    ocontrols = 82FFFC
    obuttonback = 8447FF
    obuttonfore = 84BDFF
    gbuttonback = 84BDFF
    gbuttonfore = 8447FF
    form = 4800FF 
    linklabel = FFFFFF


    • Setze jeden Farbwert nach diesem Muster: key = value, nicht key=value. Zum Herausfinden des Wertes kannst du die Website HTML Color Codes - Color Picker benutzen. Du wählst eine Farbe und kopierst den 6-stelligen Farbcode: bspw.: FFFFFF für weiß und 000000 für schwarz.


    • Wichtig ist:
      • Jede 'fehlerhafte Zeile' muss auskommentiert werden; bei dem kleinsten Fehler wird der gesamte Mode nicht geladen. Das Gleiche gilt, wenn nicht alle Keys bestimmt werden, fehlt beispielsweise ocontrols wird der Standard-Light-Mode benutzt.
    • Speichere den Mode ab und wähle ihn in den Einstellungen. Um die Änderungen sichtbar zu machen, starte das Programm erneut.



    • Hier stelle ich euch den Darkmode zum Nachvollziehen zur Verfügung. Um ihn zu installieren, muss die entpackte Datei in den Ordner %userprofile%/documents/OMSI Font Generator/configurations/ verschoben werden. Download: darkmode - ofg_assets.zip.
    • Ich freue mich auf eure Modes und die Besten, können, wenn ihr es wollt, zu offiziellen Modes gemacht werden!

    Update fast fertig und neues Theme

    • es wird mit der Zeit viele offizielle Themes geben, neben dem Dark-Mode, auch den OMSI2-Mode:


    Ich freue mich auf eure Themes und die Besten, können, wenn ihr es wollt, zu offiziellen Themen gemacht werden!

    Zwar gibt es kein Update dieses Wochenende …

    … aber eine Ankündigung einer neuen Funktion:

    Jeder kann sein Theme für das Programm erstellen.



    Wie das funktionieren wird: einfach eine Textdatei anlegen, mit der Endung *.ofgmode und diese einige Farben definieren:

    Release und Update-Ankündigung

    • Download: OMSI Font Generator
    • Demnächst gibt es ein kleines Update mit einem coolen Vorschaufeature für den OFG:


    (So wird der Font dann im Hauptspiel aussehen.)

    • Außerdem wird euch ein überarbeitetes GUI antreffen.


    Vorschläge, Ideen, Probleme?

    Ich freue mich auf eure Beiträge!


    OMSI Font Generator:

    Nach einer kurzen Pause geht es nun weiter mit dem OMSI Font Generator:

    Jetzt muss man die Buchstaben nicht mehr selber auswählen. Das Programm erstellt euch eine Bitmap mit allen Zeichen eurer Wahl!


    Wie findet ihr das neue Programm und wie findet Ihr den OMSI Font Creator?