Das neue farmlands.xml System

  • Moin Moin,

    liebe Community und (Gelegenheits-)Mapper.


    Ich wollte mich mal an einem kleineren Tutorial bezüglich der neuen farmlands-Funktion versuchen.


    Was ist neu?


    Wenn man sich eine der mitgelieferten Maps im Giants Editor öffnet, fällt sofort auf, dass die FieldBuyTrigger entfallen.

    Der Rest bleibt. Man muss also immernoch die FieldDimensions und den FieldMapIndicator platzieren.

    fieldsf8eto.png


    Wie komme ich dann dazu, dass die Felder kaufbar werden?


    Wenn man weiß wie, ganz einfach!

    Es läuft alles über den InfoLayer "farmland" ab.


    Man wählt also zuerst die DropDown-Box im Reiter InfoLayer aus.

    Klickt dann auf die Option farmland.

    farmlandsanwahlrmeo8.png



    Und dann?


    Hat man alles richtig angeklickt, verdunkelt sich das Hauptfenster des GE wie beim TipCollision oder beim NavMesh pinseln.


    Nun pinselt man genau wie man es von den NavMeshes oder TipCollis gewohnt ist die farmlands mit den passenden Bits auf die Karte.


    Alles schön und gut, aber wie weiß ich, welche Bits zu welcher ID gehören??


    Die ganze Rechnerei basiert auf dem Binärsystem. Weil ich aber selbst faul bin und ungern mehr als nötig rechne:

    Eine Auflistung der Bits (im GE sind es die Info Channels) und ihrer zugehörigen ID's findet sich hier.

    Alternativ benutzt man den Taschenrechner des OS. Wenn man diesen auf Programmierer umstellt (alternativ ALT+3 gleichzeitig drücken), kann man zwischen Dez(imal) und Bin(är) umschalten. Beim Taschenrechner gilt aber zu beachten, dass man die Häkchen in umgekehrter Reihenfolge zu setzen hat und grundsätzlich von 6 Bits ausgehen muss!


    Nun kann man die Haken bei den InfoChannels setzen.

    bitsauswahludcuf.png


    Der Channel 0 entspricht der 1 im Binärsystem.

    Channel 1 ist die 2.

    Channel 2 ist 4.

    Channel 3 ist 8

    Channel 4 ist 16.

    Channel 5 ist 32



    Will ich also beispielsweise Region 47 auf die Karte zeichnen, muss ich die Channels(Bits) 0, 1, 2, 3 und 5 mit einem Haken versehen.

    Die Rechnung ergibt sich dann wie folgt:


    1 + 2 + 4 + 8 + 32



    Sobald man fertig ist, speichern, damit die wichtige Datei mapXX_farmland.grle im Verzeichnis der Map aktualisiert wird.


    Wie? Das wars? Das ist wirklich alles??


    Nicht ganz. Danach begibt man sich im Verzeichnis maps der Map und schaut dort nach einer Datei mit Namen mapXX_farmlands.xml.

    Dabei entspricht mapsXX eurer map.i3d.

    Lautet dieser beispielsweise, wie im Falle der Felsbrunn: mapDE.i3d dann wird daraus mapDE_farmlands.xml.

    (Ich bin mir aber nicht sicher, ob das nicht einfach der Übersicht während der Entwicklungszeit gedient hat.)

    xmli1eo0.png


    Öffnet man nun diese Datei, kann man dort die eben gepinselten farmlands eintragen, was wie folgt geschieht:


    Code
    1. <map>
    2. <farmlands densityMapFilename="maps/mapDE/mapDE_farmland.grle" numChannels="6" pricePerHa="60000">
    3. <farmland id="1" priceScale="1" npcName="NPC_DE_01" />
    4. </farmlands>
    5. </map>

    Tolles Geschwätz in der Datei, aber ich hab keinen Plan was das heißen soll...


    Immer mit der Ruhe. ;) Aufgeschlüsselt ergibt sich das folgende aus dem Code:
    densityMapFilename: Das ist die Datei, die dem Spiel sagt, wo welches farmland liegt.

    numChannels: Die Anzahl der maximal auswählbaren Bits.

    pricePerHa: Der Preis, den man für einen Hektar blechen darf. Duh. :D


    id: ist die zugehörige ID (hier zu Bit 0)

    priceScale: Multiplikator für pricePerHa

    npcName: Welchem NPC das Feld gehört.


    Bei 6 Channels kommt man aktuell auf 63 ID's. (Bits 0, 1, 2, 3, 4 und 5)


    Und wie gebe ich den Einsteigern nun einen Hof vor?


    Indem man in der jeweiligen <farmland id="X" priceScale="X" npcName="NPC_XX_XX" /> hinter dem npcName, jedoch vor /> folgendes einfügt:

    defaultFarmProperty="true"

    Das sieht dann so aus:

    <farmland id="X" priceScale="X" npcName="NPC_XX_XX" defaultFarmProperty="true" />


    Wichtig! Das letzgenannte gilt NUR für den einfachsten Schwierigkeitsgrad! In den anderen beiden muss man trotzdem die Grundstücke kaufen!



    Disclaimer: Wer Fehler findet, darf sie behalten :P

    Update: Im Giants Editor 8.1.0 Beta besteht die Möglichkeit die farmlands aufgrund ihrer ID's auszuwählen, wobei die passenden Bits automatisch ausgewählt werden.

  • Der Channel 0 entspricht der 1 im Binärsystem.

    Channel 1 ist die 2 im Binärsystem und so weiter.

    Channel 2 ist 4.

    Channel 3 ist 8

    Channel 4 ist 16.

    Channel 5 ist 32


    Will ich also beispielsweise Region 47 auf die Karte zeichnen, muss ich die Channels(Bits) 0, 1, 2, 3 und 5 mit einem Haken versehen.


    Die Rechnung ergibt sich dann wie folgt:

    1 + 2 + 4 + 8 + 32


    Edit: Rechnungsweg dem Hauptbeitrag hinzugefügt zur leichteren Verständlichkeit.

  • Wie oben beschrieben ist das neue System ab sofort Pflichtprogramm, deswegen hab ich mir ja die Mühe gemacht das ganze zu basteln.


    Einerseits, weil ich selbst keinen Bock habe ständig zu rechnen, andererseits, weil ich weiß, dass nicht jeder das Binärsystem kennt.


    Für den Mapbau an sich ist das erstmal zu vernachlässigen. Wenn du die Map aber später fertigstellen willst, muss du die farmlands einzeichnen, da führt kein Weg dran vorbei.

  • stellt mal den Windows-Taschenrechner um auf "Computer" oder so ähnlich (gibt neben Standard und wissenschaftlich noch ein anderes)

    Stellt dann auf "Dec" und gebt euren wert ein, stellt dann auf Binär und zack habt ihr die bits die aktiviert werden müssen (von rechts nach links).

    ...wandelt Kaffee in xml's um...


    Spezialisiert auf: Texturen, Ingaming, Animationen, Tutorials und Dinge an die noch keiner zuvor gedacht hat

  • Das geht natürlich auch, aber den ständig zu benutzen.. selbst dafür bin ich zu faul :D

    Bei Windows 7 wäre das "Programmierer".


    Edit dazu: Viele beachten auch nicht, dass bei dem Rechner die höchste Zahl vorne ist, während die niedrigste (also 1) hinten steht.

    Heißt, Giants schreibt 1 2 4 8 16 32, während im Rechner dann Stünde 32 16 8 4 2 1.

    Ich werde die Info aber bei Gelegenheit mit einfügen, daher Danke für den Denkanstoß.


    Edit: Anmerkung zum Guide: Immernoch gültig für 8.0.0 des Giants Editors. Der 8.1.0 hat die Option bekommen, die ID's direkt auszuwählen.

  • Hallo Lea


    keine Angst will keine frage stellen sondern einfach mal einen riesen Dank an dich sagen für deine mühe. Das ist eine super Erklärung da verstehen auch neulinge wie ich was man machen muß. Goßes Lob.:thumbup:

  • Erstmal Danke an Cat. ;)


    Dann zu dir, Rico:

    Ich glaube nicht, dass das Tool nicht funktioniert, werd's aber auch nicht ausprobieren (müssen), denn:

    Im GE 8.1 kann man, wie gesagt, nun direkt die ID's anwählen.


  • Erstmal Danke an Cat. ;)


    Dann zu dir, Rico:

    Ich glaube nicht, dass das Tool nicht funktioniert, werd's aber auch nicht ausprobieren (müssen), denn:

    Im GE 8.1 kann man, wie gesagt, nun direkt die ID's anwählen.

    so weit hab noch nicht nach gesehen :D





    MFG Zetor 6245
    wer Rechtschreibfehler findet darf sie behalten :ugly:

  • Manchmal hilft es auch, wenn man die Augen aufmacht. ;)


    die farmlands werden über den infoLayer gepinselt, genauso wie die tipCollisions.


    Wenn du also ein Video ansiehst zum Thema tipCollisions, dann musst du nur auf dem Dropdown den farmlands-Layer auswählen und alles weitere erklärt sich von selbst.

    a5325b1eb0d2bf8935517a6b88fee64ccdf84c3f.png


    der Layer Value ist die farmland ID.


    Da ich aktuell auch mehr mit meinem Trailer beschäftigt bin, werde ich keine Zeit haben irgendwelche Videos zu erstellen.

  • na wenn ich das richtig verstehe geht das so, ich Radiere die vorhanden Layer einfach weg und zeichne mir 63 neue Layer, entsprechend dem wie ich es gern hätte.

    Fange bei ID 1 an und so weiter Speicher die Map anschließend trage ich das so in die XML ein

  • na wenn ich das richtig verstehe geht das so, ich Radiere die vorhanden Layer einfach weg und zeichne mir 63 neue Layer, entsprechend dem wie ich es gern hätte.

    Fange bei ID 1 an und so weiter Speicher die Map anschließend trage ich das so in die XML ein

    :uglyspitze:


    Mit der Ausnahme, dass du a) nicht alle wegradieren musst

    und b) nicht alle 63 Layer verbrauchen musst.

    Beide Standard Maps haben in etwa 50-53 farmlands.

  • moin bei mir im Spiel werden Felder mit verschiedenen IDS als ein Feld erkannt kann mir jemand helfen habe euch Fotos davon gemacht

    Mlg johannes

  • Hi, kann mir vielleicht jemand verraten wie ich die Farbe, beim Layer zeichenen, ändern kann ?

    Egal welche LayerID ich bei Farmlands auswähle, es ist immer weiß .

    MfG Jigggi