[FS19 - GE-Script] Fielddimensions per Bitmap

  • Hallo zusammen,


    manche unter euch kennen bestimmt das Problem bei sehr unförmige Felder. Das Feld mit Rechtecken für Missionen abstecken, dauert ewig. Im LS15 hatte Marhu damals ein GE Script veröffentlicht, mit dem man Splines um das Feld legen kann und daraus wurden dann die Corners erstellt.


    Nun kommt ein ähnliches Script, jedoch muss man nun im GE eine Bitmask malen. Wie das geht wird hier Schritt für Schritt erklärt.


    1. Map vorbereiten


    Nach dem Öffnen der map.i3d in einem Texteditor (Notepadd++ o.ä.) sucht Ihr nach

    Code
    1. InfoLayer name="farmland"

    Die komplette Zeile kopieren und drunter einfügen und den Namen zu

    Code
    1. fieldDimensions

    ändern.


    Die fileId auf einen Wert anpassen, den es definitiv nicht gibt. So sieht dann die komplette Zeile aus:

    Code
    1. <InfoLayer name="fieldDimensions" fileId="204000000" numChannels="8"/>


    Fügt dann bei den files oben folgendes hinzu:

    Code
    1. <File fileId="204000000" filename="map/fieldDimensions.png"/>


    Nun kann die Datei gespeichert und geschlossen werden.


    Ladet euch diese Datei herunter und schiebt sie in den "map" Ordner (Pfade können natürlich nach belieben angepasst werden):

    fieldDimensions.grle


    2. Fields malen


    Als nächsten Schritt kann die Map im Giants Editor geöffnet werden.


    pasted-from-clipboard.png



    Es handelt sich um ein Infolayer, befindet sich also am gleichen Platz wie die farmlands. Gemalt können jetzt 254 Felder. Gestartet werden muss beim Wert 1. Der Wert ist zeitgleich die Feldnummer.


    Nachdem alles angemalt wurde, muss die i3d gespeichert werden. Beachtet bitte, dass IMMER erste gespeichert werden muss, bevor das Script ausgeführt werden kann!


    3. Script ausführen


    Bindet folgendes Script in den Giants Editor ein:

    FieldDimensions.lua


    Wählt nun im Scenegraph die Transformgroup "fields" aus. Es ist die richtige TG, wenn es bei den User-Attributes so aussieht:

    pasted-from-clipboard.png



    Bevor das Script ausgeführt werden kann, müssen im Script selbst noch Einstellungen vorgenommen werden. Dazu muss das Script im Scriptwindow geöffnet werden.


    In Zeile 8 mussder Pfad zur GRLE-Datei angegeben werden. ( '/' statt '\' verwenden!)

    In Zeile 10 kannder Bitwert verändert werden. Dieser ist identisch mit dem Wert, was in der i3d im ersten Schritt definiert worden ist. Diesen Wert am Besten so lassen.

    In Zeile 12 wird angegeben, wie Größe angegeben.

    In Zeile 14 kann zudem ein Faktor definiert werden.


    In den Zeile drunter stehen einige Einstellungen, auch für 4-fach Maps.


    Versichert euch, dass noch die TG im Scenegraph ausgewählt ist und führt dann das Script aus.


    4. Bug von Giants beheben


    Als letzten Schritt müsst ihr noch ein Bug von Giants beheben. Dieser verhindert leider, dass Werte in UserAttributes gesetzt werden können.


    Dazu exportiert Ihr die TG "fields" in eine .i3d. Diese mit einem Texteditor öffnen.


    Dort könnt Ihr die Suchen+Ersetzen Funktion benützen.


    Ersetzt

    Code
    1. <Attribute name="nameIndicatorIndex" type="integer" value="0"/>

    mit

    Code
    1. <Attribute name="nameIndicatorIndex" type="integer" value="1"/>


    Mit dem gleichen Verfahren kann auch der fieldAngle angepasst werden, falls gewünscht.


    Speichert die Datei und importiert diese i3d wieder in die Map und ersetzt es mit der alten TG.



    Evtl. muss als letztes dann noch Felder zu Grassfelder gemacht werden. Aber das ist das gleiche Prinzip, wie immer.




    Es werden viele Corners erstellt, aber momentan konnten noch keine Performanceproblem erkannt werden. Testet aber selber bei euch!


    Wir wünschen euch viel Spaß damit!

    MFG


    kevink98


    Kein Support per PN! Bitte das Forum benützen.

  • Mensch, immer kommst du mit so sachen wenn man damit fertig ist kevink98


    Top wie immer ;)

    Wer andere kennt, ist klug. Wer sich selber kennt, ist weise. Wer andere besiegt, hat Kraft. Wer sich selber besiegt, ist stark. Wer sich durchsetzt, hat Willen. Wer sich selber genügt, ist reich. Wer seinen Platz nicht verliert, hat Dauer. Wer auch im Tode nicht untergeht, der lebt.

  • Unter Appdata/local/GiantsEditorxx/scripts da gehört das script rein, dann den GE öffnen und tada, drin!

    Wer andere kennt, ist klug. Wer sich selber kennt, ist weise. Wer andere besiegt, hat Kraft. Wer sich selber besiegt, ist stark. Wer sich durchsetzt, hat Willen. Wer sich selber genügt, ist reich. Wer seinen Platz nicht verliert, hat Dauer. Wer auch im Tode nicht untergeht, der lebt.

  • Eine Frage bleibt für mich, was passiert wenn man felder nah bei einander hat und die gemalten kästchen von feld 1 an die kästchen von feld 2 stoßen :/

    Wer andere kennt, ist klug. Wer sich selber kennt, ist weise. Wer andere besiegt, hat Kraft. Wer sich selber besiegt, ist stark. Wer sich durchsetzt, hat Willen. Wer sich selber genügt, ist reich. Wer seinen Platz nicht verliert, hat Dauer. Wer auch im Tode nicht untergeht, der lebt.

  • so habs jetzt mal intensiv getestet, bei mir gehts nicht, er wirft die Corner ausserhalb der map hin. Warum weiß ich nicht

    Wer andere kennt, ist klug. Wer sich selber kennt, ist weise. Wer andere besiegt, hat Kraft. Wer sich selber besiegt, ist stark. Wer sich durchsetzt, hat Willen. Wer sich selber genügt, ist reich. Wer seinen Platz nicht verliert, hat Dauer. Wer auch im Tode nicht untergeht, der lebt.