Frage an die Mod-Programmierer, Transparent....

  • Hallo zusammen, bei einigen Tests im Asset-Editor kam mir gerade eine echt Irre frage auf.


    Warum sind die folgenden Programm-Zeilen bisher noch nicht als Mod für denn Asset-Editor umgesetzt worden ???


    Dabei sind es in wirklichkeit ja gerade mal 4 Zeilen, die Mod muss ja nur unterscheiden was gerade gemacht wird, ein Gebäude oder ein Prop.


    Die erste Zeile beginnt ja mit var shader, hier wird ja nach dem Rotor-Shader gesucht, was die Funktion Shader.Find halt macht, dies gibt es ja quasi erst seit dem "Natural-Desaster" DLC, denn was ist wohl der Rotor-Shader, der Shader ist zuständig für die Transparenz der Rotorblätter bei den Helikoptern.


    Denke mal die Mod kann nicht sehr Aufwendig sein, es müsste ja einfach nur ein Text-Button im Asset-Editor zu sehen sein.


    Klickt man darauf, dann wird die Transparenz aktiviert und der Button bläulich, klickt man wieder darauf, wird die Transparenz deaktiviert (sofern es überhaupt geht) aber denke schon das dies möglich ist.


    Denn der Shader für die Transparenz wird ja in der IF-Abfrage zugewiesen.


    IF (asset.m_material != null) fragt nach ob das Objekt ein Material hat, denn "!=" bedeutet ungleich und das Wort "Null" halt den Wert 0


    Das gleiche gilt für die Zeile darunter, hier wird nur das Material des LOD-Objekts abgefragt und gegebenenfalls gesetzt.


    Also müssen beide IF-Abfragen erweitert werden in etwa folgenden Befehl.

    So von der Theorie her sollte mein Beispiels-Script funktionieren, ich kenne mich nicht in C# so aus, aber im großen und ganzen ähneln sich ja die Programmiersprachen alle irgendwie.


    Wenn man nun den besagten Button


    Wird erstmal geprüft ob die Transparez schon aktiviert ist, da aber die Variable temp1 auf 0 steht, wird dann der passende Programm Code dafür ausgeführt, erst wird überprüft ob das Material über einen Shader verfügt, wenn ja, wird zuerst in Temp1 der aktuelle Shader gespeichert, dann erfolgt die Abfrage ob das LOD-Material auch einen Shader besitzt, wenn ja, dann wirdin Temp2 der aktuelle Shader des LOD-Materials gespeichert.


    Nun wird der Shader durch den Rotor-Shader ersetzt. und am ende der Status des Button auf bläulich umgestellt, die Transparenz ist nun aktiviert.


    Drückt man nun ein weiteres mal den Button, dann wird erst geprüft ob Temp1 = 0 ist, da die Transparenz aber aktuell aktiv ist, wird der Programm-Teil übersprungen und der Teil nach ELSE abgearbeitet.


    Hier wird direkt der zuvor gespeicherte Shader wieder als aktueller Shader gesetzt, eine Überprüfung ist hier nicht nötig, da temp1 ja nur gesetz wird, wenn das Material schon einen Shader zuvor hatte.


    Mit der Abfrage ob Temp2 ungleich 0 ist, wird sichergestellt das der Shader nur zurück gesetzt wird, wenn ein Shader zuvor gespeichert worden ist.


    Am Ende werden beide Variablen wieder auf 0 gesetzt und der Status des Button von Bläulich zu Grau gewechselt.


    Wie gesagt, ich denke so eine Mod ist bestimmt möglich, oder gibt es da eine Einschränkung das dies nur über diesen Weg möglich ist.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
    • Offizieller Beitrag

    Hi Samson1971 ,


    keine Ahnung, ob das so funktioniert, aber probier es doch "einfach" aus. ^^ Irgendwie sollte es auf jeden Fall klappen.

    boformer hat in letzter Zeit einige kleine Tutorials zum Thema Modding auf http://community.simtropolis.c…ng-tutorials-information/ veröffentlicht. (zweiter Abschnitt - "Modding") Da werden die grundlegenden Sachen erklärt und evtl. kannst Du dich damit ein wenig in das Thema reinfuchsen.


    Acc3ss Violation z.B. hat ja schon so einige Funktionen in seinen 'Extended Asset Editor 0.4.5' implementiert, die allerdings bis jetzt nur für Fahrzeuge interessant sind. Aber vllt. wird dieses Paket noch um weitere Funktionen für andere Arten von Assets ergänzt:

    Adds some stuff to the asset editor for dealing with vehicles. (And perhaps more asset types in the future)

    Wäre auf jeden Fall wünschenswert, weil viele Sachen einfach viel zu umständlich sind (Scripte, Werte mit Hex-Editor bearbeiten, usw.) :fie:


    Gruß, Gun155